Module power and performance benchmarking

I used the opportunity of having all these modules to do some benchmarking and power efficiency measuring. for fun!

the CM4-OC is running at cpu=1.8ghz and gpu=650mhz

CM4 CM4-OC A311D I.MX8MPLUS
glmark2 1080p 102 128 425 88
sysbench single 1472 1766 2009 983
sysbench multi 5835 7009 9820 3934

(higher score better)

glmark2-wayland -s 1920x1080
sysbench cpu --cpu-max-prime=10000 --threads=<#threads> run
CM4 CM4-OC A311D I.MX8MPLUS
idle (watts) 3.8 3.8 3.9 5.4
video (watts) 5.6 6.7 7.9 7.9
max-temp (c) 62 73 82 80

watts as measured by my usb-c power meter, battery was charged to 100% prior (idle draw with the LPC turned on, but reform powered off was approx 0.58 watts. idle draw with standby switch turned off was 0.33 watts - which should be deducted from these results to get a better idea of actual power consumption, as such, these raw numbers are only useful as a comparison between modules)

wifi disabled, bluetooth disabled, keyboard backlight off, brightness 20%
Idle – terminal open
Video – mpv playback of 1080p video

What does it all mean? It’s tough to choose a module - there are properties not in these tables that matter - usb 3.0, wifi speeds, memory, binary blobs, etc. - but here are some numbers now.

9 Likes

Fantastic work, thank you for that! We need more of these kind of numbers I think. This kind of data will make it much easier for people to choose their CPU module. Last year in December I did some benchmarking on the big Reform and got the following numbers for glmark2-wayland --fullscreen (at 1920x1080):

SoM glmark score
imx8mq 195
ls1028a 89
a311d 526

I also did other benchmarks (compiling linux, compressing a tarball with xz…) but once i have my ls1028a back I’ll add the sysbench numbers.

4 Likes

Thinking more on the data, I think the most interesting aspect is the idle/peak wattages of the I.MX8MPLUS. I would guess its capable of much lower idle power status - transistor size and architecture are similar enough to the other modules. Saving 1.5 watts of power would lower the lid temperatures of the pocket considerably - and improve battery life.

1 Like

The relative power increase between the modules is reflected in the soc temperature, leading me to believe the power consumption difference is in the soc itself.

Looking at the scaling drivers - the imx8mp has a min frequency of 1200 mhz, while the a311d and cm4 will downclock to 1000 mhz and 600 mhz respectively. That could potentially explain some differences in idle power usage.

The other main difference being the usb3.0-pcie bridge only present on the imx8mp. Perhaps power savings could be had if its not suspending when no usb devices are present.

1 Like

Does anyone have a benchmarks on the RK3588 module or the power usage of that one? I’ve seen pretty impressive numbers such as 1.7W idle for other SBC’s that have the same chip, although I am not sure how much truth there is really to these.

1 Like

This is the result I can get from TuringPi’s RK1 that is one of docker nodes but sysbench was run while with minimum load:

$ sysbench cpu --cpu-max-prime=10000 --threads=8 run
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)

Running the test with following options:
Number of threads: 8
Initializing random number generator from current time


Prime numbers limit: 10000

Initializing worker threads...

Threads started!

CPU speed:
    events per second: 13494.61

General statistics:
    total time:                          10.0013s
    total number of events:              134993

Latency (ms):
         min:                                    0.39
         avg:                                    0.59
         max:                                   26.98
         95th percentile:                        1.12
         sum:                                79920.48

Threads fairness:
    events (avg/stddev):           16874.1250/6794.20
    execution time (avg/stddev):   9.9901/0.00

Since I have no display attached to it, I cannot run glmark2 on it.

I would love to see some power measurements for the rk3588 module as well. General reviews of SBC’s I’ve seen suggest it has a similar idle, maybe a half watt lower than the other modules - but its peak power of 10 watts is concerning - the back panel would get rather hot. It might need a frequency cap on the cores or gpu when in the pocket to keep it cool - i don’t know if it has things like intel power limits to keep itself to a specific peak wattage.

4 Likes

I’ve updated the table, though it should be noted, kernel, driver, etc. versions are now different between these tests, so they are no longer accurate comparisons between modules. When I have some time to rerun with the a311d on the latest images I’ll do so.

CM4 CM4-OC A311D I.MX8MPLUS RK3588*
glmark2 1080p 102 128 425 88 1764
sysbench single 1472 1766 2009 983 2455
sysbench multi 5835 7009 9820 3934 13507

(higher score better)

CM4 CM4-OC A311D I.MX8MPLUS RK3588*
idle (watts) 3.8 3.8 3.9 5.4 5.9
video (watts) 5.6 6.7 7.9 7.9 8.3
max-temp (c) 62 73 82 80 61

* run on newer kernel than previous tests
max-temp as reported by internal SoC sensor.

The biggest difference is the huge improvement glmark2 score relative to the other modules.

If the SoC sensor is to be believed (and my fingers agree), the energy efficiency of the rk3588 is considerably better.

The overall power draw of the rk3588 while idle is higher than all other modules, which will impact battery life.

Looking at the frequency info compared to other rk3588 modules, the Reform’s rk3588 reports not being able to downclock below 1.2ghz - other rk3588 modules I’ve seen online can downclock to 400 mhz. Perhaps this is something that can be enabled in the devicetree for the Reform for better idle power consumption.

8 Likes

Retesting with no wifi card installed (wifi is turned off in all tests but not removed) or nvme drive, power usage drops to 5 watts. (nvme is the unbranded one supplied with the pocket)

Experimenting with re-enabling the lower clock rates - no change in power consumption, even when set to 400mhz clock speed. This probably needs to be accompanied with undervolting to get power saving at the lower frequencies (which also explains why it was removed from the mainline debian kernel)

Given that the SoC temperature is relatively cool - I’m guessing that the additional 1-2 watts of power draw is from other chips in the rcore or mainboard (like usb3.0 features that are otherwise only present in the mplus variant). Of course, the rk3588 also has the most RAM, in any case, these are all some threads folks can pull on if they wish to investigate further.

4 Likes