Amd memory tweak linux

AMD Memory Tweak v0.2.3: Download and Apply Timings

In this tutorial, you will learn how to set up and use the latest AMD Memory Tweak v0.2.3 and newer.

Download for Windows / Linux

What is AMD Memory Tweak?

— is a new open source tool introduced by Eliovp and A. Solodovnikov. It is a tool that allows you to change graphics card memory timings on the fly like ETHlargementPill, but for AMD. This tool is also compatible with Vega. Works from the command line only.

AMDMemoryTweakXL — This version has a graphical shell. Works similar to your typical graphics card overclocking software such as MSI Afterburner, EVGA Precision XOC or Asus GPU Tweak II. However, Elievp and Solodovnikov’s program primarily focuses on the memory aspect, so it has more advanced features, one of which is the ability to adjust memory timings on the fly.

System requirements

  • OS: Windows 10 / Windows 8 / Windows 7 / Windows Vista / XP and Linux.
  • Driver: At least Radeon Software Adrenalin 19.4.1 (and AMDGPU-Pro for Linux).
  • Driver: At least Radeon Software Adrenalin 19.4.1 (and AMDGPU-Pro for Linux).

Supported Graphics Cards

The authors did not provide a compatibility list, but the program should work with a wide range of AMD Radeon graphics cards, ranging from older models with GDDR5 memory to the latest offerings with HBM (High Bandwidth Memory) and HBM2 memory.

How to use AMD Memory Tweak

Step 1 — download the software

The version for Windows is called WinAMDTweak.exe . However, you need to download all files ( IOMap64.sys , IOMap.sys ) and place them in one folder.

Step 2 — launch AMD Memory Tweak

To work with the utility, you need to study the timings of the available video memory and create a file with the .bat extension with their optimal values ​​for mining.

To find out the current values ​​of the timings, enter the command in the batch file:

The performance of the video memory increases with decreasing latency. We need to lower the timing values ​​and apply them with this software. Keep in mind that video memory from different manufacturers (Samsung, Hynix, Micron, Elpida) have individual characteristics of overclocking timings (lines).

Step 3 — change timings via bat file

For the Vega 56 video card with Hynix video memory, the timings will be as follows:

The launch is performed on the .bat file you created.

Since the timings are applied on the fly, in the event of a reboot, you will have to execute the command again. In order not to perform it every time, configure the batch file autoloading.

To autostart, put your .bat shortcut to Windows Startup. The startup folder in the Windows 10 operating system is located in the following path: C:\Users\ Username \AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

Example for Samsung video memory:

Video guide

Attention!
Miners PhoenixMiner and NBMiner already have a ready-made and built-in timing setting. Read about NBMiner and PhoenixMiner.

AMD Memory Tweak XL

As already mentioned, the XL version, unlike the usual one (CLI), has a graphical shell (GUI):

In it, you can make settings directly in the program window:

It is better to run the software as an administrator.

For GPUs of the Polaris family, add the parameter:

Hive os — RX Boost — AmdMemTweak

I stopped the miner, then I go to Overclocking and here on this screen, there’s a new parameter «Mem tweak». We suggest you put the value of 30 here, then click Save implies, this Overclocking ok. Then I start miner again. MD settings applied. We wait for the miner to settings up. Previously, the hash rate was 55 MH/s, now it has grown to 63 MH/s.

Читайте также:  Running linux ��������� linux

Timings for various video cards

Vega 56 Samsung

Vega 64

This will set all settings on all 8 Vega 64 cards (just change the –i parameter in the above script to include the number of cards you have) — with one exception, it does not set the core clock, core voltage, memory frequency, and memory voltage.

RX 5700

For RX 5700 this tool does not work. The developer of this tool opened his own production of rigs based on the 5700 with his own operating system.

On GDDR6, the parameter is written —REF 30 in the timings when editing the BIOS. It is important to set it from 9000 to 16000. Changing timings on the fly for GDDR6 is locked.

In any case, NAVI will work the same as Vega 56/64. The memory bandwidth is the same. GDDR6 will perform slightly better due to tighter timings compared to HBM. The main result will be energy savings compared to the Vega.

Note!
RBE has fully decoded GDDR6 timings. Over 100 different sling timings. A stability of 60+ MH should be readily achievable.

RX 470/480/570/570X/580/580X/590

Since with Polaris cards, you can use a bios mod or a miner that changes the timings itself.

Command-line arguments

Available options for GDDR5 memory:

REF 30

Using this parameter —REF , you can achieve gains of up to 5% for algorithms that depend on memory performance. A good start for parameter REF is 30. The command line would look like this:

The parameters —RC and may also be of interest —RFC .

I am running (using vega 64 downgraded to vega 56) at the same timings but [email protected] and ΗΒΜ [email protected] getting 54.65Μh/s at the same hiveOS consumption +-10watts or so depending the card (what I also did though is to clean the stock thermal paste and addthermalgrizzly kryonaut extreme there is also a non extreme variant didnt test that worth every penny in terms of thermals! ) Oh and my GPUs are nitro+ so that may play a part as well.

A GUI utility that runs on Windows and Linux, not only allows you to overclock your AMD Radeon graphics card on the fly, but also tweak the memory timings. Most timings are applied in real time, but some require a reboot. Unfortunately, this means that they cannot be changed yet, as a reboot resets the timings to their default values. Of course, the utility allows you to change the frequency of the GPU core and control the operation of the fans.

Video shows you some examples of the AMDMemoryTweaker on how it can turn your current AMD Graphics cards to run even better hashrates on both Ethereum and Monero by simply changing the timings.

Alternatives

Does not work?

УThe utility will not work on systems with Nvidia graphics cards.

Questions and answers

Strap failed to inject error?

Just make a few changes and click the «inject» button, then «refresh from driver», (the values ​​in the dropdown are the values ​​loaded from vbios in memory), if you click the «refresh» button, the tool will load the values ​​from the driver directly.

Conclusions

Most of the settings are in real time. However, some of the demanding memory timings may require a system reboot to be applied correctly.

Essentially, the modified BIOS will simply hard-code the memory timing, frequency, and voltage. But you can also apply them on the fly with OC and amdmemtweak.

Читайте также:  Каналы ввода вывода linux

So the graphics cards have a stock version of the BIOS in case of resale.

If you are mining on video cards, then it is recommended to use PhoenixMiner.

Источник

Amd memory tweak linux

AMD Memory Tweak

Read and modify memory timings «on the fly»

AMD Memory Tweak XL Released!

  • GDDR5 Based AMD GPU’s
  • HBM / HBM2 Based AMD GPU’s
  • Linux
  • Windows (Beta)
  • One or more AMD Radeon GPU’s
  • amdgpu-pro | ROCM (Verified working on amdgpu-pro 18.30)
  • Adrenaline (Verified working on v19.4.1/v19.5.*)
  • Clone repo
  • Launch VS Project
  • Build!

Global command line options

Command User Input Extra Info
— -help Show this output
— -version|—v Show version info
— -gpu|- -i Comma-Seperated gpu indices Selected device(s)
— -current List current twiming values

Command line options: (HBM2)

Command User Input Extra Info
— -CL|- -cl [value] Cas Latency
— -RAS|- -ras [value] Active to PRECHARGE command period
— -RCDRD|- -rcdrd [value] Active to READ command delay
— -RCDWR|- -rcdwr [value] Active to WRITE command delay
— -RC|- -rc [value] Active to Active command period
— -RP|- -rp [value] Precharge command period
— -RRDS|- -rrds [value] Active bank A to Active or Single bank Refresh bank B command delay different bank group
— -RRDL|- -rrdl [value] Active bank A to Active or Single Bank Refresh bank B command delay same bank group
— -RTP|- -rtp [value] Read to precharge delay
— -FAW|- -faw [value] Four Active Window
— -CWL|- -cwl [value]
— -WTRS|- -wtrs [value] Write to read delay
— -WTRL|- -wtrl [value] tWTR = tWTRL when bank groups is enabled and both WRITE and READ
— -WR|- -wr [value] Write Recovery Time
— -RREFD|- -rrefd [value]
— -RDRDDD|- -rdrddd [value]
— -RDRDSD|- -rdrdsd [value]
— -RDRDSC|- -rdrdsc [value]
— -RDRDSCL|- -rdrdscl [value]
— -WRWRDD|- -wrwrdd [value]
— -WRWRSD|- -wrwrsd [value]
— -WRWRSC|- -wrwrsc [value]
— -WRWRSCL|- -wrwrscl [value]
— -WRRD|- -wrrd [value]
— -RDWR|- -rdwr [value]
— -REF|- -ref [value] Average Periodic Refresh Interval
— -MRD|- -mrd [value] Mode Register Set command cycle time
— -MOD|- -mod [value] Mode Register Set command update delay
— -XS|- -xs [value] Self refresh exit period
— -XSMRS|- -xsmrs [value]
— -PD|- -pd [value] Power down entry to exit time
— -CKSRE|- -cksre [value] Valid CK Clock required after self refresh or power-down entry
— -CKSRX|- -cksrx [value] Valid CK Clock required before self refresh power down exit
— -RFCPB|- -rfcpb [value]
— -STAG|- -stag [value]
— -XP|- -xp [value]
— -CPDED|- -cpded [value]
— -CKE|- -cke [value]
— -RDDATA|- -rddata [value]
— -WRLAT|- -wrlat [value]
— -RDLAT|- -rdlat [value]
— -WRDATA|- -wrdata [value]
— -CKESTAG|- -ckestag [value]
— -RFC|- -rfc [value] Auto Refresh Row Cycle Time

Command line options: (HBM)

Command User Input Extra Info
— -CKSRE|- -cksre [value]
— -CKSRX|- -cksrx [value]
— -CKE_PULSE|- -cke_pulse [value]
— -CKE|- -cke [value]
— -SEQ_IDLE|- -seq_idle [value]
— -CL|- -cl [value] CAS to data return latency
— -W2R|- -w2r [value] Write to read turn
— -R2R|- -r2r [value] Read to read time
— -CCDL|- -ccdl [value] Cycles between r/w from bank A to r/w bank B
— -R2W|- -r2w [value] Read to write turn
— -NOPR|- -nopr [value] Extra cycle(s) between successive read bursts
— -NOPW|- -nopw [value] Extra cycle(s) between successive write bursts
— -RCDW|- -rcdw [value] # of cycles from active to write
— -RCDWA|- -rcdwa [value] # of cycles from active to write with auto-precharge
— -RCDR|- -rcdr [value] # of cycles from active to read
— -RCDRA|- -rcdra [value] # of cycles from active to read with auto-precharge
— -RRD|- -rrd [value] # of cycles from active bank a to active bank b
— -RC|- -rc [value] # of cycles from active to active/auto refresh
— -MRD|- -mrd [value]
— -RRDL|- -rrdl [value]
— -RFC|- -rfc [value] Auto-refresh command period
— -TRP|- -trp [value] Precharge command period
— -RP_WRA|- -rp_wra [value] From write with auto-precharge to active
— -RP_RDA|- -rp_rda [value] From read with auto-precharge to active
— -WDATATR|- -wdatatr [value]
— -T32AW|- -t32aw [value]
— -CRCWL|- -crcwl [value]
— -CRCRL|- -crcrl [value]
— -FAW|- -faw [value]
— -PA2WDATA|- -pa2wdata [value]
— -PA2RDATA|- -pa2rdata [value]
— -REF|- -ref [value] Refresh Rate
— -ENB|- -enb [value]
— -CNT|- -cnt [value]
— -TRC|- -trc [value]

Command line options: (GDDR5)

Command User Input Extra Info
— -CKSRE|- -cksre [value]
— -CKSRX|- -cksrx [value]
— -CKE_PULSE|- -cke_pulse [value]
— -CKE|- -cke [value]
— -SEQ_IDLE|- -seq_idle [value]
— -CL|- -cl [value] CAS to data return latency
— -W2R|- -w2r [value] Write to read turn
— -R2R|- -r2r [value] Read to read time
— -CCDL|- -ccdl [value] Cycles between r/w from bank A to r/w bank B
— -R2W|- -r2w [value] Read to write turn
— -NOPR|- -nopr [value] Extra cycle(s) between successive read bursts
— -NOPW|- -nopw [value] Extra cycle(s) between successive write bursts
— -RCDW|- -rcdw [value] # of cycles from active to write
— -RCDWA|- -rcdwa [value] # of cycles from active to write with auto-precharge
— -RCDR|- -rcdr [value] # of cycles from active to read
— -RCDRA|- -rcdra [value] # of cycles from active to read with auto-precharge
— -RRD|- -rrd [value] # of cycles from active bank a to active bank b
— -RC|- -rc [value] # of cycles from active to active/auto refresh
— -RFC|- -rfc [value] Auto-refresh command period
— -TRP|- -trp [value] Precharge command period
— -RP_WRA|- -rp_wra [value] From write with auto-precharge to active
— -RP_RDA|- -rp_rda [value] From read with auto-precharge to active
— -WDATATR|- -wdatatr [value]
— -T32AW|- -t32aw [value]
— -CRCWL|- -crcwl [value]
— -CRCRL|- -crcrl [value]
— -FAW|- -faw [value]
— -PA2WDATA|- -pa2wdata [value]
— -PA2RDATA|- -pa2rdata [value]
— -RAS|- -ras [value]
— -ACTRD|- -actrd [value]
— -ACTWR|- -actwr [value]
— -RASMACTRD|- -rasmactrd [value]
— -RASMACWTR|- -rasmacwtr [value]
— -RAS2RAS|- -ras2ras [value]
— -RP|- -rp [value]
— -WRPLUSRP|- -wrplusrp [value]
— -BUS_TURN|- -bus_turn [value]
— -REF|- -ref [value] Refresh Rate

Example Usage (Linux):

Example Usage (Windows):

(These are just examples! Don’t try these at home! :p)

Make sure to run the program first with parameter —current to see what the current values are. Current values may change based on state of the GPU, in other words, make sure the GPU is under load when running —current. HBM2 Based GPU’s do not need to be under load to apply timing changes. It is often better to apply new timings before starting a benchmark/mining tool.

Hints: Some timings are stability timings, lowering these will lower stability. Such as tRC. Some timings might require a higher value for performance to improve. Such as tREF. Some timings have a min/max value, going outside this range will result into it defaulting back to original value. Such as tCL Some timings are dynamic, they change based on the vbios values and active clocks. Dram timings. .

Row Access Timings tRC, tRAS, tRCDRD, tRCDWR, tRRDL, tRRDS, tFAW, tRTP Column Access Timings tCCDL, tCCDS, tCCDR, tWTRL, tWTRS, tRTW, Refresh Timings tRFC, tRFCSB, tRREFD, tREFI

Some extra info

Still not all possible timings have been exposed. However, it’s not such a big deal to add more of them in the tool. The ones available are more or like the most important ones.

Some users have reported very nice results already, please continue to contribute to these results. Example

  • 3GBgapb49BZ7fBPXnbetqbnMn2KiGNzUXf
  • 0x8C77C212da3e12cad1AfB8824CF74b1CC04d2F7C

In the unlikely event of not owning either BTC or ETH and you do want to be an amazing person and tip, shapeshift, changelly, simpleswap, . are great ways to solve that «issue» 😉

Источник

Читайте также:  Как настроить bios чтобы установить windows
Оцените статью