Overclocking the AMD Radeon Instinct MI25 / AMD Radeon Pro WX 9100 on Linux (400W+)

Want to cook some eggs with your MI25s? You are in the right place.


Disclaimer: I am in no way, shape, or form responsible for your actions. If you burn down your house or hurt yourself, don’t blame me. But anyway, happy overclocking.


What do you need?

    • AMD Radeon Instinct MI25 / AMD Radeon Pro WX 9100
    • Some good cooling
    • PSU that can handle harsh power spikes

Preface:

I’m writing this because there’s still a lot of misinformation about this graphics card.
I keep seeing people claim:

  • The card is impossible to cool without modifying the heat sink.
  • You can’t overclock the card at all.
  • Anything above 220 W is risky!
  • The VRM can’t handle 300 W, even with good cooling.
  • You need the 2x 8 connector model not the 8+6 version for 220 W+!

None of these claims are true.
The card is actually quite easy to manage with a blower fan. It doesn’t have to be loud or all that powerful.
But, most people don’t want a blower fan in their PC, so, a common mod is to straighten the heat sink fins to force air through them.
This just blows the hot air from the GPU core over the rest of the board.
Please don’t try to make the stock, straight-through cooler function as an open-air cooler.
Note: both of my cards still have the original thermal paste/pad installed as well as no hardware mods.


Step by Step:

  • 0. My setup + quirks

I’m using the good old ASRock X99 Extreme3 board, why not something newer? Well, both of my AM4 boards (some ASUS X370 board and the ASUS PRIME X470-PRO), crash the moment I try to mess around with overclocking, no clue why, but I gave up on those.
For cooling I’m using Delta GFB0412EHS (489848-001) fans… you might ask why… well, I have a bit too many, plus they fit PERFECTLY, no 3D printing, no cutting, just slot right in, wire up and fly away.
While the fan header on the card works, it will never run the fan above around 60% (at least with the VBIOS I have), so I’m using an ESP microcontroller to double the PWM.

Please excuse the crudity of this model. I didn’t have time to build it to scale or paint it.
AmcXiDug-2025-08-09_15-31-28

  • 1. Install the latest AMD ROCm drivers.

Not much to say here, AMD made the installer pretty easy to use:
https://rocm.docs.amd.com/projects/install-on-linux/en/latest/

  • 2. Install UPP: Uplift Power Play

Samir Ibradžić made a cool tool for modifying UPP tables on Linux, which we will use to overclock the card:
https://github.com/sibradzic/upp

  • 3. Overclock the GPU

sudo chmod o+w /sys/class/drm/card0/device/pp_table
# Set the temperature limit to 95°C
upp set --write PowerTuneTable/SoftwareShutdownTemp=95
upp set --write PowerTuneTable/TemperatureLimitLiquid1=95
upp set --write PowerTuneTable/TemperatureLimitLiquid2=95
upp set --write PowerTuneTable/TemperatureLimitTedge=95
# Set maximum power to 300 W.
# Please make sure your cooling and PSU the new limits.
upp set --write PowerTuneTable/SocketPowerLimit=300
upp set --write PowerTuneTable/BatteryPowerLimit=300
upp set --write PowerTuneTable/SmallPowerLimit=300
# Overclock the HBM. 1100 Mhz is stable on both of my cards.
# Undervolting/Overvolting HBM didn't help on either of my cards.
# Also haven't touched the SOC clocks yet.
upp set --write MclkDependencyTable/3/MemClk=110000
# Setting the voltages to 1100 mV, your card might need more or less.
upp set --write VddcLookupTable/entries/2/Vdd=1100
upp set --write VddcLookupTable/entries/3/Vdd=1100
upp set --write VddcLookupTable/entries/4/Vdd=1100
# Overclock the GPU core. 1500 Mhz looks to run stable on both of my cards.
# I've seen one of my cards handle 1650 Mhz with some loads, but not LLM workloads.
upp set --write GfxclkDependencyTable/7/Clk=150000

Simple right?
This should make the MI25 run as it should, if we actually had a working driver for it (maybe a bit better, due to the 300 W limit, instead of the stock 220W and HBM OC).

Some notes for people who want to overclock a bit more:

  • Try lifting the 300 A TDC Power limit. I didn’t touch that yet and still managed to get the card to draw 400 W, so it might be ignored by the driver?
  • Try messing with the SOC clocks. Didn’t have time to mess with those yet, but it might boost LLM performance.
  • Investigate the HBM timings. The timings switch to looser ones around 1150-1200 Mhz, causing the performance to drop.
    Finding the exact clocks would be beneficial, as we could optimize around that frequency.
  • Figure out why the GPU is unstable in AMD AM4 systems.

My good card can hit 1650 MHz / 1125 MHz without too much trouble (non-LLM loads), which would put it in the top 10 VEGA 10 cards in terms of clocks (looking at HWBot).
But knowing that the GPU dies are binned… it’s not really much of an accomplishment.

That’s It, You’re Done!


You might ask, why I didn’t do any benchmarks, well, the performance uplift isn’t that impressive, anywhere from 5-30% depending on the workload.
Currently I’m using two of the cards to run LLMs for audio and image recognition (wildlife observation), fully powered by my off-gird solar setup.
I might document that someday, but currently it’s not ready for prime time.

Observations/Tests:


Highest clock speed (EasyDiffusion):
8YjTYpaB-2025-08-09_04-14-32
Highest power consumption (EasyDiffusion):
VpUWeWZP-2025-08-09_04-14-38
Normal usage (running Ollama):
3nfLJW56-2025-08-09_04-14-36

The power consumption and clocks are heavily load dependent.
From my testing, some EasyDiffusion models really bog down the GPU during image generation, while others don’t.
At first, I assumed it was due to some models being FP16 and others FP32, but both exhibited this behavior.
I assume some of the models make better use of what the GPU architecture has to offer.
Ollama on the other hand, looks to be bottle necked by my CPU.

Back when the cards were 50€, I wouldn’t mind throwing 600 W+ at one, just to see what happens, but now that the prices went up to 150€… I’m not going to risk it.
If you have a spare… hit me up. 😉