├── .gitignore ├── LICENSE ├── README.md ├── data ├── plt.py ├── result_0.png ├── result_1.png ├── result_2.png ├── result_3.png ├── result_4.png ├── result_5.png ├── result_6.png ├── result_7.png ├── result_8.png ├── result_9.png └── result_all.png ├── pics ├── GEMM.png ├── gemm_block.png ├── riscv.gif ├── roofline.png ├── step0.gif ├── step1.gif ├── step2.gif ├── step3.gif ├── step4.gif └── step5.gif ├── prepare ├── 0.hello_world │ ├── Makefile │ └── hello_world.c ├── 1.memory_copy │ ├── Makefile │ ├── main.c │ └── memcpy.S ├── 2.memcpy_bandwidth_test │ ├── Makefile │ └── mbw.c ├── 3.flw_bandwidth_test │ ├── Makefile │ ├── load_flw.S │ └── load_test.c ├── 4.vlw_bandwidth_test │ ├── Makefile │ ├── load_test.c │ └── load_vlw.S ├── 5.saxpy │ ├── Makefile │ ├── main.c │ └── saxpy.S ├── README.md └── imgs │ └── memory_bandwidth_test.png └── sgemm ├── common ├── bl_sgemm.h ├── bl_sgemm_ref.c ├── bl_sgemm_util.c ├── test_bl_sgemm.c ├── test_bl_sgemm_packB_4x16.c └── test_bl_sgemm_packB_4x4.c ├── step0 ├── Makefile └── my_sgemm.c ├── step1 ├── Makefile └── my_sgemm.c ├── step2 ├── Makefile ├── bl_config.h └── my_sgemm.c ├── step3 ├── Makefile ├── bl_config.h └── my_sgemm.c ├── step4 ├── Makefile ├── bl_config.h └── my_sgemm.c ├── step5 ├── Makefile ├── bl_config.h └── my_sgemm.c ├── step6 ├── Makefile ├── RvvSgemm4x16.S ├── bl_config.h ├── my_sgemm.c └── run.sh ├── step7 ├── Makefile ├── RvvSgemm4x16.S ├── bl_config.h ├── my_sgemm.c └── run.sh ├── step8 ├── Makefile ├── RvvSgemm4x16.S ├── bl_config.h ├── my_sgemm.c └── run.sh └── step9 ├── Makefile ├── RvvSgemm4x16.S ├── bl_config.h ├── my_sgemm.c └── run.sh /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/README.md -------------------------------------------------------------------------------- /data/plt.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/data/plt.py -------------------------------------------------------------------------------- /data/result_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/data/result_0.png -------------------------------------------------------------------------------- /data/result_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/data/result_1.png -------------------------------------------------------------------------------- /data/result_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/data/result_2.png -------------------------------------------------------------------------------- /data/result_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/data/result_3.png -------------------------------------------------------------------------------- /data/result_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/data/result_4.png -------------------------------------------------------------------------------- /data/result_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/data/result_5.png -------------------------------------------------------------------------------- /data/result_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/data/result_6.png -------------------------------------------------------------------------------- /data/result_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/data/result_7.png -------------------------------------------------------------------------------- /data/result_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/data/result_8.png -------------------------------------------------------------------------------- /data/result_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/data/result_9.png -------------------------------------------------------------------------------- /data/result_all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/data/result_all.png -------------------------------------------------------------------------------- /pics/GEMM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/pics/GEMM.png -------------------------------------------------------------------------------- /pics/gemm_block.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/pics/gemm_block.png -------------------------------------------------------------------------------- /pics/riscv.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/pics/riscv.gif -------------------------------------------------------------------------------- /pics/roofline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/pics/roofline.png -------------------------------------------------------------------------------- /pics/step0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/pics/step0.gif -------------------------------------------------------------------------------- /pics/step1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/pics/step1.gif -------------------------------------------------------------------------------- /pics/step2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/pics/step2.gif -------------------------------------------------------------------------------- /pics/step3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/pics/step3.gif -------------------------------------------------------------------------------- /pics/step4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/pics/step4.gif -------------------------------------------------------------------------------- /pics/step5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/pics/step5.gif -------------------------------------------------------------------------------- /prepare/0.hello_world/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/prepare/0.hello_world/Makefile -------------------------------------------------------------------------------- /prepare/0.hello_world/hello_world.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/prepare/0.hello_world/hello_world.c -------------------------------------------------------------------------------- /prepare/1.memory_copy/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/prepare/1.memory_copy/Makefile -------------------------------------------------------------------------------- /prepare/1.memory_copy/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/prepare/1.memory_copy/main.c -------------------------------------------------------------------------------- /prepare/1.memory_copy/memcpy.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/prepare/1.memory_copy/memcpy.S -------------------------------------------------------------------------------- /prepare/2.memcpy_bandwidth_test/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/prepare/2.memcpy_bandwidth_test/Makefile -------------------------------------------------------------------------------- /prepare/2.memcpy_bandwidth_test/mbw.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/prepare/2.memcpy_bandwidth_test/mbw.c -------------------------------------------------------------------------------- /prepare/3.flw_bandwidth_test/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/prepare/3.flw_bandwidth_test/Makefile -------------------------------------------------------------------------------- /prepare/3.flw_bandwidth_test/load_flw.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/prepare/3.flw_bandwidth_test/load_flw.S -------------------------------------------------------------------------------- /prepare/3.flw_bandwidth_test/load_test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/prepare/3.flw_bandwidth_test/load_test.c -------------------------------------------------------------------------------- /prepare/4.vlw_bandwidth_test/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/prepare/4.vlw_bandwidth_test/Makefile -------------------------------------------------------------------------------- /prepare/4.vlw_bandwidth_test/load_test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/prepare/4.vlw_bandwidth_test/load_test.c -------------------------------------------------------------------------------- /prepare/4.vlw_bandwidth_test/load_vlw.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/prepare/4.vlw_bandwidth_test/load_vlw.S -------------------------------------------------------------------------------- /prepare/5.saxpy/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/prepare/5.saxpy/Makefile -------------------------------------------------------------------------------- /prepare/5.saxpy/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/prepare/5.saxpy/main.c -------------------------------------------------------------------------------- /prepare/5.saxpy/saxpy.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/prepare/5.saxpy/saxpy.S -------------------------------------------------------------------------------- /prepare/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/prepare/README.md -------------------------------------------------------------------------------- /prepare/imgs/memory_bandwidth_test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/prepare/imgs/memory_bandwidth_test.png -------------------------------------------------------------------------------- /sgemm/common/bl_sgemm.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/common/bl_sgemm.h -------------------------------------------------------------------------------- /sgemm/common/bl_sgemm_ref.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/common/bl_sgemm_ref.c -------------------------------------------------------------------------------- /sgemm/common/bl_sgemm_util.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/common/bl_sgemm_util.c -------------------------------------------------------------------------------- /sgemm/common/test_bl_sgemm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/common/test_bl_sgemm.c -------------------------------------------------------------------------------- /sgemm/common/test_bl_sgemm_packB_4x16.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/common/test_bl_sgemm_packB_4x16.c -------------------------------------------------------------------------------- /sgemm/common/test_bl_sgemm_packB_4x4.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/common/test_bl_sgemm_packB_4x4.c -------------------------------------------------------------------------------- /sgemm/step0/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step0/Makefile -------------------------------------------------------------------------------- /sgemm/step0/my_sgemm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step0/my_sgemm.c -------------------------------------------------------------------------------- /sgemm/step1/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step1/Makefile -------------------------------------------------------------------------------- /sgemm/step1/my_sgemm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step1/my_sgemm.c -------------------------------------------------------------------------------- /sgemm/step2/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step2/Makefile -------------------------------------------------------------------------------- /sgemm/step2/bl_config.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step2/bl_config.h -------------------------------------------------------------------------------- /sgemm/step2/my_sgemm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step2/my_sgemm.c -------------------------------------------------------------------------------- /sgemm/step3/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step3/Makefile -------------------------------------------------------------------------------- /sgemm/step3/bl_config.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step3/bl_config.h -------------------------------------------------------------------------------- /sgemm/step3/my_sgemm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step3/my_sgemm.c -------------------------------------------------------------------------------- /sgemm/step4/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step4/Makefile -------------------------------------------------------------------------------- /sgemm/step4/bl_config.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step4/bl_config.h -------------------------------------------------------------------------------- /sgemm/step4/my_sgemm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step4/my_sgemm.c -------------------------------------------------------------------------------- /sgemm/step5/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step5/Makefile -------------------------------------------------------------------------------- /sgemm/step5/bl_config.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step5/bl_config.h -------------------------------------------------------------------------------- /sgemm/step5/my_sgemm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step5/my_sgemm.c -------------------------------------------------------------------------------- /sgemm/step6/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step6/Makefile -------------------------------------------------------------------------------- /sgemm/step6/RvvSgemm4x16.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step6/RvvSgemm4x16.S -------------------------------------------------------------------------------- /sgemm/step6/bl_config.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step6/bl_config.h -------------------------------------------------------------------------------- /sgemm/step6/my_sgemm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step6/my_sgemm.c -------------------------------------------------------------------------------- /sgemm/step6/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step6/run.sh -------------------------------------------------------------------------------- /sgemm/step7/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step7/Makefile -------------------------------------------------------------------------------- /sgemm/step7/RvvSgemm4x16.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step7/RvvSgemm4x16.S -------------------------------------------------------------------------------- /sgemm/step7/bl_config.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step7/bl_config.h -------------------------------------------------------------------------------- /sgemm/step7/my_sgemm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step7/my_sgemm.c -------------------------------------------------------------------------------- /sgemm/step7/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step7/run.sh -------------------------------------------------------------------------------- /sgemm/step8/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step8/Makefile -------------------------------------------------------------------------------- /sgemm/step8/RvvSgemm4x16.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step8/RvvSgemm4x16.S -------------------------------------------------------------------------------- /sgemm/step8/bl_config.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step8/bl_config.h -------------------------------------------------------------------------------- /sgemm/step8/my_sgemm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step8/my_sgemm.c -------------------------------------------------------------------------------- /sgemm/step8/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step8/run.sh -------------------------------------------------------------------------------- /sgemm/step9/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step9/Makefile -------------------------------------------------------------------------------- /sgemm/step9/RvvSgemm4x16.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step9/RvvSgemm4x16.S -------------------------------------------------------------------------------- /sgemm/step9/bl_config.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step9/bl_config.h -------------------------------------------------------------------------------- /sgemm/step9/my_sgemm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step9/my_sgemm.c -------------------------------------------------------------------------------- /sgemm/step9/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zhao-Dongyu/sgemm_riscv/HEAD/sgemm/step9/run.sh --------------------------------------------------------------------------------