matszpk / amdcovc

Utility to overclock AMD Radeon GPU's in console mode (linux)
GNU General Public License v2.0
192 stars 33 forks source link

Strange thing after overclocking memory clock #4

Open gakuzen opened 7 years ago

gakuzen commented 7 years ago

First, thank you so much for making and sharing "amdcovc". It is so convenient to use.

The problem: After overclocking memory clock, the Mem clock is locked at the min. speed. (300 Mhz for my MSI RX580 Gaming X 8GB)

By checking "pp_mclk_od" and "pp_dpm_mclk", the overclock number is correct. However, I notice that during high gpu load, the (asterisk) inside the "pp_dpm_mclk" seems to be sticking with the lowest clock speed. While overclocking core clock works as expected, the (asterisk) inside "pp_dpm_sclk" move to the proper position.

I wonder is it a problem of the amd driver or not.

Thank you very much, matszpk.

matszpk commented 7 years ago

I confirmed this strange behaviour on my OpenSUSE and AMDGPU-PRO 17.10 on my RX 480. Likely, this is a bug in AMDGPU-PRO drivers. While setting memclk/memod parameter read some files in card0/device directory and write value to pp_mclk_od file, so amdcovc do not make some strange things during its work.

matszpk commented 7 years ago

After that experiment and after running miner, I observed much lower temperature of RX 480 and much lower performance. This is much stranger than previous issue. Can you confirm that behaviour?

gakuzen commented 7 years ago

I also think that it is probably due to the AMDGPU-PRO drivers. While I am using Ubuntu 16.04 LTS and AMDGPU-PRO 17.10.

Yes, the performance is much lower because the memory clock is locked at the lowest stage after overlocking by memclk or memod. However, after reboot, the memory clock performs as stock again(without locking the memory clock).

jangid commented 6 years ago

Is the issue still there with 17.40? I know I should check it myself but just wanted to know if you have tested it with 17.40.

stkndrflw commented 3 years ago

Hello from the future, I have the same problem on an old RX570, now with AMDGPU-PRO 20.50 (headless and no dkms). OS is Ubuntu 20.04.

Underclocking/undervolting the core works like a charm with something like

sudo sh -c "echo 's 2 954 837' > /sys/class/drm/card0/device/pp_od_clk_voltage"

But when I want to change the memory clock setting from 1750MHz (highest clock in default PP table) to anything else, for example this:

sudo sh -c "echo 'm 2 1800 900' > /sys/class/drm/card0/device/pp_od_clk_voltage"

The mem clock falls back to its minimum (300 MHz in my case). BUT reading out pp_dpm_mclk yields the correct percentage of overclocking I did, in the example above it is 3 (1750MHz to 1800MHz is ~3% more). Writing a 3 into pp_dpm_mclk however changes nothing, the mem clock stays at 1750MHz.

Has anyone found a solution to this? That would be great.