Benchmarks 2024 11 21 TVM LLVM O3 spike_rv32_min - tum-ei-eda/muriscv-nn GitHub Wiki
Setup
Simulator
- Spike (
riscv-isa-sim
) (ISS, CPI=1)- Spike :
0bc176b3fca43560b9e8586cdbc41cfde073e17a
- Spike PK :
7e9b671c0415dfd7b562ac934feb9380075d4aa2
- Spike :
Toolchains
-
RISC-V GCC:
- Scalar:
riscv32-unknown-elf-gcc (gc891d8dc23e) 13.2.0
- Vector:
riscv32-unknown-elf-gcc (gc891d8dc23e) 13.2.0
- Packed: Self compiled using patches found in https://github.com/riscv-collab/riscv-gcc/pull/258 and https://github.com/riscvarchive/riscv-binutils-gdb/pull/257
- Scalar:
-
LLVM/Clang:
clang version 18.1.8 (https://github.com/llvm/llvm-project.git 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
- Linker: lld (TODO)
Models
-
MLPerfTiny Benchmark
-
TODO: others!
Frameworks
-
MLonMCU :
develop
-
TVM :
Nightly Pre-Build
Miscellaneous
- Used
-Os
flag for compilation. - Benchmarks generated using MLonMCU deployment tool with minimal efforts.
- Memory metrics are reported in Bytes
Results (Framework: tvm, Backend: tvmaot, Toolchain: llvm, Flags: -O3, Target: spike_rv32_min )
aww
)
Audio Wake Words (Cycles (Speedup) | Total ROM (rel.) | Total RAM (rel.) | VLEN | Layout | Kernels | Mode | Arch | Unroll | Auto-Vectorization |
---|---|---|---|---|---|---|---|---|---|
13500949 ( 1.1x ) |
167952 ( 1.366 ) |
59492 ( 3.098 ) |
0 | NCHW | TVM | Fallback | RV32IM | 0 | - |
21040776 ( 0.7x ) |
151204 ( 1.23 ) |
59492 ( 3.098 ) |
0 | NHWC | TVM | Fallback | RV32IM | 0 | - |
15427671 ( 1.0x ) |
173172 ( 1.408 ) |
59492 ( 3.098 ) |
128 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
15427917 ( 1.0x ) |
173172 ( 1.408 ) |
59492 ( 3.098 ) |
256 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
15432209 ( 1.0x ) |
173172 ( 1.408 ) |
59492 ( 3.098 ) |
512 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
15432165 ( 1.0x ) |
173172 ( 1.408 ) |
59492 ( 3.098 ) |
1024 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
15440508 ( 1.0x ) |
173172 ( 1.408 ) |
59492 ( 3.098 ) |
2048 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
15450675 ( 1.0x ) |
173172 ( 1.408 ) |
59492 ( 3.098 ) |
4096 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
3731182 ( 4.1x ) |
173564 ( 1.412 ) |
59492 ( 3.098 ) |
128 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
2281368 ( 6.7x ) |
173564 ( 1.412 ) |
59492 ( 3.098 ) |
256 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
1557241 ( 9.7x ) |
173564 ( 1.412 ) |
59492 ( 3.098 ) |
512 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
1704382 ( 8.9x ) |
173564 ( 1.412 ) |
59492 ( 3.098 ) |
1024 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
21473032 ( 0.7x ) |
173564 ( 1.412 ) |
59492 ( 3.098 ) |
2048 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
21476421 ( 0.7x ) |
173564 ( 1.412 ) |
59492 ( 3.098 ) |
4096 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
15180276 ( Base ) |
122964 ( Base ) |
19204 ( Base ) |
0 | NHWC | muRISCV-NN | Scalar | RV32IM | 0 | - |
14533689 ( 1.0x ) |
122600 ( 0.997 ) |
23668 ( 1.232 ) |
0 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM | 0 | - |
5721725 ( 2.7x ) |
130420 ( 1.061 ) |
19204 ( 1.0 ) |
128 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
5140982 ( 3.0x ) |
130420 ( 1.061 ) |
19204 ( 1.0 ) |
256 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
4848990 ( 3.1x ) |
130420 ( 1.061 ) |
19204 ( 1.0 ) |
512 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
4709772 ( 3.2x ) |
130420 ( 1.061 ) |
19204 ( 1.0 ) |
1024 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
13179086 ( 1.2x ) |
130420 ( 1.061 ) |
19204 ( 1.0 ) |
2048 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
13172308 ( 1.2x ) |
130420 ( 1.061 ) |
19204 ( 1.0 ) |
4096 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
5104594 ( 3.0x ) |
125064 ( 1.017 ) |
23668 ( 1.232 ) |
128 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
3970592 ( 3.8x ) |
125064 ( 1.017 ) |
23668 ( 1.232 ) |
256 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
3412322 ( 4.4x ) |
125064 ( 1.017 ) |
23668 ( 1.232 ) |
512 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
3371338 ( 4.5x ) |
125064 ( 1.017 ) |
23668 ( 1.232 ) |
1024 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
3374727 ( 4.5x ) |
125064 ( 1.017 ) |
23668 ( 1.232 ) |
2048 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
3378116 ( 4.5x ) |
125064 ( 1.017 ) |
23668 ( 1.232 ) |
4096 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
6496503 ( 2.3x ) |
131076 ( 1.066 ) |
23668 ( 1.232 ) |
128 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
5915760 ( 2.6x ) |
131076 ( 1.066 ) |
23668 ( 1.232 ) |
256 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
5623768 ( 2.7x ) |
131076 ( 1.066 ) |
23668 ( 1.232 ) |
512 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
5484550 ( 2.8x ) |
131076 ( 1.066 ) |
23668 ( 1.232 ) |
1024 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
13953864 ( 1.1x ) |
131076 ( 1.066 ) |
23668 ( 1.232 ) |
2048 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
13953864 ( 1.1x ) |
131076 ( 1.066 ) |
23668 ( 1.232 ) |
4096 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
resnet
)
Image Classification (Cycles (Speedup) | Total ROM (rel.) | Total RAM (rel.) | VLEN | Layout | Kernels | Mode | Arch | Unroll | Auto-Vectorization |
---|---|---|---|---|---|---|---|---|---|
61064862 ( 0.9x ) |
273812 ( 1.622 ) |
108404 ( 1.953 ) |
0 | NCHW | TVM | Fallback | RV32IM | 0 | - |
66654292 ( 0.8x ) |
263760 ( 1.563 ) |
108404 ( 1.953 ) |
0 | NHWC | TVM | Fallback | RV32IM | 0 | - |
113933313 ( 0.5x ) |
347592 ( 2.059 ) |
108404 ( 1.953 ) |
128 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
113940764 ( 0.5x ) |
347584 ( 2.059 ) |
108404 ( 1.953 ) |
256 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
114806667 ( 0.5x ) |
347592 ( 2.059 ) |
108404 ( 1.953 ) |
512 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
114816794 ( 0.5x ) |
347592 ( 2.059 ) |
108404 ( 1.953 ) |
1024 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
114834927 ( 0.5x ) |
347592 ( 2.059 ) |
108404 ( 1.953 ) |
2048 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
114868817 ( 0.5x ) |
347592 ( 2.059 ) |
108404 ( 1.953 ) |
4096 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
54563056 ( 1.0x ) |
266432 ( 1.578 ) |
108404 ( 1.953 ) |
128 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
51452493 ( 1.1x ) |
266428 ( 1.578 ) |
108404 ( 1.953 ) |
256 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
49976255 ( 1.1x ) |
266432 ( 1.578 ) |
108404 ( 1.953 ) |
512 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
74950821 ( 0.7x ) |
266428 ( 1.578 ) |
108404 ( 1.953 ) |
1024 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
91571281 ( 0.6x ) |
266432 ( 1.578 ) |
108404 ( 1.953 ) |
2048 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
91588224 ( 0.6x ) |
266424 ( 1.578 ) |
108404 ( 1.953 ) |
4096 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
56116898 ( Base ) |
168804 ( Base ) |
55508 ( Base ) |
0 | NHWC | muRISCV-NN | Scalar | RV32IM | 0 | - |
72279849 ( 0.8x ) |
168220 ( 0.997 ) |
55508 ( 1.0 ) |
0 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM | 0 | - |
11795213 ( 4.8x ) |
178016 ( 1.055 ) |
55508 ( 1.0 ) |
128 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
11322287 ( 5.0x ) |
178016 ( 1.055 ) |
55508 ( 1.0 ) |
256 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
14178290 ( 4.0x ) |
178016 ( 1.055 ) |
55508 ( 1.0 ) |
512 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
15668866 ( 3.6x ) |
178016 ( 1.055 ) |
55508 ( 1.0 ) |
1024 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
16346210 ( 3.4x ) |
178016 ( 1.055 ) |
55508 ( 1.0 ) |
2048 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
35559319 ( 1.6x ) |
178016 ( 1.055 ) |
55508 ( 1.0 ) |
4096 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
15161657 ( 3.7x ) |
171388 ( 1.015 ) |
55508 ( 1.0 ) |
128 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
9578909 ( 5.9x ) |
171388 ( 1.015 ) |
55508 ( 1.0 ) |
256 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
7033295 ( 8.0x ) |
171388 ( 1.015 ) |
55508 ( 1.0 ) |
512 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
5791279 ( 9.7x ) |
171388 ( 1.015 ) |
55508 ( 1.0 ) |
1024 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
4866460 ( 11.5x ) |
171388 ( 1.015 ) |
55508 ( 1.0 ) |
2048 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
4620785 ( 12.1x ) |
171388 ( 1.015 ) |
55508 ( 1.0 ) |
4096 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
17491228 ( 3.2x ) |
176964 ( 1.048 ) |
55508 ( 1.0 ) |
128 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
16459249 ( 3.4x ) |
176964 ( 1.048 ) |
55508 ( 1.0 ) |
256 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
17216837 ( 3.3x ) |
176964 ( 1.048 ) |
55508 ( 1.0 ) |
512 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
16933737 ( 3.3x ) |
176964 ( 1.048 ) |
55508 ( 1.0 ) |
1024 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
16466249 ( 3.4x ) |
176964 ( 1.048 ) |
55508 ( 1.0 ) |
2048 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
43249278 ( 1.3x ) |
176964 ( 1.048 ) |
55508 ( 1.0 ) |
4096 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
toycar
)
Anomaly Detection (Cycles (Speedup) | Total ROM (rel.) | Total RAM (rel.) | VLEN | Layout | Kernels | Mode | Arch | Unroll | Auto-Vectorization |
---|---|---|---|---|---|---|---|---|---|
1645154 ( 1.0x ) |
617748 ( 1.809 ) |
5540 ( 1.169 ) |
0 | NCHW | TVM | Fallback | RV32IM | 0 | - |
1645154 ( 1.0x ) |
617748 ( 1.809 ) |
5540 ( 1.169 ) |
0 | NHWC | TVM | Fallback | RV32IM | 0 | - |
838334 ( 2.0x ) |
618528 ( 1.811 ) |
5540 ( 1.169 ) |
128 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
779707 ( 2.2x ) |
618528 ( 1.811 ) |
5540 ( 1.169 ) |
256 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
760463 ( 2.3x ) |
618528 ( 1.811 ) |
5540 ( 1.169 ) |
512 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
746037 ( 2.3x ) |
618528 ( 1.811 ) |
5540 ( 1.169 ) |
1024 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
738824 ( 2.3x ) |
618528 ( 1.811 ) |
5540 ( 1.169 ) |
2048 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
1424627 ( 1.2x ) |
618528 ( 1.811 ) |
5540 ( 1.169 ) |
4096 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
838334 ( 2.0x ) |
618528 ( 1.811 ) |
5540 ( 1.169 ) |
128 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
779707 ( 2.2x ) |
618528 ( 1.811 ) |
5540 ( 1.169 ) |
256 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
760463 ( 2.3x ) |
618528 ( 1.811 ) |
5540 ( 1.169 ) |
512 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
746037 ( 2.3x ) |
618528 ( 1.811 ) |
5540 ( 1.169 ) |
1024 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
738824 ( 2.3x ) |
618528 ( 1.811 ) |
5540 ( 1.169 ) |
2048 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
1424627 ( 1.2x ) |
618528 ( 1.811 ) |
5540 ( 1.169 ) |
4096 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
1716804 ( Base ) |
341560 ( Base ) |
4740 ( Base ) |
0 | NHWC | muRISCV-NN | Scalar | RV32IM | 0 | - |
1716804 ( 1.0x ) |
341560 ( 1.0 ) |
4740 ( 1.0 ) |
0 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM | 0 | - |
579233 ( 3.0x ) |
342552 ( 1.003 ) |
4740 ( 1.0 ) |
128 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
493043 ( 3.5x ) |
342552 ( 1.003 ) |
4740 ( 1.0 ) |
256 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
447827 ( 3.8x ) |
342552 ( 1.003 ) |
4740 ( 1.0 ) |
512 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
425219 ( 4.0x ) |
342552 ( 1.003 ) |
4740 ( 1.0 ) |
1024 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
413915 ( 4.1x ) |
342552 ( 1.003 ) |
4740 ( 1.0 ) |
2048 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
1350577 ( 1.3x ) |
342552 ( 1.003 ) |
4740 ( 1.0 ) |
4096 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
614904 ( 2.8x ) |
342876 ( 1.004 ) |
4740 ( 1.0 ) |
128 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
498224 ( 3.4x ) |
342876 ( 1.004 ) |
4740 ( 1.0 ) |
256 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
439884 ( 3.9x ) |
342876 ( 1.004 ) |
4740 ( 1.0 ) |
512 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
411038 ( 4.2x ) |
342876 ( 1.004 ) |
4740 ( 1.0 ) |
1024 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
407407 ( 4.2x ) |
342876 ( 1.004 ) |
4740 ( 1.0 ) |
2048 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
405551 ( 4.2x ) |
342876 ( 1.004 ) |
4740 ( 1.0 ) |
4096 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
579233 ( 3.0x ) |
342552 ( 1.003 ) |
4740 ( 1.0 ) |
128 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
493043 ( 3.5x ) |
342552 ( 1.003 ) |
4740 ( 1.0 ) |
256 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
447827 ( 3.8x ) |
342552 ( 1.003 ) |
4740 ( 1.0 ) |
512 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
425219 ( 4.0x ) |
342552 ( 1.003 ) |
4740 ( 1.0 ) |
1024 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
413915 ( 4.1x ) |
342552 ( 1.003 ) |
4740 ( 1.0 ) |
2048 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
1350577 ( 1.3x ) |
342552 ( 1.003 ) |
4740 ( 1.0 ) |
4096 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
vww
)
Visual Wake Words (Cycles (Speedup) | Total ROM (rel.) | Total RAM (rel.) | VLEN | Layout | Kernels | Mode | Arch | Unroll | Auto-Vectorization |
---|---|---|---|---|---|---|---|---|---|
42156440 ( 1.1x ) |
661060 ( 1.847 ) |
181000 ( 2.113 ) |
0 | NCHW | TVM | Fallback | RV32IM | 0 | - |
55746660 ( 0.8x ) |
626504 ( 1.75 ) |
181000 ( 2.113 ) |
0 | NHWC | TVM | Fallback | RV32IM | 0 | - |
73545675 ( 0.6x ) |
828500 ( 2.315 ) |
181000 ( 2.113 ) |
128 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
74134043 ( 0.6x ) |
828500 ( 2.315 ) |
181000 ( 2.113 ) |
256 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
75739769 ( 0.6x ) |
828504 ( 2.315 ) |
181000 ( 2.113 ) |
512 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
75753325 ( 0.6x ) |
828504 ( 2.315 ) |
181000 ( 2.113 ) |
1024 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
75773658 ( 0.6x ) |
828500 ( 2.315 ) |
181000 ( 2.113 ) |
2048 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
75821105 ( 0.6x ) |
828504 ( 2.315 ) |
181000 ( 2.113 ) |
4096 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
12171597 ( 3.7x ) |
703580 ( 1.966 ) |
181000 ( 2.113 ) |
128 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
8713151 ( 5.2x ) |
703580 ( 1.966 ) |
181000 ( 2.113 ) |
256 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
10144805 ( 4.5x ) |
703560 ( 1.966 ) |
181000 ( 2.113 ) |
512 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
19304454 ( 2.3x ) |
703560 ( 1.966 ) |
181000 ( 2.113 ) |
1024 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
28294481 ( 1.6x ) |
703568 ( 1.966 ) |
181000 ( 2.113 ) |
2048 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
53191788 ( 0.9x ) |
703580 ( 1.966 ) |
181000 ( 2.113 ) |
4096 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
45236919 ( Base ) |
357924 ( Base ) |
85640 ( Base ) |
0 | NHWC | muRISCV-NN | Scalar | RV32IM | 0 | - |
44747699 ( 1.0x ) |
357756 ( 1.0 ) |
85640 ( 1.0 ) |
0 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM | 0 | - |
17563361 ( 2.6x ) |
365856 ( 1.022 ) |
85640 ( 1.0 ) |
128 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
17114821 ( 2.6x ) |
365856 ( 1.022 ) |
85640 ( 1.0 ) |
256 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
18296773 ( 2.5x ) |
365856 ( 1.022 ) |
85640 ( 1.0 ) |
512 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
21446487 ( 2.1x ) |
365856 ( 1.022 ) |
85640 ( 1.0 ) |
1024 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
24972933 ( 1.8x ) |
365856 ( 1.022 ) |
85640 ( 1.0 ) |
2048 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
38921909 ( 1.2x ) |
365856 ( 1.022 ) |
85640 ( 1.0 ) |
4096 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
13352946 ( 3.4x ) |
360696 ( 1.008 ) |
85640 ( 1.0 ) |
128 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
10031970 ( 4.5x ) |
360696 ( 1.008 ) |
85640 ( 1.0 ) |
256 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
8740554 ( 5.2x ) |
360696 ( 1.008 ) |
85640 ( 1.0 ) |
512 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
8236570 ( 5.5x ) |
360696 ( 1.008 ) |
85640 ( 1.0 ) |
1024 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
8192193 ( 5.5x ) |
360696 ( 1.008 ) |
85640 ( 1.0 ) |
2048 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
8195582 ( 5.5x ) |
360696 ( 1.008 ) |
85640 ( 1.0 ) |
4096 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
20335814 ( 2.2x ) |
366708 ( 1.025 ) |
85640 ( 1.0 ) |
128 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
20050570 ( 2.3x ) |
366704 ( 1.025 ) |
85640 ( 1.0 ) |
256 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
21561995 ( 2.1x ) |
366708 ( 1.025 ) |
85640 ( 1.0 ) |
512 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
24711709 ( 1.8x ) |
366708 ( 1.025 ) |
85640 ( 1.0 ) |
1024 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
28238154 ( 1.6x ) |
366704 ( 1.025 ) |
85640 ( 1.0 ) |
2048 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
42193909 ( 1.1x ) |
366708 ( 1.025 ) |
85640 ( 1.0 ) |
4096 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
Original data
Click here to download the raw files for this benchmark.