7840U CPU Power efficiency testing

Since I have somewhat working ryzenadj that lets me temporarily set power limits and somewhat working ectool that lets me temporarily set fan-speeds I got curious and mapped the power/performance curve in cinebench r15. Not sure how useful this is but it is definitely interesting.

The test-setup is my unmodified amd framework 13 with the 7840u and 64GB of 5600 memory. It’s running the latest arch with a pretty light sway setup. Test conditions are:

  • Plugged into 100W power supply
  • tlp (stock settings) in ac mode (battery mode distorts results because it seems to power limit to 10w for the first couple seconds before limiting to the set power limit)
  • Fan fixed to max (bit under 7k rpm)
  • Cinebench R15 running in wine
  • Power limit set using ryzenadj (both long and short)
  • Achived power-limit checked using ryzenadj -i (seems to be pretty accurate from some cross testing with battery draw)

Here are the results for multicore:

And here for singlecore:

Some observations:

  • Well first of all I am amazed by the efficiency and performance in general
  • Multicore won’t go lower than 6.8W no matter how low the limit is set
  • Can’t set a power limit above 43W even if I am able to cool it, though efficiency is taking a dive at that point anyway.
  • The anomaly at 7W singlecore is weirdly reproducible
  • The fan at full blast uses almost 2W of power
  • The fan is also a lot less loud at full blast than I was lead to believe by some people here
  • Even the completely kneecapped 5W power limit running multicore at 6.8W is still the performance level of my good old x260 (liquid metal, undervolt and all)
  • At 10W it is easily beating my t480s running at around 30W (this too undervolted and with liquid metal and thermal throttling all the way)
  • At 25-30W we are leaving my huge and heavy work laptop (Precision 7560) even with all the power sliders turned way up in the dust (no liquid metal or undervolts on that one XD)

Really interesting, looks like 11W or so is the optimal point for P/W!
Thanks for all the amazing data.

1 Like

Well it definitely isn’t 7 XD.

For multi-core it looks like the sweet-spot is somewhere between 11 and 18 and single it’s between 9 and 11, though that may actually depend on workload (since power limit is more of a proxy for frequency and the frequency per power kinda depends on the workload).

10W is definitely already quite a bit of compute performance though.

You can’t tell a sweet spot at all from these graphs. You would need the watt hours and then, it would only fit for Cinebench. You might have used less watt hours with higher power limits, since the work could be done faster. We don’t know.

Not really, since it’s a fixed workload and the score is based on how long it takes to finish, this measures pretty much exactly that, though you are right it is somewhat specific to cinebench.

Nice review, thanks, i’m actually using the same config :slight_smile: with PTM

What’s PTM?

Very cool testing and writeup, thanks a lot!

Just to be sure I grab the right versions, could you maybe confirm that this is what I should use:

Also, I read here that ryzenadj may conflict with ectool and PPD should be used instead. Can PPD be used to set a specific power cap to the CPU, and if so, how? Sorry, I’m new to PPD…

I got my ryzenadj from the aur, needed a custom kernel parameter though to actually work.

On the ectool side, I had to build that, I can dig the forum thread up if you can’t find it yourself.

PPD seems to have worse results than tlp so I chose to ignore that recommendation. As for the conflict, well they are all trampling over each other a bit but as long as you don’t change power status or the tlp mode the ryzenadj settings usually stick long enough for a test run.

Sorry, the PTM7950, is a super efficient thermal pad

Oh that stuff, yeah I am still deciding between that and lm (I have both laying around) but so far temps are alright and I have not owned a laptop with actual warranty in a while (my last couple laptops I got either used or broken and put liquid metal on them pretty much right away) so I’ll probably baby it for a bit first.