Pages:
Author

Topic: Custom RAM Timings for GPU's with GDDR5 - DOWNLOAD LINKS - UPDATED - page 47. (Read 155485 times)

sr. member
Activity: 588
Merit: 251
...finally getting interesting... Smiley

somebody might share Hynix AJR and Sam datasheet perhaps..?

I wonder how the optimized custom timings are related to the given minimal values in the official datasheet?
I mean how loose are the official values, are there even room for improvement below them, or custom straps simply are adjusted to the recommended official values...?

Here's an older Hynix GDDR5 datasheet.
https://drive.google.com/file/d/0BwLnDyLLT3WkeTBtekxTTloxMW8/view?usp=sharing

I don't have one for Samsung.  You can also find Elpida/Micron product briefs that will have basic stuff like #of banks (usually 16) and bank groups (4).
Often you can push the official timings by ~30%.  Sometimes, particularly when the RAM is not thermally connected to the heatsink, you may have a hard time pushing the timing by 10%.
http://nerdralph.blogspot.ca/2017/01/hot-video-cards.html

As has been mentioned in these (and other) forums many times, the best straps depend on the mining algorithm.  ZEC is harder to optimize for than ETH since it has lots of writes and more variation in memory access pattern.
https://bitcointalksearch.org/topic/limits-of-zec-mining-1679855
member
Activity: 81
Merit: 1002
It was only the wind.
I see at least a couple people have written strap decoding programs, but I can't find publicly released.  I was going to write one and release it publicly, but I figured if someone else has already written one...


So it's not as simple as using atombios.h to dump the fields in ATOM_MEMORY_TIMING_FORMAT_V2.
https://raw.githubusercontent.com/torvalds/linux/master/drivers/gpu/drm/radeon/atombios.h

Straps for GCN cards are 52 bytes long (3 bytes for memory clock, 1 byte for memory type, 48 bytes for strap), but sizeof(ATOM_MEMORY_TIMING_FORMAT_V2) = 40 bytes.

So is it just a matter of old-fashioned reverse engineering?  i.e. looking at different straps and reading through GDDR5 data sheets to figure out the strap offsets for different values?


Hah, you don't know the format and you're going to make a public tool? Your threats are like skate park swimming pools - empty Tongue

Looks like you haven't read the rest of the thread.  It took less than an hour to figure it out from the Linux drm code.


Not quite - they tell you part of the story - but look at MISC1, for example :3

lol - ssshhh... "fools rush in where angels fear to tread"

Well, doesn't matter, he'll have help, so everyone's fucked.
member
Activity: 126
Merit: 10
Guess what, i know almost nothing about CAS, ARB, MISC, but by trial & error method i managed to get a pretty good strap Smiley
Looks like its time to learn some shit, and understand what am i really doing when changing hex values LOL

Thank you ohgod people for sharing the knowledge Smiley

Since i am not Stilt and do not have access to internal AMD stuff,
i did mine 'mad science style' (shameless dick swinging) with search routine based on
genetic algorithms guided by regression forests on PCA transformed register field values (machine learning for fun and profit).
member
Activity: 81
Merit: 1002
It was only the wind.
I see at least a couple people have written strap decoding programs, but I can't find publicly released.  I was going to write one and release it publicly, but I figured if someone else has already written one...


So it's not as simple as using atombios.h to dump the fields in ATOM_MEMORY_TIMING_FORMAT_V2.
https://raw.githubusercontent.com/torvalds/linux/master/drivers/gpu/drm/radeon/atombios.h

Straps for GCN cards are 52 bytes long (3 bytes for memory clock, 1 byte for memory type, 48 bytes for strap), but sizeof(ATOM_MEMORY_TIMING_FORMAT_V2) = 40 bytes.

So is it just a matter of old-fashioned reverse engineering?  i.e. looking at different straps and reading through GDDR5 data sheets to figure out the strap offsets for different values?


Hah, you don't know the format and you're going to make a public tool? Your threats are like skate park swimming pools - empty Tongue

Looks like you haven't read the rest of the thread.  It took less than an hour to figure it out from the Linux drm code.


Not quite - they tell you part of the story - but look at MISC1, for example :3
hero member
Activity: 2548
Merit: 626
Guess what, i know almost nothing about CAS, ARB, MISC, but by trial & error method i managed to get a pretty good strap Smiley
Looks like its time to learn some shit, and understand what am i really doing when changing hex values LOL

Thank you ohgod people for sharing the knowledge Smiley

I'll prepare documentation this weekend to go along with all of this, that makes it clear what you're doing when you change stuff; and what each value is used for. You're very welcome. This stuff shouldn't be kept hidden - the straps are the important things, and people will still pay handsomely for straps.

You are very generous, thank you Smiley
legendary
Activity: 1428
Merit: 1000
https://www.bitworks.io
...finally getting interesting... Smiley

somebody might share Hynix AJR and Sam datasheet perhaps..?

I wonder how the optimized custom timings are related to the given minimal values in the official datasheet?
I mean how loose are the official values, are there even room for improvement below them, or custom straps simply are adjusted to the recommended official values...?



You can find one of the applicable Hynix datasheets online, Samsung I haven't seen posted anywhere
member
Activity: 81
Merit: 1002
It was only the wind.
I see at least a couple people have written strap decoding programs, but I can't find publicly released.  I was going to write one and release it publicly, but I figured if someone else has already written one...


So it's not as simple as using atombios.h to dump the fields in ATOM_MEMORY_TIMING_FORMAT_V2.
https://raw.githubusercontent.com/torvalds/linux/master/drivers/gpu/drm/radeon/atombios.h

Straps for GCN cards are 52 bytes long (3 bytes for memory clock, 1 byte for memory type, 48 bytes for strap), but sizeof(ATOM_MEMORY_TIMING_FORMAT_V2) = 40 bytes.

So is it just a matter of old-fashioned reverse engineering?  i.e. looking at different straps and reading through GDDR5 data sheets to figure out the strap offsets for different values?


Hah, you don't know the format and you're going to make a public tool? Your threats are like skate park swimming pools - empty Tongue
jr. member
Activity: 144
Merit: 2
...finally getting interesting... Smiley

somebody might share Hynix AJR and Sam datasheet perhaps..?

I wonder how the optimized custom timings are related to the given minimal values in the official datasheet?
I mean how loose are the official values, are there even room for improvement below them, or custom straps simply are adjusted to the recommended official values...?

full member
Activity: 199
Merit: 108
Look, I'm really not that interesting. Promise.
Guess what, i know almost nothing about CAS, ARB, MISC, but by trial & error method i managed to get a pretty good strap Smiley
Looks like its time to learn some shit, and understand what am i really doing when changing hex values LOL

Thank you ohgod people for sharing the knowledge Smiley

I'll prepare documentation this weekend to go along with all of this, that makes it clear what you're doing when you change stuff; and what each value is used for. You're very welcome. This stuff shouldn't be kept hidden - the straps are the important things, and people will still pay handsomely for straps.
legendary
Activity: 980
Merit: 1001
aka "whocares"
ok, you win.

In this case winning was irrelevant (aka "whocares"). Just explaining my thought process.

Now back on track.  You seem to have it all figured out, care to share some results of your mods?  I would love to see what you have accomplished.

Nope. Optimization is the hard part here.
With proper tools knowing exact result which can be achieved simplifies things a lot.

ok
hero member
Activity: 2548
Merit: 626
Guess what, i know almost nothing about CAS, ARB, MISC, but by trial & error method i managed to get a pretty good strap Smiley
Looks like its time to learn some shit, and understand what am i really doing when changing hex values LOL

Thank you ohgod people for sharing the knowledge Smiley
member
Activity: 126
Merit: 10
ok, you win.

In this case winning was irrelevant (aka "whocares"). Just explaining my thought process.

Now back on track.  You seem to have it all figured out, care to share some results of your mods?  I would love to see what you have accomplished.

Nope. Optimization is the hard part here.
With proper tools knowing exact result which can be achieved simplifies things a lot.
full member
Activity: 199
Merit: 108
Look, I'm really not that interesting. Promise.
Do you really think the big AMD vendors don't have access to AMDs proprietary in-house BIOS dev tools, and need to copy straps from some guy on forums? (FYI the Stilt had/has access to the same tools).

And with tools you also need brains to use it.
I do not exclude such possibility.
Given that there are some stock bioses which copy timings to higher straps and
that Stilt said vendors do lazy optimization job.
Of cause it may be because vendors and Stilt both had access to good stuff.

I am to lazy to do digging and will not put money on either case.
For the sake of optimization it is irrelevant 'who changed after who', only changed values is relevant.


ok, you win.  Now back on track.  You seem to have it all figured out, care to share some results of your mods?  I would love to see what you have accomplished.

I, too, would like to see some screenshots.

On the note of AMD:

You'd be surprised what big companies borrow from the community. Stilt did indeed have access to these tools; but that doesn't mean his work and his contribution to the community wasn't just as important. He opened up the door and made video game developers, miners, rendering farms, scientific communities etc. that were just starting, and didn't necessarily have the right contacts, that editing a VBIOS was a possibility.
He will always have my respect for that.

AMD did not have the ability to disable ROPs. This is something Stilt figured out on his own, and that's not something that's easy to find.
legendary
Activity: 980
Merit: 1001
aka "whocares"
Do you really think the big AMD vendors don't have access to AMDs proprietary in-house BIOS dev tools, and need to copy straps from some guy on forums? (FYI the Stilt had/has access to the same tools).

And with tools you also need brains to use it.
I do not exclude such possibility.
Given that there are some stock bioses which copy timings to higher straps and
that Stilt said vendors do lazy optimization job.
Of cause it may be because vendors and Stilt both had access to good stuff.

I am to lazy to do digging and will not put money on either case.
For the sake of optimization it is irrelevant 'who changed after who', only changed values is relevant.


ok, you win.  Now back on track.  You seem to have it all figured out, care to share some results of your mods?  I would love to see what you have accomplished.
member
Activity: 126
Merit: 10
Do you really think the big AMD vendors don't have access to AMDs proprietary in-house BIOS dev tools, and need to copy straps from some guy on forums? (FYI the Stilt had/has access to the same tools).

And with tools you also need brains to use it.
I do not exclude such possibility.
Given that there are some stock bioses which copy timings to higher straps and
that Stilt said vendors do lazy optimization job.
Of cause it may be because vendors and Stilt both had access to good stuff.

I am to lazy to do digging and will not put money on either case.
For the sake of optimization it is irrelevant 'who changed after who', only changed values is relevant.
sr. member
Activity: 652
Merit: 266
So my first try at a custom strap didn't work (GPU crashed almost immediately when mining ETH).
custom 1900: 1500RAS, 1625CAS, MISC2, & ARB
777000000000000022CC1C00AD515A3ED0570F15B98CA50A004AE7001C0714207A8900A00300000 01B11353F922A3217

A straight copy of the 1625 strap to 2000 works fine, while the 1500 strap gave errors even at 1900.  I tried taking the 1900 strap, RAS from the 1500, and CAS, MISC2 & ARB2 from the 1625 strap and using it for the 2000 strap.

My friend, you have a lot to learn...I was like u...a few weeks ago, then I read all the documentation regarding GDDR5 and with a little help(well...not so little) I managed to understand what actually those timings do Smiley
Keep up the good work by the way!
EDIT: I am also very keen to understand HBM/2 timings, if anyone has some knowledge on those(I already know the mode registers) any help via PM is highly appreciated!
legendary
Activity: 2117
Merit: 1397
WOW - thats a bold statement -- I would suggest doing a little more research before making wild statements like that, The Stilt is a well known and respected guy in the AMD world.   Huh

In regards to the other comments, welcome to the club, several of us (myself, wolf0 etc) have put in countless hours

Respect is irrelevant.
I said 'Out of historic context it is hard to tell who copied who.'
It is not bold, it just states that either vendors used Stilt work or other way around.
Who done it is irrelevant (at least for me), changed values are not.

Do you really think the big AMD vendors don't have access to AMDs proprietary in-house BIOS dev tools, and need to copy straps from some guy on forums? (FYI the Stilt had/has access to the same tools).
hero member
Activity: 751
Merit: 517
Fail to plan, and you plan to fail.
You should be kind and considerate and thankful that people are working hard to document and unlock how all this works - knowledge should be shared, and distributed freely. This kind of optimization isn't just valuable to mining; it's valuable to a lot of operations (including scientific research, which requires a lot of compute power, and benefits quite heavily from this kind of optimization).

Respect.
legendary
Activity: 1050
Merit: 1293
Huh?
WOW - thats a bold statement -- I would suggest doing a little more research before making wild statements like that, The Stilt is a well known and respected guy in the AMD world.   Huh

In regards to the other comments, welcome to the club, several of us (myself, wolf0 etc) have put in countless hours

Respect is irrelevant.
I said 'Out of historic context it is hard to tell who copied who.'
It is not bold, it just states what either vendors used Stilt work or other way around.
Who done it is irrelevant (at least for me), changed values are not.

Respect maybe irrelevant to you but not to me.  I respect those that put in the work.

Ultimately what matters on this forum is if the work yields a result.  I am hitting 530+ mining ZEC with a Fury X and a modified BIOS way under stock voltages.  There isn't a GDDR5 based card that can touch the numbers HBM cards can put up.  Obviously it isn't only the HBM but it certainly doesn't hurt

Yeah lol, now that a lot is out of the box, this thread is back to being super active..
Funny how "certain" people come back to live when free things are given out...

It's one thing to have the tools, it's another thing to know what you're doing... (where are them mode registers  Wink)
Pages:
Jump to: