Pages:
Author

Topic: AMD Mem Tweak XL - Read/modify timings/pp/straps on the fly - page 61. (Read 58892 times)

jr. member
Activity: 36
Merit: 7
I am trying to port this over to Windows for everybody.
Is there any tips you might have besides making use of the PCUtil's app?
I've not programmed in a long while so this is a bit out of my wheelhouse but somebody should step up.. well i'm that sucker.

Thank you! Any help is greatly appreciated. The fact you got this working on Linux and how fast the many mining OS's are implementing this, is great. I only wish i could do this conversion to Windows faster.

Thank you for this beautiful code.

Nefarious Fool
"To run a thousand miles is in awesome feat... too bad you can just take a flight and do the same thing in 2hrs... It sure does make it a lot less monumental"
newbie
Activity: 5
Merit: 0
For me "easily" mean I caused a kernel panic and/or a pci-error on every attempt to modify your code...  Angry
Anyway running an unmodified version of your tool I get this output:
./amdmemtweak -i 0 --current
#
NOTHING :-)

I think the problem is I'm using an OSS Driver from debian and not the amd one....
(https://wiki.debian.org/it/AtiHowTo)
My card (WX-5100) is peculiar and I could not achive a decent install on debian 9 of the amd driver..

Anyway, still reading your code, a brilliant work! (even if I can understand just a 10% of it)
Bye


I added support for your GPU  Wink

You can check last commits how it's done, it's fairly easy.
So next time, when you encounter this "issue" you know what to do Smiley

I also pushed a new release with a bunch of new HBM2 timings and a bunch of fixes Smiley

Enjoy!

nice @Eliovp! Definitely recognized now. Time to play around, thanks for your work on this tool!  Cheesy

YOU ARE A MASTER!

root@clarosrv:~/build/amdmemorytweak# ./amdmemtweak --current
GPU 0:  Device 67c7     pci:0000:42:00.0
CAS
  CL: 22          W2R: 16         CCDS: 5         CCLD: 3         R2W: 30         NOPR: 0         NOPW: 0
RAS
  RC: 74          RRD: 8          RCDRA: 25       RCDR: 25        RCDWA: 16       RCDW: 16
MISC
  RFC: 164        TRP: 23         RP_RDA: 26      RP_WRA: 54
MISC2
  WDATATR: 0      T32AW: 9        CRCWL: 25       CRCRL: 3        FAW: 14         PA2WDATA: 0     PA2RDATA: 0
DRAM1
  RASMACTWR: 35   RASMACTRD: 30   ACTWR: 10       ACTRD: 15
DRAM2
  RAS2RAS: 15     RP: 10          WRPLUSRP: 30    BUS_TURN: 35

You really deserve your donation man!
TXID 0x4563bf67d18a7bd552b3d78ada5ca59f57b76726f26f3263f8f48818ef30a1d8

Thank You!   Cool
jr. member
Activity: 148
Merit: 5
For me "easily" mean I caused a kernel panic and/or a pci-error on every attempt to modify your code...  Angry
Anyway running an unmodified version of your tool I get this output:
./amdmemtweak -i 0 --current
#
NOTHING :-)

I think the problem is I'm using an OSS Driver from debian and not the amd one....
(https://wiki.debian.org/it/AtiHowTo)
My card (WX-5100) is peculiar and I could not achive a decent install on debian 9 of the amd driver..

Anyway, still reading your code, a brilliant work! (even if I can understand just a 10% of it)
Bye


I added support for your GPU  Wink

You can check last commits how it's done, it's fairly easy.
So next time, when you encounter this "issue" you know what to do Smiley

I also pushed a new release with a bunch of new HBM2 timings and a bunch of fixes Smiley

Enjoy!

nice @Eliovp! Definitely recognized now. Time to play around, thanks for your work on this tool!  Cheesy
newbie
Activity: 5
Merit: 0

I also tried running a Radeon Polaris Pro Duo (dual WX-7100) and got nothing when running the tool... I'm obviously doing something wrong or this uncommon gpu just isn't supported, which wouldn't be too surprising. Thought it might be worth a try, simply because like your gpu bios mods aren't particularly practical with this guy and are fairly non-existent on the web.
[/quote]

I've done some debug of the code for my card....
The card is recognized as an ATI and amdgpu_regs is read
555                     snprintf(buffer, sizeof(buffer)-1, "/sys/kernel/debug/dri/%d/amdgpu_regs", instance);

but when the program try to identify the memory type, all the defined value in the buffer are wrong:

574                             lseek(gpu->mmio, MC_SEQ_RAS_TIMING, SEEK_SET);
(gdb) p lseek(gpu->mmio, MC_SEQ_RAS_TIMING, SEEK_SET)
No symbol "MC_SEQ_RAS_TIMING" in current context.
No symbol "MC_SEQ_CAS_TIMING" in current context.
No symbol "MC_SEQ_MISC_TIMING" in current context.
etc. etc..

Simply the values in the amdgpu_regs are not as expected.
Every time I try to analize those values and correct them, my server crash an reset  Huh

I was thinking the problem where in the driver, but if you got the same result with a wx-7100 the problem could be in the bios itself...
Surely I'm too tired tonight to try again, I will let you know if I can go further...

Bye

 
legendary
Activity: 1050
Merit: 1293
Huh?
For me "easily" mean I caused a kernel panic and/or a pci-error on every attempt to modify your code...  Angry
Anyway running an unmodified version of your tool I get this output:
./amdmemtweak -i 0 --current
#
NOTHING :-)

I think the problem is I'm using an OSS Driver from debian and not the amd one....
(https://wiki.debian.org/it/AtiHowTo)
My card (WX-5100) is peculiar and I could not achive a decent install on debian 9 of the amd driver..

Anyway, still reading your code, a brilliant work! (even if I can understand just a 10% of it)
Bye


I added support for your GPU  Wink

You can check last commits how it's done, it's fairly easy.
So next time, when you encounter this "issue" you know what to do Smiley


I also pushed a new release with a bunch of new HBM2 timings and a bunch of fixes Smiley

Enjoy!
jr. member
Activity: 148
Merit: 5


Even if I can appreciate a generic answer like yours, my post was a direct request to the author to add Polaris cards in the KnownGpus of this tool


Open source, you can easily add whatever you want ;-)

Cheers!

For me "easily" mean I caused a kernel panic and/or a pci-error on every attempt to modify your code...  Angry
Anyway running an unmodified version of your tool I get this output:
./amdmemtweak -i 0 --current
#
NOTHING :-)

I think the problem is I'm using an OSS Driver from debian and not the amd one....
(https://wiki.debian.org/it/AtiHowTo)
My card (WX-5100) is peculiar and I could not achive a decent install on debian 9 of the amd driver..

Anyway, still reading your code, a brilliant work! (even if I can understand just a 10% of it)
Bye


I also tried running a Radeon Polaris Pro Duo (dual WX-7100) and got nothing when running the tool... I'm obviously doing something wrong or this uncommon gpu just isn't supported, which wouldn't be too surprising. Thought it might be worth a try, simply because like your gpu bios mods aren't particularly practical with this guy and are fairly non-existent on the web.
newbie
Activity: 5
Merit: 0


Even if I can appreciate a generic answer like yours, my post was a direct request to the author to add Polaris cards in the KnownGpus of this tool


Open source, you can easily add whatever you want ;-)

Cheers!

For me "easily" mean I caused a kernel panic and/or a pci-error on every attempt to modify your code...  Angry
Anyway running an unmodified version of your tool I get this output:
./amdmemtweak -i 0 --current
#
NOTHING :-)

I think the problem is I'm using an OSS Driver from debian and not the amd one....
(https://wiki.debian.org/it/AtiHowTo)
My card (WX-5100) is peculiar and I could not achive a decent install on debian 9 of the amd driver..

Anyway, still reading your code, a brilliant work! (even if I can understand just a 10% of it)
Bye
newbie
Activity: 7
Merit: 11
Considering Vegas should already have been doing 45, those numbers aren’t super credible.

45 on a Vega 64, definitely doable with stock timings.

Add another 5Mh to that with the extra options you have now is definitely doable.


Yep - that was kinda my point... sounds more like this guy figured out how to properly tune his vega, then added the timing benefits on top of that.

Probably sitting at 350w+ to get 50+Mh/s which just doesn't make sense from a hash to watt ratio standpoint.

its 160 wats at 50mh i have tested and have posted my results above
full member
Activity: 1123
Merit: 136
Considering Vegas should already have been doing 45, those numbers aren’t super credible.

45 on a Vega 64, definitely doable with stock timings.

Add another 5Mh to that with the extra options you have now is definitely doable.


Yep - that was kinda my point... sounds more like this guy figured out how to properly tune his vega, then added the timing benefits on top of that.

Probably sitting at 350w+ to get 50+Mh/s which just doesn't make sense from a hash to watt ratio standpoint.
member
Activity: 340
Merit: 29
Considering Vegas should already have been doing 45, those numbers aren’t super credible.

45 on a Vega 64, definitely doable with stock timings.

Add another 5Mh to that with the extra options you have now is definitely doable.


Yep - that was kinda my point... sounds more like this guy figured out how to properly tune his vega, then added the timing benefits on top of that.
legendary
Activity: 1050
Merit: 1293
Huh?
Considering Vegas should already have been doing 45, those numbers aren’t super credible.

45 on a Vega 64, definitely doable with stock timings.

Add another 5Mh to that with the extra options you have now is definitely doable.

I don't have any AMD cards anymore, but I remember you from way back when I did and I was modding my own BIOSes. Full credit to you for sharing this phenomenal piece of work.

Thanks for the nice words Smiley
hero member
Activity: 682
Merit: 500
I don't have any AMD cards anymore, but I remember you from way back when I did and I was modding my own BIOSes. Full credit to you for sharing this phenomenal piece of work.
member
Activity: 340
Merit: 29
I played with this tool during the weekend on Vega.
But to be honest I did not see any hashrate increase under CN algos.
I'm not an expert on timings, but I should see at least 1-2% increase when changing CL 20->19

That was the first time I put a Linux AMD system together and I am struggling with the different kernel and driver versions not working together.
The biggest problem is the GPU freq is affected by the voltage.
If I set in PPT P7 1600 950 then the GPU runs only at around 1400@950mV. If I increase the voltage the clock goes up, but quickly reaches TDP.
Also if I try to trick it and set P7 1700@950 then if load changes freq spikes up and card freezes obviously.
Tried with 3 different kernels and one is worse than the other.
Maybe I should try other than the 18.50 amdgpupro?

Ubuntu 18.04 + amdgpu-pro 18.5 is what I use, without problems.  The voltage-frequency relationship is a Vega feature (ACG), not the driver.  Same behavior is observable in Windows, though not as aggressive for some reason.  Every card is different, but depending on the algo, a 1500 cclock setting in Windows (to get to 1400 effective for example) may require a 1600-1700 setting in Linux for the same result (@ same voltage).  The trade off is while in Windows a too aggressive cclock overshoot generally caused a crash/hang on load transitions, I do not see the same problems on Linux.

Also, fyi a ~1400 effective cclock is generally achievable with <= 850mv.  950 is really high for almost any algo, unless you’re running mem above 1107 (hint: don’t - it’s not worth it wrt efficiency.)

member
Activity: 340
Merit: 29
... I still expect mining OS's to have it built in soon. ...

Already added it to our minerstat OS ...

And it works.
User reported the increase from 38MH/s to 52MH/s on his Vegas.

From 38 to 52, i doubt it  Wink

This isn't a hocus pocus tool :p

I'm just excited to share the result of the user and I don't think he would lie about it.
But if you are curious about the results, you can talk with the user that reported the results on our Discord.

Edit: We have updated it to the latest version.

Considering Vegas should already have been doing 45, those numbers aren’t super credible.
newbie
Activity: 7
Merit: 11
..... Changing CL at all crashes everything. ...

as it says in the new update cl is about stability messing with it in any way is not good
hero member
Activity: 809
Merit: 501
Has anyone tried it on 550/560 cards? Or 580 cards? Changing CL at all crashes everything.

Thanks so much, Eliovp!
newbie
Activity: 7
Merit: 11
ok i did a lot of playing around with this and on hive os with vega 64 i found these to be the best values

rc 45        

faw 19        

ref 15000  

rfc 247

no improvements on cryptonight algos

https://imgur.com/a/28b4I15
legendary
Activity: 1050
Merit: 1293
Huh?
@Elivop seems like wtrl is not working hbm2

Answered on github, will copy what i wrote:


Even if I can appreciate a generic answer like yours, my post was a direct request to the author to add Polaris cards in the KnownGpus of this tool


Open source, you can easily add whatever you want ;-)

Cheers!
newbie
Activity: 5
Merit: 0
For rx580 this thing got no use, my opinion. You have allredy stripped firmwares all over the net, why you would use this for 580 Huh
This has use for Vega cards because you dont have other option Wink

So that you can experiment with live values instead of BIOS modding every time?

There are a plenty of Polaris cards of different producer without any available bios and then the WX-x100 series (amd pro cards) which are not compatible with the timings “one click” or available on internet. Having a tool like this one available for Polaris cards would be a great advantage, at least for a wx-5100 owner like myself

Ciao


If this card works under Linux, then the information about the memory and timings may reside in the driver sources. The vbios is also on the card, just a matter of dumping it, as for whether any tool can recognize structures or not, thats a different story.

Even if I can appreciate a generic answer like yours, my post was a direct request to the author to add Polaris cards in the KnownGpus of this tool



newbie
Activity: 7
Merit: 11
@Elivop seems like wtrl is not working hbm2
Pages:
Jump to: