svenlange2 / Ryzen-5800x3d-linux-undervolting

A Python script to use Ryzen SMU for Linux PBO tunind of 5800x3d CPU. Mostly needed for Ryzen 5800x3d undervolting.
61 stars 3 forks source link

Appearently no effect #1

Open MadByteDE opened 1 year ago

MadByteDE commented 1 year ago

Hey, thanks for doing this!

Unfortunately, the script seems to have no effect for me.

On Windows the PBO Tuner seems to reduce temps by ~5-10degrees on idle and never spikes higher then ~76degrees. Running your script does not result in any changes in temps.

Any idea what it could be?

The readback shows -30.

System info gist

Thanks in advance!

svenlange2 commented 1 year ago

I can only guess. You are comparing very different scenarios. As windows is highly optimized and quaranteed to idle at lowest possible power consumption, I cannot say anthing about Manjaro Linux or your configuration. Maybe your linux box was not using c-states at all or has some background process stressing the CPU, hence you did not see drop in idle. Likewise you have to understand that temperature drop at high load is only visble when you stress all 16 virtual core on parallel - at lower utilization the cores can still run at pretty high speed and undervolting will not push it further (I tested cinebench with 8 cores and there was no large effect with undervolting, but 16 core test showed clear difference in performance as temps were lower).

In my own case, undervolting at -30 i and running Windows in KVM and Cinebench inside the Virtualized Windows, I can see identical drop in temperature as on bare metal Windows (about 75C max vs 90C without undervolting). About Linux: I use Proxmox virtualizer which is basically a Debian.

A good indicator of the undervotling working is when you monitor all core frequencies during a stress test. Usually single core threads can go up to 4450 MHz on my CPU. Now when I stress all cores they go to 4200 or below and with undervotling I can get them all uo to 4400. Thats a little better indicator than checking the temperature that can lag.

chirvo commented 1 year ago

Just to let you guys know that I compiled PyTorch twice, before and after running the script (with params -c 8 -o -30) and noted a difference of ~5 degrees less, tops of 85C (avg 84C plus throttling to 4.20GHz) and 80C (avg 79C almost no throttling, 4.40GHz-4.45GHz). CPU governor was set to performance.

CPU: 8-core AMD Ryzen 7 5800X3D (-MT MCP-) speed/min/max: 3603/2200/4549 MHz Kernel: 6.2.10-060210-generic x86_64 Mem: 64207.8 MiB

EDIT: Added sys specs