Wednesday, May 22nd 2019

AMD Memory Tweak Tool Lets You OC and Tweak AMD Radeon Memory Timings On-the-fly

Eliovp, who describes himself on GitHub as a Belgian [crypto] mining enthusiast, created what could go down as the best thing that happened to AMD Radeon users all decade. The AMD Memory Tweak Tool is a Windows and Linux based GUI utility that lets you not just overclock AMD Radeon graphics card memory on the fly, but also lets you tweak its memory timings. Most timings apply live, while your machine is running within Windows/Linux GUI, some require memory retraining via a reboot, which means they can't be changed at this time, because rebooting reverts the timings to default. The author is trying to figure out a way to run memory training at runtime, which would let you change those timings, too, in the future. While you're at it, the tool also lets you play with GPU core frequency and fan-control.

The AMD Memory Tweak tool supports both Windows and Linux (GUI), and works with all recent AMD Radeon GPUs with GDDR5 and HBM2 memory types. It requires Radeon Software Adrenalin 19.4.1 or later in case of Windows, or amdgpu-pro ROCM to be actively handling the GPU in case of Linux. The Linux version further has some dependencies, such as pciutils-dev, libpci-dev, build-essential, and git. The source-code for the utility is up on GitHub for you to inspect and test.

DOWNLOAD: AMD Memory Tweak Tool by Eliovp
Add your own comment

12 Comments on AMD Memory Tweak Tool Lets You OC and Tweak AMD Radeon Memory Timings On-the-fly

#1
R0H1T
Would be interesting to see how the timings affect latency if at all, any guinea pigs volunteers?
Posted on Reply
#2
xkm1948
So no HBM1 tweaking? Bummer.
Posted on Reply
#3
HD64G
xkm1948 said:

So no HBM1 tweaking? Bummer.
Did you test it already? In the page it is written that it supports:
  • GDDR5 Based AMD GPU's
  • HBM / HBM2 Based AMD GPU's
  • Linux
  • Windows (Beta)
so it seems that HBM of your Fury X could be tuned using that tool.
Posted on Reply
#4
xkm1948
HD64G said:

Did you test it already? In the page it is written that it supports:
  • GDDR5 Based AMD GPU's
  • HBM / HBM2 Based AMD GPU's
  • Linux
  • Windows (Beta)
so it seems that HBM of your Fury X could be tuned using that tool.
Ahhh did not read it carefully.

Will try it next time I am over my relative's home and see how she likes the FuryX
Posted on Reply
#5
A.Stables
R0H1T said:

Would be interesting to see how the timings affect latency if at all, any guinea pigs volunteers?
On it with a Sapphire Vega 64 LE detects Samsung HBM2 some off the timings look o.0 but ill have to get a data sheet for them somewhere
Posted on Reply
#7
MrGenius
I've had this for a while now and have yet to use it. There's a thread on another site. Needs linked here for the tips and tricks. I'll do so shortly...

EDIT: Here's that thread.

Here's an excerpt of some tips and tricks found therein:
Lucky Vega 64 or flashed 64 (Samsung):
--CL 19 --RAS 28 --RCDRD 12 --RCDWR 5 --RC 44 --RP 12 --RRDS 3 --RRDL 3 --RTP 4 --FAW 18 --CWL 6 --WTRS 4 --WTRL 9 --WR 15 --WRRD 1 --RDWR 18 --REF 17000 --RFC 248

Weaker Vega 64 or flashed 64 (Samsung) - use if lucky timings aren't stable:
--CL 19 --RAS 30 --RCDRD 12 --RCDWR 6 --RC 44 --RP 13 --RRDS 5 --RRDL 5 --RTP 4 --FAW 18 --CWL 6 --WTRS 4 --WTRL 9 --WR 15 --WRRD 1 --RDWR 18 --REF 17000 --RFC 248

Lucky Vega 56 (Hynix):
--RAS 22 --RCDRD 17 --RCDWR 4 --RC 35 --RP 13 --RRDS 4 --RRDL 4 --RFC 148 --REF 15600

Weaker Vega 56 (Hynix):
--RAS 24 --RCDRD 19 --RCDWR 4 --RC 35 --RP 13 --RRDS 4 --RRDL 5 --RFC 148 --REF 15600
Posted on Reply
#8
Lindatje
Yes it works good but you notice it best with 1%low and 0.1%low`s.
Posted on Reply
#9
delshay
Thanks for the heads-up, I can now test this on my R9 Nano.
Posted on Reply
#10
theoneandonlymrk
After trying it on a Vega 64 Im happy to say it works, and is easy to use, ill add it to the Vega club Op ,Ty.
Posted on Reply
#11
delshay
Can also confirm it is working on R9 Nano, just need to understand some of the timing parameters.
Posted on Reply
#12
forman313
If this is correct, its no wonder the card is behaving strange. It doesnt seem to use the memory straps. I get the same numbers with 2D and 3D clocks. I cant test higher strap. Even a tiny 10-12Mhz bump crashes the card right away.

XFX 7950 DD with custom PCB and no i2c .. only GPIO for core voltage control.



Here is the 1250Mhz strap. RAS2RAS, RP, tRFC etc are different.

Spoiler: "Elpida memory timings"
TRCDWA = 27
TRCDR = 20
TRCDRA = 18
TRRD = 0
TRC = 16
Pad0 = 0

TNOPW = 1
TNOPR = 3
TR2W = 18
TCCDL = 1
TR2R = 2
TW2R = 9
Pad0 = 7
TCL = 3
Pad1 = 0

TRP_WRA = 0
Pad0 = 0
TRP_RDA = 38
TRP = 13
TRFC = 14

PA2RDATA = 2
Pad0 = 0
PA2WDATA = 2
Pad1 = 0
TFAW = 10
TCRCRL = 5
TCRCWL = 28
TFAW32 = 0

MC_SEQ_MISC1: 0x20140F64

MC_SEQ_MISC3: 0xA78089BA

MC_SEQ_MISC8: 0x00007C00

ACTRD = 19
ACTWR = 14
RASMACTRD = 30
RASMACTWR = 35

RAS2RAS = 49
RP = 36
WRPLUSRP = 46
BUS_TURN = 17
Posted on Reply
Add your own comment