Overclock.net - An Overclocking Community - Reply to Topic

Thread: R_Timings - Encode/Decode RX/R9 Memory Straps Reply to Thread
Title:
Message:

Register Now

In order to be able to post messages on the Overclock.net - An Overclocking Community forums, you must first register.
Please enter your desired user name, your email address and other required details in the form below.
User Name:
If you do not want to register, fill this field only and the name will be used as user name for your post.
Password
Please enter a password for your user account. Note that passwords are case-sensitive.
Password:
Confirm Password:
Email Address
Please enter a valid email address for yourself.
Email Address:

Log-in


  Additional Options
Miscellaneous Options

  Topic Review (Newest First)
01-29-2019 07:37 AM
datspike One more thing about the "Timing level feature" - performance does not change on the same clock whether I use the bios with 2250Mhz strap or the 1625Mhz strap in the 2000\2250Mhz memory state with lvl2 memory timing enabled in the driver. That could only mean that the driver code has predefined timings for each memory configuration (hynix 4g, hynix 8g, samsung etc).
01-17-2019 10:59 AM
mynm Thanks, inteersting, I will test asic values. I am going to stay some days with the stock bios to see if the gpu is ok. I have tesded 19.1.1 drivers and I have a crash in one game. And at desktop one time I get a freeze, a black screen and then it recovered. So I am testing 18.12.1.1 that seems ok for now.

Edited: I just get a game crash... I was trying to use OverdriveTool to set dpm 3 to 1.125 from 1.181v, but it seems the profile is still applied. I have no idea what is going on, I am tired of this...
01-17-2019 08:56 AM
datspike
Quote: Originally Posted by mynm View Post
I have one question about your 590 nitro+, do you see a 1.181v for the dmp 3 and 1.15v foe dpm 7. It seems that 580s and 590s with hight clocks are having this problem.
Yes, at stock it was exactly like that. For some reason, 62282..62288 pointers don't point to a true dpm voltage, my opinion on this is that Sapphire uses an auto voltage calculation method based on asic quality.

As I know there are 3 ways to set the dpm7 voltage on Polaris:
1. Manual voltage mode (aka software set) - uses voltage under 62282..62288 or manual voltage if specified.
2. Auto voltage when 0x10A byte in the ASIC_ProfilingInfo is set to 01. Voltage is being calculated depending on the ASIC quality, the voltage also depends on gpu temperature under load. (my card has this voltage "mode" by default).
3. Auto voltage when 0x10A byte in the ASIC_ProfilingInfo is set to 00. Voltage is set by bytes 0x102 and 0x103 in the ASIC_ProfilingInfo (usual stuff, i.e. 101875*4=407500 -> 4075 = FEB in hex -> EB 0F set in bytes 0x102 and 0x103) I think my old HIS RX 480 used this voltage mode with properly set voltages under the 62282..62288 (dpm3->dpm7) pointers, cannot check this anymore tho as I've lost the original bios for this card.

Extra (buggy?) voltage mode:
4. Auto voltage when 0x10A byte in the ASIC_ProfilingInfo is set to 01. However, the voltage is not being calculated depending on the ASIC quality and under load is set by bytes 0x102 and 0x103.
My friends 590 SE had that by default. I have a theory of why this happens - some gpu dies are not properly tested/binned when manufactured and the algorithm which chooses the voltage depending on the ASIC quality does not work. It's a bit strange because of GPU-z shows ASIC quality as normal.
01-17-2019 07:39 AM
mynm
Quote: Originally Posted by datspike View Post
@mynm yeah, there is a new feature in 2019 drivers (and new overdriventool also) which is afaik working even on Vega cards.
Spoiler!


My 590 is using Hynix memory and at stock it had a horrible 163 Gbps bandwidth (measured with poclmembench). With custom timings I've been able to get it to 215 Gbps stable in games, but with lvl2 @ 2200Mhz I'm stable at 226 Gbps.
Ok, I was using the 18.12.1.1 drivers, cause I was having some problesm with newer drivers. Now I have the 590 nitro+ with 19.1.1 an I see the new feature.

I have one question about your 590 nitro+, do you see a 1.181v for the dmp 3 and 1.15v foe dpm 7. It seems that 580s and 590s with hight clocks are having this problem.
01-17-2019 06:54 AM
datspike @mynm yeah, there is a new feature in 2019 drivers (and new overdriventool also) which is afaik working even on Vega cards.
Spoiler!


My 590 is using Hynix memory and at stock it had a horrible 163 Gbps bandwidth (measured with poclmembench). With custom timings I've been able to get it to 215 Gbps stable in games, but with lvl2 @ 2200Mhz I'm stable at 226 Gbps.
01-17-2019 06:14 AM
mynm Ok, thanks, intersting, but I don't understand what lvl2 generated timings are. Are the ones generated by the driver?. This could be interesting for vega gpus.
01-17-2019 05:32 AM
datspike @mynm it's working, however after hours of testing different custom-made timings AMD's lvl2 generated timings are still better, allowing for more bandwidth and more stability.
01-17-2019 05:29 AM
mynm
Quote: Originally Posted by datspike View Post
@ku4eto
Good news - I've managed to read the full timings with modified gateless gate sharp and compile them back to the timing strap, and the timings are actually working
Bad news - they probably misread from the card as testing with poclmembench shows slower memory bandwidth
Spoiler!

Link with source code of modified files and *.exe files
But, is bios mod working for the 590?, if so I don't see the point of doing this.
01-17-2019 04:25 AM
datspike @ku4eto
Good news - I've managed to read the full timings with modified gateless gate sharp and compile them back to the timing strap, and the timings are actually working
Bad news - they probably misread from the card as testing with poclmembench shows slower memory bandwidth
Spoiler!

Link with source code of modified files and *.exe files
01-15-2019 05:38 AM
ku4eto
Quote: Originally Posted by datspike View Post
Hi guys. Wondering you any of you got an idea how to get the timings which are used by the driver when "memory timing level" is active.
I've managed to track it down to the
Code:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000\PP_CNEscapeInput
registry key, but is just writes 00,01,02 (aka memory timing level) and thats it.
That means that the timing must be generated on the driver initialization.
Hey, i did find out the same a bit ago, like a week after the new drivers were out.

Same applies to Polaris and Vega cards.

The timings itself are not baked in the registries. Probably somewhere in the drivers itself. I still have to check on that, could be a .cab, or a DLL file.

I started checking out the GatelessMiner, since its using a method to modify runtime the timings. You can supposedly do it with MMIO and/or accessing via bus0.
This thread has more than 10 replies. Click here to review the whole thread.

Posting Rules  
You may post new threads
You may post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off