Yep, absolutely. Now also confirmed in HWINFO64.
GPU Clock = 1360-ish (vs 1408 set, so 50-ish droop)
GPU Memory Clock = 1100.0 MHz (solid)
GPU SOC Clock = 1199.0 MHz (solid)
EDIT: same accross all 6 cards.
EDIT 2: I've now been playing with the lower mem pstates and noticed that whatever clocks I enter there are being ignored and the cards are using presets instead. Very weird. SOC then sets itself to different freqs as well depending on which mem p_states are active...
Ok, I see what happened... Looks like your PPT has an edit changing p7 SOC to 1200 from 1107.
Look for "C0,D4,01,00,07" (only first occurrence) and try changing it to "6C,B0,01,00,07".
Still not sure why that would require 1v. When I run 1200 SOC, i generally see voltage requirements around 900mv +/- 20mv.
So the 1200 is hardcoded in the reg, yeah. I can change it down to 1107, it'll spare me more headaches.
Now why are the mem p_states hard coded too?
Whatever clocks I enter there are being ignored and the cards are using presets instead.
Currently I run in mem_p2 and it forces 800MHz clock. That gives me 1800h/s per card (power draw for 6 at the wall is 1120W) and is actually more efficient than running 2000 at total power draw of 1400W!
That drop from 1200 to 1107 SOC should save you at least 50mv, from my experience.
Drivers don't allow changing mem states p0-p2 at runtime. You should be able to edit them in PPT if you want, but i've never bothered. In the past, you could not edit core p0-p5 either (the whole reason everyone uses PPTs,) but this was changed w/ 19.x drivers. Unfortunately, they didn't make the same change for mem states (at least in early vers of 19.x - haven't tested latest versions.)
I can confirm that hardcoding back down to 1107 solved everything.
I'm now running 1408/1100 @ 850mV, SOC clock @ 1107 MHz. 12Kh/s, 1200W at the wall.
Of course this means I will not push the mem clocks higher, but tbh it was never really worth it. Especially as it completely buggered up the power states/delivery.
Thanks WillJ7 and pbfarmer you've been legends, as usual. If I only had merit left to spare I'd dish it all out to you!
Awesome! Glad you got it worked out. A couple last tweaks for you...
1. You can go up to 1107 on mem - tho obv won’t make much of a diff.
2. I tend to see 1400 effective possible w/ 850mv. W/ a 1408 setting, you’re prob running quite a bit lower at least on some of your GPUs due to acg - my 64 settings range from 1425-1550 to get to 1400.. Just keep bumping your clock setting til you see close to 1400 in hwinfo.
3. If you really want to shave the last bit of excess power, you might be able to get voltages on some cards down as low as 825mv. Every card is different tho, so like the core clock setting, you’ll have to tune each individually. And it’s an opaque relaionship between voltage and core clock - as you drop mv, core will need to be raised to maintain your target clock. It’s a bit of an art form finding the balance.
1. Yeah I will, gotta make the most out of it. Will keep the upper mem p_states disabled on configs that don't require memory (x16 algos etc).
2. I'm trying this just now on x16r. Apart from one card that clearly doesn't like higher clocks at all (must have terrible asic quality), the other ones seem to do well enough at 1458 set (~1410 effective). Testing with slightly higher voltage, but will lower if no accidents happen.
3. Exactly. Also, what works for "normal" algos like the CN variants is trickier on x16/20/22/etc as you need to see the cards survive all the cycles - several times - before you can declare a clock/voltage combo "stable". But at least now I have a solid basis to work from, not the absolute mess I had before.
Thanks again for your help!