VisionFive 2 - RISC-V - JH7110
Linux starfive 5.15.0-starfive #1 SMP Sun Jun 11 07:48:39 UTC 2023 riscv64 GNU/Linux
08.07.2023
sbc-bench v0.9.42
Installing needed tools: Done.
Checking cpufreq OPP. Done (results will be available in 10-16 minutes).
Executing tinymembench. Done.
Executing RAM latency tester. Done.
Executing OpenSSL benchmark. Done.
Executing 7-zip benchmark. Done.
Checking cpufreq OPP again. Done (12 minutes elapsed).
Results validation:
* Measured clockspeed not lower than advertised max CPU clockspeed
* Background activity (%system) OK
* No throttling
Memory performance
memcpy: 951.9 MB/s
memset: 897.0 MB/s
7-zip total scores (3 consecutive runs): 4043,4196,4194, single-threaded: 1194
OpenSSL results:
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
aes-128-cbc 24254.94k 29816.04k 31697.75k 32206.51k 32347.48k 32314.71k
aes-128-cbc 22069.55k 29024.41k 31473.58k 32077.14k 32306.52k 32314.71k
aes-192-cbc 21428.23k 26155.80k 27729.24k 28092.42k 28254.21k 28246.02k
aes-192-cbc 21349.81k 26126.76k 27704.75k 28090.03k 28256.94k 28240.55k
aes-256-cbc 20020.66k 23400.26k 24707.93k 24986.97k 25100.29k 25094.83k
aes-256-cbc 19955.96k 23521.81k 24706.39k 25014.61k 25100.29k 24995.13k
Full results
sbc-bench v0.9.42 StarFive VisionFive V2 (Sat, 08 Jul 2023 13:26:34 +0000)
Distributor ID: Debian
Description: Debian GNU/Linux trixie/sid
Codename: trixie
/usr/bin/gcc (Debian 12.3.0-4) 12.3.0
Uptime: 13:26:35 up 4 min, 2 users, load average: 0.17, 0.36, 0.18, 51.0°C, 348672736
Linux 5.15.0-starfive (starfive) 07/08/23 _riscv64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
3.47 0.00 2.83 3.16 0.00 90.53
Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd
mmcblk1 35.67 1319.56 107.46 0.00 338349 27553 0
total used free shared buff/cache available
Mem: 3.8Gi 127Mi 3.7Gi 3.0Mi 64Mi 3.7Gi
Swap: 0B 0B 0B
##########################################################################
Checking cpufreq OPP (sifive,u74-mc):
Cpufreq OPP: 1500 Measured: 1498 (1498.934/1498.915/1498.877)
Cpufreq OPP: 750 Measured: 748 (748.969/748.825/748.806)
Cpufreq OPP: 500 Measured: 498 (498.938/498.786/498.722)
Cpufreq OPP: 375 Measured: 373 (373.815/373.777/373.529)
##########################################################################
Hardware sensors:
120e0000.tmon-isa-0000
temp1: +50.8 C
##########################################################################
Executing benchmark on cpu0 (sifive,u74-mc):
tinymembench v0.4.9-nuumio (simple benchmark for memory throughput and latency)
CFLAGS:
bandwidth test min repeats (-b): 2
bandwidth test max repeats (-B): 3
bandwidth test mem realloc (-M): no (-m for realloc)
latency test repeats (-l): 3
latency test count (-c): 1000000
==========================================================================
== Memory bandwidth tests ==
== ==
== Note 1: 1MB = 1000000 bytes ==
== Note 2: Test result is the best of repeated runs. Number of repeats ==
== is shown in brackets ==
== Note 3: Results for 'copy' tests show how many bytes can be ==
== copied per second (adding together read and writen ==
== bytes would have provided twice higher numbers) ==
== Note 4: 2-pass copy means that we are using a small temporary buffer ==
== to first fetch data into it, and only then write it to the ==
== destination (source -> L1 cache, L1 cache -> destination) ==
== Note 5: If sample standard deviation exceeds 0.1%, it is shown in ==
== brackets ==
==========================================================================
C copy backwards : 946.2 MB/s (3, 3.6%)
C copy backwards (32 byte blocks) : 946.2 MB/s (2)
C copy backwards (64 byte blocks) : 945.7 MB/s (2)
C copy : 954.5 MB/s (2)
C copy prefetched (32 bytes step) : 953.4 MB/s (3, 0.6%)
C copy prefetched (64 bytes step) : 954.0 MB/s (2)
C 2-pass copy : 758.4 MB/s (2)
C 2-pass copy prefetched (32 bytes step) : 764.6 MB/s (3, 0.2%)
C 2-pass copy prefetched (64 bytes step) : 761.9 MB/s (2)
C scan 8 : 586.2 MB/s (3, 0.6%)
C scan 16 : 555.1 MB/s (2)
C scan 32 : 1029.0 MB/s (2)
C scan 64 : 1276.8 MB/s (2)
C fill : 837.3 MB/s (2)
C fill (shuffle within 16 byte blocks) : 837.2 MB/s (2)
C fill (shuffle within 32 byte blocks) : 837.3 MB/s (2)
C fill (shuffle within 64 byte blocks) : 837.7 MB/s (2)
---
libc memcpy copy : 951.9 MB/s (2)
libc memchr scan : 1219.1 MB/s (2)
libc memset fill : 897.0 MB/s (3, 3.8%)
==========================================================================
== Memory latency test ==
== ==
== Average time is measured for random memory accesses in the buffers ==
== of different sizes. The larger is the buffer, the more significant ==
== are relative contributions of TLB, L1/L2 cache misses and SDRAM ==
== accesses. For extremely large buffer sizes we are expecting to see ==
== page table walk with several requests to SDRAM for almost every ==
== memory access (though 64MiB is not nearly large enough to experience ==
== this effect to its fullest). ==
== ==
== Note 1: All the numbers are representing extra time, which needs to ==
== be added to L1 cache latency. The cycle timings for L1 cache ==
== latency can be usually found in the processor documentation. ==
== Note 2: Dual random read means that we are simultaneously performing ==
== two independent memory accesses at a time. In the case if ==
== the memory subsystem can't handle multiple outstanding ==
== requests, dual random read has the same timings as two ==
== single reads performed one after another. ==
==========================================================================
block size : single random read / dual random read
1024 : 0.0 ns / 0.0 ns
2048 : 0.0 ns / 0.0 ns
4096 : 0.0 ns / 0.0 ns
8192 : 0.0 ns / 0.0 ns
16384 : 0.0 ns / 0.0 ns
32768 : 0.1 ns / 0.0 ns
65536 : 5.5 ns / 10.5 ns
131072 : 8.3 ns / 15.8 ns
262144 : 10.0 ns / 18.6 ns
524288 : 16.0 ns / 28.6 ns
1048576 : 19.5 ns / 30.6 ns
2097152 : 35.7 ns / 53.6 ns
4194304 : 84.8 ns / 165.1 ns
8388608 : 123.1 ns / 241.7 ns
16777216 : 144.1 ns / 285.3 ns
33554432 : 157.3 ns / 312.6 ns
67108864 : 167.6 ns / 334.5 ns
##########################################################################
Executing ramlat on cpu0 (sifive,u74-mc), results in ns:
size: 1x32 2x32 1x64 2x64 1xPTR 2xPTR 4xPTR 8xPTR
4k: 2.778 2.847 2.674 2.756 2.003 2.002 2.753 5.588
8k: 2.753 2.837 2.669 2.753 2.002 2.002 2.753 5.588
16k: 2.757 2.837 2.670 2.754 2.002 2.003 2.753 5.593
32k: 2.762 2.838 2.671 2.754 2.003 2.004 2.762 5.593
64k: 13.48 24.12 13.35 24.10 13.35 24.03 48.15 96.37
128k: 13.47 24.11 13.35 24.11 13.45 24.03 48.14 96.50
256k: 13.44 24.14 13.35 24.11 13.35 24.03 48.15 96.60
512k: 20.12 30.90 20.04 29.58 18.69 29.37 53.48 101.9
1024k: 20.17 29.65 19.99 29.59 18.72 29.39 53.54 112.8
2048k: 53.46 90.24 52.58 89.95 50.72 90.25 166.9 312.1
4096k: 126.6 220.9 127.0 230.7 125.5 221.2 404.0 768.0
8192k: 156.3 266.5 156.6 270.4 156.1 265.3 486.6 930.2
16384k: 167.6 278.6 167.4 278.3 166.7 276.9 503.8 956.0
32768k: 172.4 286.2 171.3 284.7 171.4 283.4 511.0 968.1
65536k: 171.1 285.1 171.1 286.5 171.0 287.4 512.0 968.1
131072k: 173.6 293.0 172.7 288.4 172.7 287.5 517.9 981.4
##########################################################################
Executing benchmark twice on cluster 0 (sifive,u74-mc)
OpenSSL 3.0.9, built on 30 May 2023 (Library: OpenSSL 3.0.9 30 May 2023)
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
aes-128-cbc 24254.94k 29816.04k 31697.75k 32206.51k 32347.48k 32314.71k
aes-128-cbc 22069.55k 29024.41k 31473.58k 32077.14k 32306.52k 32314.71k
aes-192-cbc 21428.23k 26155.80k 27729.24k 28092.42k 28254.21k 28246.02k
aes-192-cbc 21349.81k 26126.76k 27704.75k 28090.03k 28256.94k 28240.55k
aes-256-cbc 20020.66k 23400.26k 24707.93k 24986.97k 25100.29k 25094.83k
aes-256-cbc 19955.96k 23521.81k 24706.39k 25014.61k 25100.29k 24995.13k
##########################################################################
Executing benchmark single-threaded on cpu0 (sifive,u74-mc)
7-Zip (a) 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=C,Utf16=off,HugeFiles=on,64 bits,4 CPUs LE)
LE
CPU Freq: 32000000 64000000 - - - - 512000000 1024000000 -
RAM size: 3891 MB, # CPU hardware threads: 4
RAM usage: 435 MB, # Benchmark threads: 1
Compressing | Decompressing
Dict Speed Usage R/U Rating | Speed Usage R/U Rating
KiB/s % MIPS MIPS | KiB/s % MIPS MIPS
22: 917 100 892 892 | 17497 100 1494 1494
23: 875 100 892 892 | 17175 100 1487 1487
24: 848 100 912 912 | 16820 100 1477 1477
25: 820 100 936 936 | 16412 100 1461 1461
---------------------------------- | ------------------------------
Avr: 100 908 908 | 100 1480 1480
Tot: 100 1194 1194
##########################################################################
Executing benchmark 3 times multi-threaded on CPUs 0-3
7-Zip (a) 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=C,Utf16=off,HugeFiles=on,64 bits,4 CPUs LE)
LE
CPU Freq: 64000000 64000000 - - 128000000 256000000 512000000 1024000000 2048000000
RAM size: 3891 MB, # CPU hardware threads: 4
RAM usage: 882 MB, # Benchmark threads: 4
Compressing | Decompressing
Dict Speed Usage R/U Rating | Speed Usage R/U Rating
KiB/s % MIPS MIPS | KiB/s % MIPS MIPS
22: 1753 214 799 1706 | 67832 398 1452 5787
23: 2599 339 782 2649 | 66677 400 1444 5769
24: 2572 351 789 2766 | 64957 399 1429 5702
25: 2028 284 816 2317 | 63431 399 1414 5645
---------------------------------- | ------------------------------
Avr: 297 796 2359 | 399 1435 5726
Tot: 348 1116 4043
7-Zip (a) 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=C,Utf16=off,HugeFiles=on,64 bits,4 CPUs LE)
LE
CPU Freq: - - - - - 256000000 - - -
RAM size: 3891 MB, # CPU hardware threads: 4
RAM usage: 882 MB, # Benchmark threads: 4
Compressing | Decompressing
Dict Speed Usage R/U Rating | Speed Usage R/U Rating
KiB/s % MIPS MIPS | KiB/s % MIPS MIPS
22: 2651 331 779 2579 | 68173 400 1455 5816
23: 2584 337 782 2633 | 66586 399 1442 5761
24: 2563 348 792 2756 | 65197 400 1432 5723
25: 2319 327 811 2648 | 63439 399 1414 5646
---------------------------------- | ------------------------------
Avr: 336 791 2654 | 400 1436 5737
Tot: 368 1113 4196
7-Zip (a) 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=C,Utf16=off,HugeFiles=on,64 bits,4 CPUs LE)
LE
CPU Freq: - - - - - 256000000 - 1024000000 -
RAM size: 3891 MB, # CPU hardware threads: 4
RAM usage: 882 MB, # Benchmark threads: 4
Compressing | Decompressing
Dict Speed Usage R/U Rating | Speed Usage R/U Rating
KiB/s % MIPS MIPS | KiB/s % MIPS MIPS
22: 2453 303 788 2387 | 68047 399 1454 5806
23: 2612 340 783 2662 | 66455 399 1441 5750
24: 2527 344 791 2718 | 64923 399 1428 5699
25: 2526 360 802 2884 | 63395 399 1413 5642
---------------------------------- | ------------------------------
Avr: 337 791 2663 | 399 1434 5724
Tot: 368 1113 4194
Compression: 2359,2654,2663
Decompression: 5726,5737,5724
Total: 4043,4196,4194
##########################################################################
Testing maximum cpufreq again, still under full load. System health now:
Time CPU load %cpu %sys %usr %nice %io %irq Temp
13:37:36: 1500MHz 4.14 97% 1% 96% 0% 0% 0% 66.5°C
Checking cpufreq OPP (sifive,u74-mc):
Cpufreq OPP: 1500 Measured: 1498 (1498.896/1498.800/1498.762)
##########################################################################
Hardware sensors:
120e0000.tmon-isa-0000
temp1: +64.5 C
##########################################################################
Thermal source: /sys/devices/virtual/thermal/thermal_zone0/ (cpu-thermal)
System health while running tinymembench:
Time CPU load %cpu %sys %usr %nice %io %irq Temp
13:26:54: 1500MHz 0.35 10% 2% 4% 0% 2% 0% 52.2°C
13:27:04: 1500MHz 0.45 25% 0% 25% 0% 0% 0% 54.8°C
13:27:14: 1500MHz 0.61 25% 0% 25% 0% 0% 0% 55.5°C
13:27:24: 1500MHz 0.70 25% 0% 25% 0% 0% 0% 56.1°C
System health while running ramlat:
Time CPU load %cpu %sys %usr %nice %io %irq Temp
13:27:35: 1500MHz 0.74 12% 2% 7% 0% 2% 0% 55.9°C
13:27:38: 1500MHz 0.74 25% 0% 25% 0% 0% 0% 55.8°C
13:27:41: 1500MHz 0.76 25% 0% 24% 0% 0% 0% 55.9°C
13:27:44: 1500MHz 0.76 25% 0% 25% 0% 0% 0% 56.0°C
13:27:47: 1500MHz 0.78 25% 0% 25% 0% 0% 0% 56.1°C
13:27:50: 1500MHz 0.80 25% 0% 25% 0% 0% 0% 56.2°C
13:27:53: 1500MHz 0.80 25% 0% 24% 0% 0% 0% 56.1°C
13:27:56: 1500MHz 0.82 25% 0% 24% 0% 0% 0% 56.0°C
13:27:59: 1500MHz 0.83 25% 0% 24% 0% 0% 0% 56.0°C
13:28:02: 1500MHz 0.83 25% 0% 24% 0% 0% 0% 56.0°C
13:28:05: 1500MHz 0.85 25% 0% 25% 0% 0% 0% 56.0°C
13:28:08: 1500MHz 0.85 25% 0% 24% 0% 0% 0% 56.1°C
13:28:11: 1500MHz 0.86 25% 1% 24% 0% 0% 0% 56.2°C
13:28:14: 1500MHz 0.87 25% 0% 25% 0% 0% 0% 56.2°C
System health while running OpenSSL benchmark:
Time CPU load %cpu %sys %usr %nice %io %irq Temp
13:28:15: 1500MHz 0.87 14% 2% 9% 0% 2% 0% 56.6°C
13:28:32: 1500MHz 0.90 25% 0% 25% 0% 0% 0% 57.0°C
13:28:48: 1500MHz 0.92 25% 0% 25% 0% 0% 0% 57.1°C
13:29:04: 1500MHz 0.94 25% 0% 25% 0% 0% 0% 57.5°C
13:29:20: 1500MHz 0.96 25% 0% 25% 0% 0% 0% 57.5°C
13:29:36: 1500MHz 0.97 25% 0% 25% 0% 0% 0% 57.8°C
13:29:52: 1500MHz 0.98 25% 0% 25% 0% 0% 0% 57.9°C
System health while running 7-zip single core benchmark:
Time CPU load %cpu %sys %usr %nice %io %irq Temp
13:30:04: 1500MHz 0.98 16% 1% 13% 0% 1% 0% 58.2°C
13:30:15: 1500MHz 0.98 25% 0% 24% 0% 0% 0% 58.0°C
13:30:26: 1500MHz 0.99 25% 0% 24% 0% 0% 0% 58.1°C
13:30:37: 1500MHz 1.07 25% 0% 24% 0% 0% 0% 58.2°C
13:30:48: 1500MHz 1.06 25% 0% 24% 0% 0% 0% 58.3°C
13:30:59: 1500MHz 1.05 25% 0% 24% 0% 0% 0% 58.4°C
13:31:10: 1500MHz 1.04 25% 0% 24% 0% 0% 0% 58.5°C
13:31:21: 1500MHz 1.11 25% 0% 24% 0% 0% 0% 58.6°C
13:31:32: 1500MHz 1.09 25% 0% 24% 0% 0% 0% 58.7°C
13:31:44: 1500MHz 1.08 25% 0% 24% 0% 0% 0% 58.8°C
13:31:55: 1500MHz 1.06 25% 0% 24% 0% 0% 0% 58.8°C
13:32:06: 1500MHz 1.05 25% 0% 24% 0% 0% 0% 58.8°C
System health while running 7-zip multi core benchmark:
Time CPU load %cpu %sys %usr %nice %io %irq Temp
13:32:12: 1500MHz 1.04 18% 1% 15% 0% 1% 0% 59.0°C
13:32:37: 1500MHz 1.83 63% 0% 63% 0% 0% 0% 61.7°C
13:33:00: 1500MHz 2.27 93% 0% 93% 0% 0% 0% 62.5°C
13:33:24: 1500MHz 2.63 93% 1% 91% 0% 0% 0% 63.8°C
13:33:46: 1500MHz 2.99 80% 1% 78% 0% 0% 0% 63.1°C
13:34:08: 1500MHz 3.21 72% 0% 71% 0% 0% 0% 63.7°C
13:34:31: 1500MHz 3.56 90% 0% 90% 0% 0% 0% 64.6°C
13:34:53: 1500MHz 3.69 90% 1% 89% 0% 0% 0% 64.8°C
13:35:15: 1500MHz 3.77 90% 1% 89% 0% 0% 0% 65.0°C
13:35:37: 1500MHz 3.84 88% 1% 87% 0% 0% 0% 64.9°C
13:36:00: 1500MHz 3.83 79% 0% 78% 0% 0% 0% 64.9°C
13:36:25: 1500MHz 3.78 90% 0% 90% 0% 0% 0% 65.5°C
13:36:50: 1500MHz 3.77 91% 1% 90% 0% 0% 0% 65.7°C
13:37:13: 1500MHz 3.83 88% 1% 87% 0% 0% 0% 65.8°C
13:37:36: 1500MHz 4.14 97% 1% 96% 0% 0% 0% 66.5°C
##########################################################################
Linux 5.15.0-starfive (starfive) 07/08/23 _riscv64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
40.28 0.01 1.29 0.93 0.00 57.48
Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd
mmcblk1 10.33 373.11 31.72 0.00 344205 29265 0
total used free shared buff/cache available
Mem: 3.8Gi 126Mi 3.6Gi 3.0Mi 71Mi 3.7Gi
Swap: 0B 0B 0B
CPU sysfs topology (clusters, cpufreq members, clockspeeds)
cpufreq min max
CPU cluster policy speed speed core type
0 0 0 375 1500 sifive,u74-mc
1 0 0 375 1500 sifive,u74-mc
2 0 0 375 1500 sifive,u74-mc
3 0 0 375 1500 sifive,u74-mc
Architecture: riscv64
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
SoC guess: StarFive JH7110
DT compat: starfive,visionfive-v2
starfive,jh7110
Compiler: /usr/bin/gcc (Debian 12.3.0-4) 12.3.0 / riscv64-linux-gnu
Userland: riscv64
Kernel: 5.15.0-starfive/riscv64
CONFIG_HZ=100
CONFIG_HZ_100=y
CONFIG_PREEMPT_COUNT=y
CONFIG_PREEMPT_NONE=y
##########################################################################
Kernel 5.15.0 is not latest 5.15.120 LTS that was released on 2023-07-05.
See https://endoflife.date/linux for details. It is somewhat likely that
a lot of exploitable vulnerabilities exist for this kernel as well as many
unfixed bugs.
But this version string doesn't matter since this is not an official LTS Linux
from kernel.org. This device runs a StarFive vendor/BSP kernel.
##########################################################################
cpu0/index0: 32K, level: 1, type: Instruction
cpu0/index1: 32K, level: 1, type: Data
cpu0/index2: 2048K, level: 2, type: Unified
cpu1/index0: 32K, level: 1, type: Instruction
cpu1/index1: 32K, level: 1, type: Data
cpu1/index2: 2048K, level: 2, type: Unified
cpu2/index0: 32K, level: 1, type: Instruction
cpu2/index1: 32K, level: 1, type: Data
cpu2/index2: 2048K, level: 2, type: Unified
cpu3/index0: 32K, level: 1, type: Instruction
cpu3/index1: 32K, level: 1, type: Data
cpu3/index2: 2048K, level: 2, type: Unified
##########################################################################
cpu_vdd: 1040 mV (1540 mV max)
opp-table-0:
375 MHz 800.0 mV
500 MHz 800.0 mV
750 MHz 800.0 mV
1500 MHz 1040.0 mV
##########################################################################
Results validation:
* Measured clockspeed not lower than advertised max CPU clockspeed
* Background activity (%system) OK
* No throttling
| StarFive VisionFive V2 | 1500 MHz | 5.15 | Debian GNU/Linux trixie/sid riscv64 | 4140 | 1194 | 25040 | 950 | 900 | - |