Skip to content

Benchmarks 2024 11 18 TVM GCC Os spike_rv64

GitHub Action edited this page Nov 18, 2024 · 4 revisions

Setup

Simulator

  • Spike (riscv-isa-sim ) (ISS, CPI=1)
    • Spike : 0bc176b3fca43560b9e8586cdbc41cfde073e17a
    • Spike PK : 7e9b671c0415dfd7b562ac934feb9380075d4aa2

Toolchains

Models

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_rv64 )

Audio Wake Words (aww)

Cycles (Speedup) Total ROM (rel.) Total RAM (rel.) VLEN Layout Kernels Mode Arch Unroll Auto-Vectorization
28220550
( 0.7x )
102062
( 1.27 )
61320
( 2.91 )
0 NCHW TVM Fallback RV64GC 0 -
31795178
( 0.6x )
96008
( 1.195 )
61320
( 2.91 )
0 NHWC TVM Fallback RV64GC 0 -
28253904
( 0.7x )
102100
( 1.27 )
61320
( 2.91 )
128 NCHW TVM Fallback RV64GCV 0 Loop+SLP
28253904
( 0.7x )
102100
( 1.27 )
61320
( 2.91 )
256 NCHW TVM Fallback RV64GCV 0 Loop+SLP
28253904
( 0.7x )
102100
( 1.27 )
61320
( 2.91 )
512 NCHW TVM Fallback RV64GCV 0 Loop+SLP
28253904
( 0.7x )
102100
( 1.27 )
61320
( 2.91 )
1024 NCHW TVM Fallback RV64GCV 0 Loop+SLP
28253904
( 0.7x )
102100
( 1.27 )
61320
( 2.91 )
2048 NCHW TVM Fallback RV64GCV 0 Loop+SLP
28253904
( 0.7x )
102100
( 1.27 )
61320
( 2.91 )
4096 NCHW TVM Fallback RV64GCV 0 Loop+SLP
31795174
( 0.6x )
96008
( 1.195 )
61320
( 2.91 )
128 NHWC TVM Fallback RV64GCV 0 Loop+SLP
31795174
( 0.6x )
96008
( 1.195 )
61320
( 2.91 )
256 NHWC TVM Fallback RV64GCV 0 Loop+SLP
31795174
( 0.6x )
96008
( 1.195 )
61320
( 2.91 )
512 NHWC TVM Fallback RV64GCV 0 Loop+SLP
31795174
( 0.6x )
96008
( 1.195 )
61320
( 2.91 )
1024 NHWC TVM Fallback RV64GCV 0 Loop+SLP
31795174
( 0.6x )
96008
( 1.195 )
61320
( 2.91 )
2048 NHWC TVM Fallback RV64GCV 0 Loop+SLP
31795174
( 0.6x )
96008
( 1.195 )
61320
( 2.91 )
4096 NHWC TVM Fallback RV64GCV 0 Loop+SLP
18616405
( Base )
80374
( Base )
21072
( Base )
0 NHWC muRISCV-NN Scalar RV64GC 0 -
18616405
( 1.0x )
80376
( 1.0 )
21072
( 1.0 )
128 NHWC muRISCV-NN Scalar RV64GCV 0 Loop+SLP
18616405
( 1.0x )
80376
( 1.0 )
21072
( 1.0 )
256 NHWC muRISCV-NN Scalar RV64GCV 0 Loop+SLP
18616405
( 1.0x )
80376
( 1.0 )
21072
( 1.0 )
512 NHWC muRISCV-NN Scalar RV64GCV 0 Loop+SLP
18616405
( 1.0x )
80376
( 1.0 )
21072
( 1.0 )
1024 NHWC muRISCV-NN Scalar RV64GCV 0 Loop+SLP
18616405
( 1.0x )
80376
( 1.0 )
21072
( 1.0 )
2048 NHWC muRISCV-NN Scalar RV64GCV 0 Loop+SLP
18616405
( 1.0x )
80376
( 1.0 )
21072
( 1.0 )
4096 NHWC muRISCV-NN Scalar RV64GCV 0 Loop+SLP
5960196
( 3.1x )
81780
( 1.017 )
25536
( 1.212 )
128 NHWC muRISCV-NN Vector RV64GCV 0 -
4812620
( 3.9x )
81780
( 1.017 )
25536
( 1.212 )
256 NHWC muRISCV-NN Vector RV64GCV 0 -
4243724
( 4.4x )
81780
( 1.017 )
25536
( 1.212 )
512 NHWC muRISCV-NN Vector RV64GCV 0 -
4201396
( 4.4x )
81780
( 1.017 )
25536
( 1.212 )
1024 NHWC muRISCV-NN Vector RV64GCV 0 -
4203261
( 4.4x )
81780
( 1.017 )
25536
( 1.212 )
2048 NHWC muRISCV-NN Vector RV64GCV 0 -
4203261
( 4.4x )
81780
( 1.017 )
25536
( 1.212 )
4096 NHWC muRISCV-NN Vector RV64GCV 0 -

Image Classification (resnet)

Cycles (Speedup) Total ROM (rel.) Total RAM (rel.) VLEN Layout Kernels Mode Arch Unroll Auto-Vectorization
130956119
( 0.7x )
211422
( 1.642 )
110232
( 1.921 )
0 NCHW TVM Fallback RV64GC 0 -
129273011
( 0.7x )
202038
( 1.569 )
110232
( 1.921 )
0 NHWC TVM Fallback RV64GC 0 -
130928720
( 0.7x )
211412
( 1.642 )
110232
( 1.921 )
128 NCHW TVM Fallback RV64GCV 0 Loop+SLP
130928720
( 0.7x )
211414
( 1.642 )
110232
( 1.921 )
256 NCHW TVM Fallback RV64GCV 0 Loop+SLP
130928720
( 0.7x )
211414
( 1.642 )
110232
( 1.921 )
512 NCHW TVM Fallback RV64GCV 0 Loop+SLP
130928720
( 0.7x )
211414
( 1.642 )
110232
( 1.921 )
1024 NCHW TVM Fallback RV64GCV 0 Loop+SLP
130928720
( 0.7x )
211412
( 1.642 )
110232
( 1.921 )
2048 NCHW TVM Fallback RV64GCV 0 Loop+SLP
130928720
( 0.7x )
211412
( 1.642 )
110232
( 1.921 )
4096 NCHW TVM Fallback RV64GCV 0 Loop+SLP
129273005
( 0.7x )
202040
( 1.569 )
110232
( 1.921 )
128 NHWC TVM Fallback RV64GCV 0 Loop+SLP
129273005
( 0.7x )
202038
( 1.569 )
110232
( 1.921 )
256 NHWC TVM Fallback RV64GCV 0 Loop+SLP
129273005
( 0.7x )
202036
( 1.569 )
110232
( 1.921 )
512 NHWC TVM Fallback RV64GCV 0 Loop+SLP
129273005
( 0.7x )
202038
( 1.569 )
110232
( 1.921 )
1024 NHWC TVM Fallback RV64GCV 0 Loop+SLP
129273005
( 0.7x )
202038
( 1.569 )
110232
( 1.921 )
2048 NHWC TVM Fallback RV64GCV 0 Loop+SLP
129273005
( 0.7x )
202038
( 1.569 )
110232
( 1.921 )
4096 NHWC TVM Fallback RV64GCV 0 Loop+SLP
88726729
( Base )
128788
( Base )
57376
( Base )
0 NHWC muRISCV-NN Scalar RV64GC 0 -
88726729
( 1.0x )
128788
( 1.0 )
57376
( 1.0 )
128 NHWC muRISCV-NN Scalar RV64GCV 0 Loop+SLP
88726729
( 1.0x )
128788
( 1.0 )
57376
( 1.0 )
256 NHWC muRISCV-NN Scalar RV64GCV 0 Loop+SLP
88726729
( 1.0x )
128788
( 1.0 )
57376
( 1.0 )
512 NHWC muRISCV-NN Scalar RV64GCV 0 Loop+SLP
88726729
( 1.0x )
128788
( 1.0 )
57376
( 1.0 )
1024 NHWC muRISCV-NN Scalar RV64GCV 0 Loop+SLP
88726729
( 1.0x )
128788
( 1.0 )
57376
( 1.0 )
2048 NHWC muRISCV-NN Scalar RV64GCV 0 Loop+SLP
88726729
( 1.0x )
128788
( 1.0 )
57376
( 1.0 )
4096 NHWC muRISCV-NN Scalar RV64GCV 0 Loop+SLP
15643673
( 5.7x )
130692
( 1.015 )
57376
( 1.0 )
128 NHWC muRISCV-NN Vector RV64GCV 0 -
9962489
( 8.9x )
130692
( 1.015 )
57376
( 1.0 )
256 NHWC muRISCV-NN Vector RV64GCV 0 -
7371753
( 12.0x )
130692
( 1.015 )
57376
( 1.0 )
512 NHWC muRISCV-NN Vector RV64GCV 0 -
6107689
( 14.5x )
130692
( 1.015 )
57376
( 1.0 )
1024 NHWC muRISCV-NN Vector RV64GCV 0 -
5165202
( 17.2x )
130692
( 1.015 )
57376
( 1.0 )
2048 NHWC muRISCV-NN Vector RV64GCV 0 -
4913515
( 18.1x )
130692
( 1.015 )
57376
( 1.0 )
4096 NHWC muRISCV-NN Vector RV64GCV 0 -

Anomaly Detection (toycar)

Cycles (Speedup) Total ROM (rel.) Total RAM (rel.) VLEN Layout Kernels Mode Arch Unroll Auto-Vectorization
3127410
( 0.6x )
574402
( 1.858 )
7408
( 1.121 )
0 NCHW TVM Fallback RV64GC 0 -
3127410
( 0.6x )
574402
( 1.858 )
7408
( 1.121 )
0 NHWC TVM Fallback RV64GC 0 -
3127410
( 0.6x )
574406
( 1.858 )
7408
( 1.121 )
128 NCHW TVM Fallback RV64GCV 0 Loop+SLP
3127410
( 0.6x )
574406
( 1.858 )
7408
( 1.121 )
256 NCHW TVM Fallback RV64GCV 0 Loop+SLP
3127410
( 0.6x )
574406
( 1.858 )
7408
( 1.121 )
512 NCHW TVM Fallback RV64GCV 0 Loop+SLP
3127410
( 0.6x )
574406
( 1.858 )
7408
( 1.121 )
1024 NCHW TVM Fallback RV64GCV 0 Loop+SLP
3127410
( 0.6x )
574406
( 1.858 )
7408
( 1.121 )
2048 NCHW TVM Fallback RV64GCV 0 Loop+SLP
3127410
( 0.6x )
574406
( 1.858 )
7408
( 1.121 )
4096 NCHW TVM Fallback RV64GCV 0 Loop+SLP
3127410
( 0.6x )
574406
( 1.858 )
7408
( 1.121 )
128 NHWC TVM Fallback RV64GCV 0 Loop+SLP
3127410
( 0.6x )
574406
( 1.858 )
7408
( 1.121 )
256 NHWC TVM Fallback RV64GCV 0 Loop+SLP
3127410
( 0.6x )
574406
( 1.858 )
7408
( 1.121 )
512 NHWC TVM Fallback RV64GCV 0 Loop+SLP
3127410
( 0.6x )
574406
( 1.858 )
7408
( 1.121 )
1024 NHWC TVM Fallback RV64GCV 0 Loop+SLP
3127410
( 0.6x )
574406
( 1.858 )
7408
( 1.121 )
2048 NHWC TVM Fallback RV64GCV 0 Loop+SLP
3127410
( 0.6x )
574406
( 1.858 )
7408
( 1.121 )
4096 NHWC TVM Fallback RV64GCV 0 Loop+SLP
1995049
( Base )
309174
( Base )
6608
( Base )
0 NHWC muRISCV-NN Scalar RV64GC 0 -
1995049
( 1.0x )
309174
( 1.0 )
6608
( 1.0 )
128 NHWC muRISCV-NN Scalar RV64GCV 0 Loop+SLP
1995049
( 1.0x )
309174
( 1.0 )
6608
( 1.0 )
256 NHWC muRISCV-NN Scalar RV64GCV 0 Loop+SLP
1995047
( 1.0x )
309168
( 1.0 )
6608
( 1.0 )
512 NHWC muRISCV-NN Scalar RV64GCV 0 Loop+SLP
1995049
( 1.0x )
309174
( 1.0 )
6608
( 1.0 )
1024 NHWC muRISCV-NN Scalar RV64GCV 0 Loop+SLP
1995049
( 1.0x )
309174
( 1.0 )
6608
( 1.0 )
2048 NHWC muRISCV-NN Scalar RV64GCV 0 Loop+SLP
1995049
( 1.0x )
309174
( 1.0 )
6608
( 1.0 )
4096 NHWC muRISCV-NN Scalar RV64GCV 0 Loop+SLP
626638
( 3.2x )
310152
( 1.003 )
6608
( 1.0 )
128 NHWC muRISCV-NN Vector RV64GCV 0 -
508268
( 3.9x )
310146
( 1.003 )
6608
( 1.0 )
256 NHWC muRISCV-NN Vector RV64GCV 0 -
449086
( 4.4x )
310152
( 1.003 )
6608
( 1.0 )
512 NHWC muRISCV-NN Vector RV64GCV 0 -
419830
( 4.8x )
310152
( 1.003 )
6608
( 1.0 )
1024 NHWC muRISCV-NN Vector RV64GCV 0 -
416146
( 4.8x )
310152
( 1.003 )
6608
( 1.0 )
2048 NHWC muRISCV-NN Vector RV64GCV 0 -
414262
( 4.8x )
310152
( 1.003 )
6608
( 1.0 )
4096 NHWC muRISCV-NN Vector RV64GCV 0 -

Visual Wake Words (vww)

Cycles (Speedup) Total ROM (rel.) Total RAM (rel.) VLEN Layout Kernels Mode Arch Unroll Auto-Vectorization
82298726
( 0.7x )
535006
( 1.709 )
182832
( 2.089 )
0 NCHW TVM Fallback RV64GC 0 -
89553682
( 0.6x )
514420
( 1.644 )
182832
( 2.089 )
0 NHWC TVM Fallback RV64GC 0 -
82349733
( 0.7x )
535046
( 1.709 )
182832
( 2.089 )
128 NCHW TVM Fallback RV64GCV 0 Loop+SLP
82349733
( 0.7x )
535048
( 1.709 )
182832
( 2.089 )
256 NCHW TVM Fallback RV64GCV 0 Loop+SLP
82349733
( 0.7x )
535048
( 1.709 )
182832
( 2.089 )
512 NCHW TVM Fallback RV64GCV 0 Loop+SLP
82349733
( 0.7x )
535046
( 1.709 )
182832
( 2.089 )
1024 NCHW TVM Fallback RV64GCV 0 Loop+SLP
82349733
( 0.7x )
535048
( 1.709 )
182832
( 2.089 )
2048 NCHW TVM Fallback RV64GCV 0 Loop+SLP
82349733
( 0.7x )
535048
( 1.709 )
182832
( 2.089 )
4096 NCHW TVM Fallback RV64GCV 0 Loop+SLP
89553682
( 0.6x )
514420
( 1.644 )
182832
( 2.089 )
128 NHWC TVM Fallback RV64GCV 0 Loop+SLP
89553682
( 0.6x )
514420
( 1.644 )
182832
( 2.089 )
256 NHWC TVM Fallback RV64GCV 0 Loop+SLP
89553682
( 0.6x )
514420
( 1.644 )
182832
( 2.089 )
512 NHWC TVM Fallback RV64GCV 0 Loop+SLP
89553682
( 0.6x )
514420
( 1.644 )
182832
( 2.089 )
1024 NHWC TVM Fallback RV64GCV 0 Loop+SLP
89553682
( 0.6x )
514420
( 1.644 )
182832
( 2.089 )
2048 NHWC TVM Fallback RV64GCV 0 Loop+SLP
89553682
( 0.6x )
514420
( 1.644 )
182832
( 2.089 )
4096 NHWC TVM Fallback RV64GCV 0 Loop+SLP
55507882
( Base )
312994
( Base )
87512
( Base )
0 NHWC muRISCV-NN Scalar RV64GC 0 -
55507882
( 1.0x )
312996
( 1.0 )
87512
( 1.0 )
128 NHWC muRISCV-NN Scalar RV64GCV 0 Loop+SLP
55507882
( 1.0x )
312996
( 1.0 )
87512
( 1.0 )
256 NHWC muRISCV-NN Scalar RV64GCV 0 Loop+SLP
55507882
( 1.0x )
312996
( 1.0 )
87512
( 1.0 )
512 NHWC muRISCV-NN Scalar RV64GCV 0 Loop+SLP
55507882
( 1.0x )
312996
( 1.0 )
87512
( 1.0 )
1024 NHWC muRISCV-NN Scalar RV64GCV 0 Loop+SLP
55507882
( 1.0x )
312996
( 1.0 )
87512
( 1.0 )
2048 NHWC muRISCV-NN Scalar RV64GCV 0 Loop+SLP
55507882
( 1.0x )
312996
( 1.0 )
87512
( 1.0 )
4096 NHWC muRISCV-NN Scalar RV64GCV 0 Loop+SLP
13988781
( 4.0x )
314668
( 1.005 )
87512
( 1.0 )
128 NHWC muRISCV-NN Vector RV64GCV 0 -
10654717
( 5.2x )
314668
( 1.005 )
87512
( 1.0 )
256 NHWC muRISCV-NN Vector RV64GCV 0 -
9363237
( 5.9x )
314668
( 1.005 )
87512
( 1.0 )
512 NHWC muRISCV-NN Vector RV64GCV 0 -
8858009
( 6.3x )
314668
( 1.005 )
87512
( 1.0 )
1024 NHWC muRISCV-NN Vector RV64GCV 0 -
8811008
( 6.3x )
314668
( 1.005 )
87512
( 1.0 )
2048 NHWC muRISCV-NN Vector RV64GCV 0 -
8811008
( 6.3x )
314668
( 1.005 )
87512
( 1.0 )
4096 NHWC muRISCV-NN Vector RV64GCV 0 -

Original data

Click here to download the raw files for this benchmark.

2024-11-26
2024-11-21
2024-11-19
2024-11-18
2024-07-12
2024-06-29
2024-03-02
2024-02-26
2024-02-23
2024-02-22
2024-02-20
2024-02-11
2023-12-22
Clone this wiki locally