[BOINC] Ryzen 5950X clock speeds change based on currently running projects

Kinda reaching a little here by posting about this here, but I get the impression that this userbase might include people with some insight into this.

relevant PC hardware configuration;

  • Ryzen 5950X
  • Noctua NH-D15s cooler
  • lots of 120mm and 140mm fans
  • 128GB DDR4
  • Ubuntu 22.04

My workstation PC is set to run BOINC 24/7 in the background. Because of this, CPU usage is constantly at 100% load. However, I have been noticing some strange behavior from the CPU. Different BOINC projects cause the CPU to change clock speeds, getting hotter as clocks increase, causing fans to spin significantly higher, etc…

I am mostly just trying to understand this behavior so I can make more informed decisions on PC management.

When I am running CPU tasks from World Community Grid, such as Mapping Cancer Markers, and CPU tasks from Asteroids @ Home, my CPU generally drops down to stock speeds of approx 3.5GHz, and temps are approx 67-71C.

However, when Einstein@Home starts running and filling the CPU threads, the CPU instead starts clocking up to 4.4GHz. This causes temps to rise as high as the low-80’s C and causes fans to spin up much more loudly.

In both cases, the CPU utilization stays at 100%. Currently I have Eco Mode turned off in BIOS, but in the past with Eco Mode I saw similar behavior, with some tasks letting the CPU clock as low as 2.2GHz while staying at 100% load, but others causing it to clock up higher.

It was surprising to me to see this kind of change in CPU clock speed based on the type of task (program) running despite CPU load being the same. Any ideas why this might be happening? Could Einstein@Home be accessing some sort of hardware in the CPU that is triggering it to clock-up in response? Is this type of behavior expected? What do you all think?

BOINC engagements are not all equal, to CPU involvement
It may well say 100percent threads occupied, but not be 100% at full tilt
You might be able to comb through, in seeing the kind of instructions involved
[between your source(s) and per assignment type]

1 Like

thats a pretty interesting thought, I had previously thought that it was as simple as “100% CPU usage” being a fungible metric.

I am wondering what kind of methods I could use to investigate this, maybe something like strace?

conversely, I am also wonder what might be the best BIOS options to look at if I wanted to cap the CPU speeds at 3.5GHz or 4.0GHz to keep it from trying to boost up to 4.4GHz and incurring all this extra heat and power usage?

Ryzen Master maybe could help, in dialing back boosting behaviour [if nothing on BIOS]

I’d imagine documentation should exist [somewhere], expressing the nature of assignment(s)
If memory serves me well, I found some WCG and Einstein workloads being noticeably CPU taxing