
Basic information
- Board URL (official): https://milkv.io/jupiter
- Board purchased from: (Provided by Milk-V)
- Board purchase date: July 17, 2024
- Board specs (as tested): M1 @ 1.8GHz, 16GB RAM
- Board price (as tested): $115 (pre-order pricing)
Linux/system information
# output of `screenfetch`
root@milkv-jupiter:~# screenfetch
./+o+- root@milkv-jupiter
yyyyy- -yyyyyy+ OS: Ubuntu 23.10 mantic
://+//////-yyyyyyo Kernel: riscv64 Linux 6.1.15
.++ .:/++++++/-.+sss/` Uptime: 11m
.:++o: /++++++++/:--:/- Packages: 1667
o:+o+:++.`..```.-/oo+++++/ Shell: bash 5.2.15
.:+o:+o/. `+sssoo+/ Disk: 4.1G / 6.1G (71%)
.++/+:+oo+o:` /sssooo. CPU: Spacemit X60 @ 8x 1.8GHz
/+++//+:`oo+o /::--:. GPU:
\+/+o+++`o++o ++////. RAM: 847MiB / 15771MiB
.++.o+++oo+:` /dddhhh.
.+.o+oo:. `oddhhhh+
\+.++o+o``-````.:ohdhhhhh+
`:o+++ `ohhhhhhhhyo++os:
.o:`.syhhhhhhh/.oo++o`
/osyyyyyyo++ooo+++/
````` +oo+++o\:
`oo++.
# output of `uname -a`
Linux milkv-jupiter 6.1.15 #1.0.8 SMP PREEMPT Tue Jul 16 07:18:48 UTC 2024 riscv64 riscv64 riscv64 GNU/Linux
Benchmark results
CPU
Power
- Idle power draw (at wall): 3.5 W
- Maximum simulated power draw (
stress-ng --matrix 0): 8 W
- During Geekbench multicore benchmark: 10 W
- During
top500 HPL benchmark: 10.6 W
(Note: Tests were performed using a 12V 8A power adapter. When I switched to a 27W Aergon PWR GaN adapter, idle draw was measured at 10W, and stress-ng --matrix 0 at 10W)
Disk
MakerDisk A1 128GB microSD
| Benchmark |
Result |
| iozone 4K random read |
11.28 MB/s |
| iozone 4K random write |
3.75 MB/s |
| iozone 1M random read |
74.95 MB/s |
| iozone 1M random write |
49.97 MB/s |
| iozone 1M sequential read |
75.47 MB/s |
| iozone 1M sequential write |
50.40 MB/s |
Kioxia XG8 2TB NVMe SSD
| Benchmark |
Result |
| iozone 4K random read |
43.42 MB/s |
| iozone 4K random write |
80.55 MB/s |
| iozone 1M random read |
314.43 MB/s |
| iozone 1M random write |
345.83 MB/s |
| iozone 1M sequential read |
315.34 MB/s |
| iozone 1M sequential write |
346.40 MB/s |
32GB SanDisk eMMC Module V1.2
| Benchmark |
Result |
| iozone 4K random read |
18.72 MB/s |
| iozone 4K random write |
29.24 MB/s |
| iozone 1M random read |
194.06 MB/s |
| iozone 1M random write |
195.67 MB/s |
| iozone 1M sequential read |
208.09 MB/s |
| iozone 1M sequential write |
193.82 MB/s |
wget https://raw.githubusercontent.com/geerlingguy/pi-cluster/master/benchmarks/disk-benchmark.sh
chmod +x disk-benchmark.sh
sudo MOUNT_PATH=/ TEST_SIZE=1g ./disk-benchmark.sh
Run benchmark on any attached storage device (e.g. eMMC, microSD, NVMe, SATA) and add results under an additional heading.
Also consider running PiBenchmarks.com script.
Network
iperf3 results:
Built-in 1 Gbps LAN
iperf3 -c $SERVER_IP: 939 Mbps
iperf3 -c $SERVER_IP --reverse: 885 Mbps
iperf3 -c $SERVER_IP --bidir: 942 Mbps up, 136 Mbps down
Built-in WiFi 6
So far, I have been unable to bring up this interface. See WiFi not working under Ubuntu or Bianbu.
iperf3 -c $SERVER_IP: 362 Mbps
iperf3 -c $SERVER_IP --reverse: 313 Mbps
iperf3 -c $SERVER_IP --bidir: 228 Mbps up, 140 Mbps down
GPU
glmark2-es2-wayland results:
=======================================================
glmark2 2023.01
=======================================================
OpenGL Information
GL_VENDOR: Imagination Technologies
GL_RENDERER: PowerVR B-Series BXE-2-32
GL_VERSION: OpenGL ES 3.2 build 23.2@6460340
Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=8 samples=0
Surface Size: 800x600 windowed
=======================================================
[build] use-vbo=false: FPS: 300 FrameTime: 3.338 ms
[build] use-vbo=true: FPS: 682 FrameTime: 1.468 ms
[texture] texture-filter=nearest: FPS: 629 FrameTime: 1.591 ms
[texture] texture-filter=linear: FPS: 680 FrameTime: 1.471 ms
[texture] texture-filter=mipmap: FPS: 617 FrameTime: 1.621 ms
[shading] shading=gouraud: FPS: 555 FrameTime: 1.805 ms
[shading] shading=blinn-phong-inf: FPS: 562 FrameTime: 1.782 ms
[shading] shading=phong: FPS: 477 FrameTime: 2.099 ms
[shading] shading=cel: FPS: 461 FrameTime: 2.172 ms
[bump] bump-render=high-poly: FPS: 315 FrameTime: 3.176 ms
[bump] bump-render=normals: FPS: 710 FrameTime: 1.410 ms
[bump] bump-render=height: FPS: 733 FrameTime: 1.365 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 382 FrameTime: 2.623 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 137 FrameTime: 7.309 ms
[pulsar] light=false:quads=5:texture=false: FPS: 754 FrameTime: 1.328 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 144 FrameTime: 6.977 ms
[desktop] effect=shadow:windows=4: FPS: 412 FrameTime: 2.433 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 151 FrameTime: 6.631 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 154 FrameTime: 6.513 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 204 FrameTime: 4.912 ms
[ideas] speed=duration: FPS: 308 FrameTime: 3.251 ms
[jellyfish] <default>: FPS: 270 FrameTime: 3.713 ms
[terrain] <default>: FPS: 20 FrameTime: 52.388 ms
[shadow] <default>: FPS: 335 FrameTime: 2.989 ms
[refract] <default>: FPS: 41 FrameTime: 24.497 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 789 FrameTime: 1.268 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 536 FrameTime: 1.869 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 745 FrameTime: 1.343 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 704 FrameTime: 1.422 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 393 FrameTime: 2.550 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 691 FrameTime: 1.448 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 665 FrameTime: 1.506 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 643 FrameTime: 1.555 ms
=======================================================
glmark2 Score: 459
=======================================================
Note: This benchmark requires an active display on the device. Not all devices may be able to run glmark2-es2, so in that case, make a note and move on!
TODO: See this issue for discussion about a full suite of standardized GPU benchmarks.
Memory
tinymembench results:
Click to expand memory benchmark result
tinymembench v0.4.10 (simple benchmark for memory throughput and latency)
==========================================================================
== Memory bandwidth tests ==
== ==
== Note 1: 1MB = 1000000 bytes ==
== Note 2: 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 3: 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 4: If sample standard deviation exceeds 0.1%, it is shown in ==
== brackets ==
==========================================================================
C copy backwards : 3073.1 MB/s (0.6%)
C copy backwards (32 byte blocks) : 662.7 MB/s
C copy backwards (64 byte blocks) : 3079.1 MB/s (0.6%)
C copy : 3081.3 MB/s (0.5%)
C copy prefetched (32 bytes step) : 3087.2 MB/s (0.6%)
C copy prefetched (64 bytes step) : 3087.5 MB/s (0.7%)
C 2-pass copy : 2953.6 MB/s
C 2-pass copy prefetched (32 bytes step) : 2947.5 MB/s (0.5%)
C 2-pass copy prefetched (64 bytes step) : 2948.0 MB/s (0.4%)
C fill : 7570.4 MB/s (0.3%)
C fill (shuffle within 16 byte blocks) : 7574.7 MB/s (0.4%)
C fill (shuffle within 32 byte blocks) : 675.4 MB/s (0.2%)
C fill (shuffle within 64 byte blocks) : 675.3 MB/s (0.2%)
---
standard memcpy : 2886.5 MB/s (0.8%)
standard memset : 7577.1 MB/s (0.5%)
==========================================================================
== 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.1 ns / 0.1 ns
2048 : 0.1 ns / 0.1 ns
4096 : 0.1 ns / 0.1 ns
8192 : 0.1 ns / 0.1 ns
16384 : 0.1 ns / 0.1 ns
32768 : 0.2 ns / 0.2 ns
65536 : 9.3 ns / 14.3 ns
131072 : 15.9 ns / 21.2 ns
262144 : 19.3 ns / 23.8 ns
524288 : 38.4 ns / 52.5 ns
1048576 : 119.4 ns / 175.0 ns
2097152 : 169.3 ns / 221.4 ns
4194304 : 198.2 ns / 241.2 ns
8388608 : 223.5 ns / 268.5 ns
16777216 : 238.2 ns / 288.6 ns
33554432 : 248.7 ns / 306.2 ns
67108864 : 281.1 ns / 361.7 ns
sbc-bench results
Run sbc-bench and paste a link to the results here: ThomasKaiser/sbc-bench#96 / https://0x0.st/X904.bin
Phoronix Test Suite
Results from pi-general-benchmark.sh:
- pts/encode-mp3: N/A (wouldn't install)
- pts/x264 4K: N/A (wouldn't install)
- pts/x264 1080p: N/A (wouldn't install)
- pts/phpbench: 89706
- pts/build-linux-kernel (defconfig): 3345.196 sec
Basic information
Linux/system information
Benchmark results
CPU
Power
stress-ng --matrix 0): 8 Wtop500HPL benchmark: 10.6 W(Note: Tests were performed using a 12V 8A power adapter. When I switched to a 27W Aergon PWR GaN adapter, idle draw was measured at 10W, and
stress-ng --matrix 0at 10W)Disk
MakerDisk A1 128GB microSD
Kioxia XG8 2TB NVMe SSD
32GB SanDisk eMMC Module V1.2
Run benchmark on any attached storage device (e.g. eMMC, microSD, NVMe, SATA) and add results under an additional heading.
Also consider running PiBenchmarks.com script.
Network
iperf3results:Built-in 1 Gbps LAN
iperf3 -c $SERVER_IP: 939 Mbpsiperf3 -c $SERVER_IP --reverse: 885 Mbpsiperf3 -c $SERVER_IP --bidir: 942 Mbps up, 136 Mbps downBuilt-in WiFi 6
So far, I have been unable to bring up this interface. See WiFi not working under Ubuntu or Bianbu.
iperf3 -c $SERVER_IP: 362 Mbpsiperf3 -c $SERVER_IP --reverse: 313 Mbpsiperf3 -c $SERVER_IP --bidir: 228 Mbps up, 140 Mbps downGPU
glmark2-es2-waylandresults:Note: This benchmark requires an active display on the device. Not all devices may be able to run
glmark2-es2, so in that case, make a note and move on!TODO: See this issue for discussion about a full suite of standardized GPU benchmarks.
Memory
tinymembenchresults:Click to expand memory benchmark result
sbc-benchresultsRun sbc-bench and paste a link to the results here: ThomasKaiser/sbc-bench#96 / https://0x0.st/X904.bin
Phoronix Test Suite
Results from pi-general-benchmark.sh: