Author

Topic: AMD GPU Timings Discussion - How do you brew a correct strap? (Read 228 times)

jr. member
Activity: 196
Merit: 1
For some memories there is good straps to start.

Your 2000MHz strap is close to Ubermix 3.1 (just 2 digts are different). I couldn't improve it, it's so tight.

I've read a tip for XMR mining to try lowering ACTWR and TRFC but it didn't have any sucess (lowering tRFC for Elpida gave me just 2H/s more in my straps).

This thread can concentrate useful information. Great idea.

Just a question: Your 2200MHz strap is for Samsung K4G8? I always find Ubermix as best strap, but my 580 8GB Samsung memory give me erros at 2030+ (its terrible). I could try your strap to fix this.
member
Activity: 277
Merit: 23
I do support the idea, would be nice have from respected members a right pointer from where to start...
newbie
Activity: 55
Merit: 0
As a embedded system engineer, I will try to give some clarifications.

The bios modding requires a software approach but it is in reality hardware related.

Same memory dies (die=silicium substrate that has been "engraved" to give a component) have some differences when leaving the foundery but they all respect the datasheet specifications (default timing values).

The manufacturer gives more or less the optimum driving signal parameters within the voltage and temperature ranges for which the component has been designed with some tolerance.

GPU assemblers must then respect these values. Additionnaly to the memory die quality, many other factors will affect performances. The GPU IC and the PCB design could lead to some "signal quality loss" due to signal path delays and integrity "problems".

To compensate these "problems" (almost inevitable), the GPU manufacturer also slows down the memories by lowering the memory driving signal clock and rising driving signal delays so that all manufactured GPU that passed the HW QC test will work.

Usually, you have between 4 and 8 memory ICs on a single GPU board and each of them are more likely different but fed with the same reference clock. Separating clocks and using independant timing parameters is technically possible but this would lead to a cost increase for the GPU IC manufacturer.

If one of the memories on your GPU card can "only" run at 1800MHz because of its "bad" die quality, others are condemned to run at 1800MHz.
This means that when you try to optimize a bios, you have to reduce the timing delays down to the lowest supported by the "weakest" memory.
The time required for R/W instructions cycles will determine your mining speed and this time is a sum of delays defined in the timing strap.

When you mod the bios, you play with driving signal delays and you try to get the correct values for you PCB and your memories by trying to remove the tolerances set by GPU and memory manufacturers. Signal form width defined in the "timing strap" are called "clock cycles" for each step of the driving signal.
When you go below the supported limits, signal propagation in the memory die is not well done and you encounter errors thus leading to computation errors or even crashs.

To dive into memory driving technologies, you may want to read more about address/data latching, strobing, fetching... (google these words).
member
Activity: 476
Merit: 19
Trying to understand ? good attitude

Have you try fishing ? if you go in the middle of nowhere and find a fisherman, he will probably tell you which fly to use.
If you got in a pond with plenty of fishermen, probably the same guy will just ignore you.

Same here....

Somewhere, sometimes ago, some guys had access to some document from Amd. explaining  what is the workflow .

I was unable to find the original document even if the link is somewhere in Bitcointalk but you probably can and also you will understand it Smiley


Have you looked at:

https://bitcointalksearch.org/topic/custom-ram-timings-for-gpus-with-gddr5-download-links-updated-1758267

?


then

you don't need to reflash thousands of bios:

Go here  on monday ( ver 1.3.3 probably will be uploaded and its supposed to work )

https://bitcointalk.org/index.php?topic=1716584.2560


newbie
Activity: 5
Merit: 0
That seems to be not quite a good idea, in terms of efficiency. Because that topic is very general, related to software and the very all kind of related problems.
It counts 500+ pages and its hardly to find description on experiments with exact timing values and overall conclusions.

As i wrote
I was aware of that kind of topics, but from what i saw - i cannot find information on each timing effect - this subject is way too technical and was not been quite discussed.
People are just sharing entire ready straps or even ready bioses, without concerning/explaining "why that numbers and not another ones?"
I would like to narrow topic from "bios editing" to "separate timings editing and their effects on mining speed", particulary interested in its effect on ethereum hashrate.

For example - what if i change RAS2RAS? does it have effect? or no? is it's value bound somehow to another timing's values?
And so on. Does anybody have such kind of knowledge or experienced in that?
newbie
Activity: 5
Merit: 0
Hello.

I often saw some loosely related, more specific discussions on that topic. There people were sharing their memory timing straps for several specific models, or asking why it does not work, or even how to unbrick, and so on. But i've failed to find an answer on how to produce these straps by your own idea, and not by copying 1750th to 2000th and/or just lowering random values and hope on a luck.
Here are some good tools and posts, that could act as a starting point:


But no one and nowhere had concluded so far, what timings exactly affects various miners performance, and never wondered why.
For the case, lets stick with claymore eth, then zec and xmr miners (two latter seems to be not quite affected by timing patches in that much sense as ETH, or even require different patters).

I am discussing primarily RX4xx, RX5xx series cards, But information about older/newer models is also welcome.
Almost all my cards are RX480 with samsung memory, giving ~30MH on Ether. My "straps of luck" were copied by random search and are as follows:

  • 2000mhz: 777000000000000022CC1C00AD615C41C0590E152ECC8608006007000B031420FA8900A00300000 010122F3F88354019
  • 2200mhz: 777000000000000022CC1C00106A6D4DD0571017B90D060C006AE70014051420FA8900A00300000 01B11333DC0303A17

That is just for an exapmle. But my cards are not exactly subject of the topic and i want to find some theoretical base, to build up my own digits. By some knowledge, and not by reflashing it million times, before i get the meaning of each bitset :-)


So here is a list of related topic questions:

  • Do you know detailed description for each timing?
  • Which of timings directly increases hash rate? (and, if you manage to know - why?)
  • Which are responsible for card stability?
  • Which are responsible for power consumption?
  • Do timings have dependency on each other? What could be a formula for that dependency?

I would appreciate if you could share your thoughts on these. Best regards, xakepp35.
Jump to: