You are not logged in.
Hi all,
I have a Gigabyte Radeon RX Vega 64 GAMING OC 8GB and I have been playing with undervolting/overclocking the card for a better performance/power draw ratio. I have used this thread as a guide: https://forums.overclockers.co.uk/threa … .18793012/
I have set the voltages/frequency as follows: P6/P7 core - 1500/1525 P6/P7 voltage @ 950mV
HBM freq @ 1025 and voltage @ 950mV
Now of course prior to doing that I added the amdgpu.ppffeaturemask parameter to the boot line with value 0xfffd7fff.
WattmanGTK shows the values I have set properly but looking at sudo watch -n 0.5 cat /sys/kernel/debug/dri/0/amdgpu_pm_info shows that the voltage is at 1200mV (VDDGFX). The power draw is also not reduced as one could expect from undervolting the clocks but shoots up instead to 320W (50% power limit was also enabled).
Here is the script I use to modify the clocks: https://gist.github.com/Bednar87/eeeee4 … e2900d3405
Any ideas what's going on?
Where do I best open an issue against it? Kernel mailing list?
Thanks
Offline
Can you show how the pp_od_clk_voltage contents look like for you?
Last edited by Ropid (2019-04-07 11:00:09)
Offline
Can you show how the pp_od_clk_voltage contents look like for you?
Hi!
Sure.
cat /sys/class/drm/card0/device/pp_od_clk_voltage
OD_SCLK:
0: 852Mhz 800mV
1: 991Mhz 825mV
2: 1084Mhz 850mV
3: 1138Mhz 875mV
4: 1250Mhz 900mV
5: 1370Mhz 925mV
6: 1475Mhz 950mV
7: 1575Mhz 950mV
OD_MCLK:
0: 167Mhz 800mV
1: 500Mhz 825mV
2: 800Mhz 865mV
3: 1050Mhz 950mV
OD_RANGE:
SCLK: 852MHz 2400MHz
MCLK: 167MHz 1500MHz
VDDC: 800mV 1200mV
Offline
I could find people here complaining about the same thing as you:
https://github.com/RadeonOpenCompute/ROCm/issues/463
There's several people saying they see the values change in pp_od_clk_voltage but this isn't actually doing anything. Someone measured with wattmeter device at the power outlet and there's definitely no change in the hardware.
Then someone writes that what does work is a scary method that writes binary data into the "pp_table" file. If you want to try that, check out this post here about how to create a file with your own clock/voltage values:
https://github.com/RadeonOpenCompute/RO … -418604330
This whole thing with the spreadsheet software seems crazy.
What you asked about where to go to complain, I think the bug tracker you should go to is this one here:
https://bugs.freedesktop.org/buglist.cg … t=advanced
This seems to be the bug tracker for the amdgpu kernel module which should be the part that is responsible for pp_od_clk_voltage not working right.
Last edited by Ropid (2019-04-07 11:41:46)
Offline
thanks for taking the time to look into this. I have also tried the LTS kernel (as well as mainline 5.1 -RC3) but the result is the same. I have for now restored the settings to their default values.
I have also opened an issue on bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110347
I am able to work around the voltage issue by setting P6 frequency = P7 Frequency. In this case the voltage sits at the pre-defined value of 950mV, but I run into another problem. Memory Pstate is stuck at 0 (167 MHZ) so the overall performance goes down significantly. It seems there's an issue when the card goes into P7 with respect to voltages.
See also https://bugs.freedesktop.org/show_bug.cgi?id=109887
Last edited by Bednar (2019-04-07 15:02:47)
Offline
About the memory clock staying stuck at the p0 state: did you write the full set of values for all states into the pp_od_clk_voltage file or did you just write core p6 and p7?
I vaguely remember problems here with my RX480 when the ppfeaturemask option is used. I think the card refused to switch between states until my overclocking script ran. That script sets everything in pp_od_clk_voltage, even the values I don't intend to change from default.
Offline
Hi,
I write the full set of values, yes. At the moment, the values are as follows:
echo "s 0 852 800" > "$SYSPATH/pp_od_clk_voltage"
echo "s 1 979 825" > "$SYSPATH/pp_od_clk_voltage"
echo "s 2 1106 850" > "$SYSPATH/pp_od_clk_voltage"
echo "s 3 1233 875" > "$SYSPATH/pp_od_clk_voltage"
echo "s 4 1360 900" > "$SYSPATH/pp_od_clk_voltage"
echo "s 5 1485 925" > "$SYSPATH/pp_od_clk_voltage"
echo "s 6 1615 1000" > "$SYSPATH/pp_od_clk_voltage"
echo "s 7 1615 1000" > "$SYSPATH/pp_od_clk_voltage"
# Set memory frequencies/voltages:
echo "m 0 167 800" > "$SYSPATH/pp_od_clk_voltage"
echo "m 1 500 825" > "$SYSPATH/pp_od_clk_voltage"
echo "m 2 800 865" > "$SYSPATH/pp_od_clk_voltage"
echo "m 3 1050 1000" > "$SYSPATH/pp_od_clk_voltage"
Thanks
Last edited by Bednar (2019-04-07 20:22:27)
Offline
Is this still an issue? I can't my Vega to work with this either..
Offline