Benchmarks 2024 11 21 TVM GCC Os 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:
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: gcc, Flags: -Os, Target: spike_rv32_min )
aww
)
Audio Wake Words (Cycles (Speedup) | Total ROM (rel.) | Total RAM (rel.) | VLEN | Layout | Kernels | Mode | Arch | Unroll | Auto-Vectorization |
---|---|---|---|---|---|---|---|---|---|
31578427 ( 0.5x ) |
141052 ( 1.231 ) |
59524 ( 3.098 ) |
0 | NCHW | TVM | Fallback | RV32IM | 0 | - |
29620671 ( 0.6x ) |
133348 ( 1.163 ) |
59524 ( 3.098 ) |
0 | NHWC | TVM | Fallback | RV32IM | 0 | - |
31571223 ( 0.5x ) |
141028 ( 1.23 ) |
59524 ( 3.098 ) |
128 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
31571223 ( 0.5x ) |
141028 ( 1.23 ) |
59524 ( 3.098 ) |
256 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
31571223 ( 0.5x ) |
141028 ( 1.23 ) |
59524 ( 3.098 ) |
512 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
31571223 ( 0.5x ) |
141028 ( 1.23 ) |
59524 ( 3.098 ) |
1024 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
31571223 ( 0.5x ) |
141028 ( 1.23 ) |
59524 ( 3.098 ) |
2048 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
31571223 ( 0.5x ) |
141028 ( 1.23 ) |
59524 ( 3.098 ) |
4096 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
29620667 ( 0.6x ) |
133348 ( 1.163 ) |
59524 ( 3.098 ) |
128 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
29620667 ( 0.6x ) |
133348 ( 1.163 ) |
59524 ( 3.098 ) |
256 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
29620667 ( 0.6x ) |
133348 ( 1.163 ) |
59524 ( 3.098 ) |
512 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
29620667 ( 0.6x ) |
133348 ( 1.163 ) |
59524 ( 3.098 ) |
1024 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
29620667 ( 0.6x ) |
133348 ( 1.163 ) |
59524 ( 3.098 ) |
2048 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
29620667 ( 0.6x ) |
133348 ( 1.163 ) |
59524 ( 3.098 ) |
4096 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
16869733 ( Base ) |
114612 ( Base ) |
19212 ( Base ) |
0 | NHWC | muRISCV-NN | Scalar | RV32IM | 0 | - |
16734971 ( 1.0x ) |
114252 ( 0.997 ) |
23676 ( 1.232 ) |
0 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM | 0 | - |
16869733 ( 1.0x ) |
114612 ( 1.0 ) |
19212 ( 1.0 ) |
128 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
16869733 ( 1.0x ) |
114612 ( 1.0 ) |
19212 ( 1.0 ) |
256 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
16869733 ( 1.0x ) |
114612 ( 1.0 ) |
19212 ( 1.0 ) |
512 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
16869733 ( 1.0x ) |
114612 ( 1.0 ) |
19212 ( 1.0 ) |
1024 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
16869733 ( 1.0x ) |
114612 ( 1.0 ) |
19212 ( 1.0 ) |
2048 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
16869733 ( 1.0x ) |
114612 ( 1.0 ) |
19212 ( 1.0 ) |
4096 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
5991664 ( 2.8x ) |
116304 ( 1.015 ) |
23676 ( 1.232 ) |
128 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
4846552 ( 3.5x ) |
116304 ( 1.015 ) |
23676 ( 1.232 ) |
256 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
4278888 ( 3.9x ) |
116304 ( 1.015 ) |
23676 ( 1.232 ) |
512 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
4237176 ( 4.0x ) |
116304 ( 1.015 ) |
23676 ( 1.232 ) |
1024 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
4237176 ( 4.0x ) |
116304 ( 1.015 ) |
23676 ( 1.232 ) |
2048 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
4240565 ( 4.0x ) |
116304 ( 1.015 ) |
23676 ( 1.232 ) |
4096 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
16734971 ( 1.0x ) |
114252 ( 0.997 ) |
23676 ( 1.232 ) |
128 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
16734971 ( 1.0x ) |
114252 ( 0.997 ) |
23676 ( 1.232 ) |
256 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
16734971 ( 1.0x ) |
114252 ( 0.997 ) |
23676 ( 1.232 ) |
512 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
16734971 ( 1.0x ) |
114252 ( 0.997 ) |
23676 ( 1.232 ) |
1024 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
16734971 ( 1.0x ) |
114252 ( 0.997 ) |
23676 ( 1.232 ) |
2048 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
16734971 ( 1.0x ) |
114252 ( 0.997 ) |
23676 ( 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 |
---|---|---|---|---|---|---|---|---|---|
132050728 ( 0.6x ) |
251176 ( 1.54 ) |
108436 ( 1.953 ) |
0 | NCHW | TVM | Fallback | RV32IM | 0 | - |
115793665 ( 0.7x ) |
239388 ( 1.468 ) |
108436 ( 1.953 ) |
0 | NHWC | TVM | Fallback | RV32IM | 0 | - |
132184098 ( 0.6x ) |
251152 ( 1.54 ) |
108436 ( 1.953 ) |
128 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
132184098 ( 0.6x ) |
251152 ( 1.54 ) |
108436 ( 1.953 ) |
256 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
132184098 ( 0.6x ) |
251152 ( 1.54 ) |
108436 ( 1.953 ) |
512 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
132184098 ( 0.6x ) |
251152 ( 1.54 ) |
108436 ( 1.953 ) |
1024 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
132184098 ( 0.6x ) |
251152 ( 1.54 ) |
108436 ( 1.953 ) |
2048 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
132184098 ( 0.6x ) |
251152 ( 1.54 ) |
108436 ( 1.953 ) |
4096 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
115793659 ( 0.7x ) |
239388 ( 1.468 ) |
108436 ( 1.953 ) |
128 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
115793659 ( 0.7x ) |
239388 ( 1.468 ) |
108436 ( 1.953 ) |
256 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
115793659 ( 0.7x ) |
239388 ( 1.468 ) |
108436 ( 1.953 ) |
512 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
115793659 ( 0.7x ) |
239388 ( 1.468 ) |
108436 ( 1.953 ) |
1024 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
115793659 ( 0.7x ) |
239388 ( 1.468 ) |
108436 ( 1.953 ) |
2048 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
115793659 ( 0.7x ) |
239388 ( 1.468 ) |
108436 ( 1.953 ) |
4096 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
81019100 ( Base ) |
163124 ( Base ) |
55516 ( Base ) |
0 | NHWC | muRISCV-NN | Scalar | RV32IM | 0 | - |
78476567 ( 1.0x ) |
162692 ( 0.997 ) |
55516 ( 1.0 ) |
0 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM | 0 | - |
81019100 ( 1.0x ) |
163124 ( 1.0 ) |
55516 ( 1.0 ) |
128 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
81019100 ( 1.0x ) |
163124 ( 1.0 ) |
55516 ( 1.0 ) |
256 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
81019100 ( 1.0x ) |
163124 ( 1.0 ) |
55516 ( 1.0 ) |
512 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
81019100 ( 1.0x ) |
163124 ( 1.0 ) |
55516 ( 1.0 ) |
1024 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
81019100 ( 1.0x ) |
163124 ( 1.0 ) |
55516 ( 1.0 ) |
2048 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
81019100 ( 1.0x ) |
163124 ( 1.0 ) |
55516 ( 1.0 ) |
4096 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
15502385 ( 5.2x ) |
165384 ( 1.014 ) |
55516 ( 1.0 ) |
128 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
9815377 ( 8.3x ) |
165384 ( 1.014 ) |
55516 ( 1.0 ) |
256 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
7221729 ( 11.2x ) |
165384 ( 1.014 ) |
55516 ( 1.0 ) |
512 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
5956209 ( 13.6x ) |
165384 ( 1.014 ) |
55516 ( 1.0 ) |
1024 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
5014518 ( 16.2x ) |
165384 ( 1.014 ) |
55516 ( 1.0 ) |
2048 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
4763991 ( 17.0x ) |
165384 ( 1.014 ) |
55516 ( 1.0 ) |
4096 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
78476567 ( 1.0x ) |
162692 ( 0.997 ) |
55516 ( 1.0 ) |
128 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
78476567 ( 1.0x ) |
162692 ( 0.997 ) |
55516 ( 1.0 ) |
256 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
78476567 ( 1.0x ) |
162692 ( 0.997 ) |
55516 ( 1.0 ) |
512 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
78476567 ( 1.0x ) |
162692 ( 0.997 ) |
55516 ( 1.0 ) |
1024 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
78476567 ( 1.0x ) |
162692 ( 0.997 ) |
55516 ( 1.0 ) |
2048 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
78476567 ( 1.0x ) |
162692 ( 0.997 ) |
55516 ( 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 |
---|---|---|---|---|---|---|---|---|---|
3230152 ( 0.6x ) |
605364 ( 1.777 ) |
5548 ( 1.168 ) |
0 | NCHW | TVM | Fallback | RV32IM | 0 | - |
3230152 ( 0.6x ) |
605364 ( 1.777 ) |
5548 ( 1.168 ) |
0 | NHWC | TVM | Fallback | RV32IM | 0 | - |
3230152 ( 0.6x ) |
605364 ( 1.777 ) |
5548 ( 1.168 ) |
128 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
3230152 ( 0.6x ) |
605364 ( 1.777 ) |
5548 ( 1.168 ) |
256 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
3230152 ( 0.6x ) |
605364 ( 1.777 ) |
5548 ( 1.168 ) |
512 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
3230152 ( 0.6x ) |
605364 ( 1.777 ) |
5548 ( 1.168 ) |
1024 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
3230152 ( 0.6x ) |
605364 ( 1.777 ) |
5548 ( 1.168 ) |
2048 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
3230152 ( 0.6x ) |
605364 ( 1.777 ) |
5548 ( 1.168 ) |
4096 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
3230152 ( 0.6x ) |
605364 ( 1.777 ) |
5548 ( 1.168 ) |
128 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
3230152 ( 0.6x ) |
605364 ( 1.777 ) |
5548 ( 1.168 ) |
256 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
3230152 ( 0.6x ) |
605364 ( 1.777 ) |
5548 ( 1.168 ) |
512 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
3230152 ( 0.6x ) |
605364 ( 1.777 ) |
5548 ( 1.168 ) |
1024 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
3230152 ( 0.6x ) |
605364 ( 1.777 ) |
5548 ( 1.168 ) |
2048 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
3230152 ( 0.6x ) |
605364 ( 1.777 ) |
5548 ( 1.168 ) |
4096 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
1820395 ( Base ) |
340692 ( Base ) |
4748 ( Base ) |
0 | NHWC | muRISCV-NN | Scalar | RV32IM | 0 | - |
1820395 ( 1.0x ) |
340692 ( 1.0 ) |
4748 ( 1.0 ) |
0 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM | 0 | - |
1820395 ( 1.0x ) |
340692 ( 1.0 ) |
4748 ( 1.0 ) |
128 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
1820395 ( 1.0x ) |
340692 ( 1.0 ) |
4748 ( 1.0 ) |
256 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
1820395 ( 1.0x ) |
340692 ( 1.0 ) |
4748 ( 1.0 ) |
512 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
1820395 ( 1.0x ) |
340692 ( 1.0 ) |
4748 ( 1.0 ) |
1024 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
1820395 ( 1.0x ) |
340692 ( 1.0 ) |
4748 ( 1.0 ) |
2048 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
1820393 ( 1.0x ) |
340684 ( 1.0 ) |
4748 ( 1.0 ) |
4096 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
632700 ( 2.9x ) |
341876 ( 1.003 ) |
4748 ( 1.0 ) |
128 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
514332 ( 3.5x ) |
341876 ( 1.003 ) |
4748 ( 1.0 ) |
256 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
455148 ( 4.0x ) |
341876 ( 1.003 ) |
4748 ( 1.0 ) |
512 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
425894 ( 4.3x ) |
341884 ( 1.003 ) |
4748 ( 1.0 ) |
1024 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
422208 ( 4.3x ) |
341876 ( 1.003 ) |
4748 ( 1.0 ) |
2048 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
420324 ( 4.3x ) |
341876 ( 1.003 ) |
4748 ( 1.0 ) |
4096 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
1820395 ( 1.0x ) |
340692 ( 1.0 ) |
4748 ( 1.0 ) |
128 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
1820395 ( 1.0x ) |
340692 ( 1.0 ) |
4748 ( 1.0 ) |
256 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
1820395 ( 1.0x ) |
340692 ( 1.0 ) |
4748 ( 1.0 ) |
512 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
1820395 ( 1.0x ) |
340692 ( 1.0 ) |
4748 ( 1.0 ) |
1024 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
1820395 ( 1.0x ) |
340692 ( 1.0 ) |
4748 ( 1.0 ) |
2048 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
1820395 ( 1.0x ) |
340692 ( 1.0 ) |
4748 ( 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 |
---|---|---|---|---|---|---|---|---|---|
91803400 ( 0.5x ) |
582856 ( 1.664 ) |
181032 ( 2.114 ) |
0 | NCHW | TVM | Fallback | RV32IM | 0 | - |
86095762 ( 0.6x ) |
555860 ( 1.587 ) |
181032 ( 2.114 ) |
0 | NHWC | TVM | Fallback | RV32IM | 0 | - |
91800136 ( 0.5x ) |
582772 ( 1.664 ) |
181032 ( 2.114 ) |
128 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
91800136 ( 0.5x ) |
582772 ( 1.664 ) |
181032 ( 2.114 ) |
256 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
91800136 ( 0.5x ) |
582772 ( 1.664 ) |
181032 ( 2.114 ) |
512 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
91800136 ( 0.5x ) |
582772 ( 1.664 ) |
181032 ( 2.114 ) |
1024 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
91800136 ( 0.5x ) |
582772 ( 1.664 ) |
181032 ( 2.114 ) |
2048 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
91800136 ( 0.5x ) |
582772 ( 1.664 ) |
181032 ( 2.114 ) |
4096 | NCHW | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
86095762 ( 0.6x ) |
555860 ( 1.587 ) |
181032 ( 2.114 ) |
128 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
86095762 ( 0.6x ) |
555860 ( 1.587 ) |
181032 ( 2.114 ) |
256 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
86095762 ( 0.6x ) |
555860 ( 1.587 ) |
181032 ( 2.114 ) |
512 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
86095762 ( 0.6x ) |
555860 ( 1.587 ) |
181032 ( 2.114 ) |
1024 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
86095762 ( 0.6x ) |
555860 ( 1.587 ) |
181032 ( 2.114 ) |
2048 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
86095762 ( 0.6x ) |
555860 ( 1.587 ) |
181032 ( 2.114 ) |
4096 | NHWC | TVM | Fallback | RV32IM_ZVE64X | 0 | Loop+SLP |
49817255 ( Base ) |
350212 ( Base ) |
85648 ( Base ) |
0 | NHWC | muRISCV-NN | Scalar | RV32IM | 0 | - |
50419125 ( 1.0x ) |
350320 ( 1.0 ) |
85648 ( 1.0 ) |
0 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM | 0 | - |
49817255 ( 1.0x ) |
350212 ( 1.0 ) |
85648 ( 1.0 ) |
128 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
49817255 ( 1.0x ) |
350212 ( 1.0 ) |
85648 ( 1.0 ) |
256 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
49817255 ( 1.0x ) |
350212 ( 1.0 ) |
85648 ( 1.0 ) |
512 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
49817255 ( 1.0x ) |
350212 ( 1.0 ) |
85648 ( 1.0 ) |
1024 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
49817255 ( 1.0x ) |
350212 ( 1.0 ) |
85648 ( 1.0 ) |
2048 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
49817255 ( 1.0x ) |
350212 ( 1.0 ) |
85648 ( 1.0 ) |
4096 | NHWC | muRISCV-NN | Scalar | RV32IM_ZVE64X | 0 | Loop+SLP |
13613532 ( 3.7x ) |
352372 ( 1.006 ) |
85648 ( 1.0 ) |
128 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
10284904 ( 4.8x ) |
352372 ( 1.006 ) |
85648 ( 1.0 ) |
256 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
8995782 ( 5.5x ) |
352372 ( 1.006 ) |
85648 ( 1.0 ) |
512 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
8491283 ( 5.9x ) |
352372 ( 1.006 ) |
85648 ( 1.0 ) |
1024 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
8442669 ( 5.9x ) |
352372 ( 1.006 ) |
85648 ( 1.0 ) |
2048 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
8446058 ( 5.9x ) |
352372 ( 1.006 ) |
85648 ( 1.0 ) |
4096 | NHWC | muRISCV-NN | Vector | RV32IM_ZVE64X | 0 | - |
50419125 ( 1.0x ) |
350320 ( 1.0 ) |
85648 ( 1.0 ) |
128 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
50419125 ( 1.0x ) |
350320 ( 1.0 ) |
85648 ( 1.0 ) |
256 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
50419125 ( 1.0x ) |
350320 ( 1.0 ) |
85648 ( 1.0 ) |
512 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
50419125 ( 1.0x ) |
350320 ( 1.0 ) |
85648 ( 1.0 ) |
1024 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
50419125 ( 1.0x ) |
350320 ( 1.0 ) |
85648 ( 1.0 ) |
2048 | NHWC | muRISCV-NN | Vector (Portable) | RV32IM_ZVE64X | 0 | Loop+SLP |
50419125 ( 1.0x ) |
350320 ( 1.0 ) |
85648 ( 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.