Quant Trading Bot Devlog

한국어로 보기

I Finally Bought a Card I'd Rejected Several Times - AMD Radeon AI PRO R9700

The story of buying a card I'd turned down as a main GPU more than once, for a completely different purpose

I picked up another used graphics card today: the Gigabyte AMD Radeon AI PRO R9700 (32GB).

It hasn't been long since I wrote my RTX 5090 purchase review(new tab), and I've already added another card. But this one has a bit of a backstory — I'd actually rejected this exact card several times before.

R9700 AI TOP box set next to the existing RTX 5090

Considered it, dropped it, considered it again

I first looked at this card a while back. I'd heard it had more memory and better power efficiency than the main card I was using at the time, so I started investigating whether it could replace my main production GPU.

The deeper I dug, the more red flags I found. Looking at real benchmarks, for my actual workload (repeatedly calling a small model in a single stream), this card was actually slower than what I already had. The initial input-processing stage (prefill) in particular was weak — and this held up across multiple re-measurements with different serving software, which pointed to a characteristic of the chip generation itself rather than a software issue.

I also looked into running two of these cards side by side to split the computation. In theory that could get close to double the speed, but physical constraints (power, slot spacing) combined with a smaller-than-expected gain once I actually did the math, so I dropped that idea too.

At the time I concluded it wasn't viable as a main card and moved on. I didn't close the door completely, though — I left it open to revisit if the serving software's kernel support improved or more real-world benchmarks came in.

So why buy it today

This time the purpose is different. I'm not trying to replace my main production card — I wanted to try running, offline, a different local model I'm currently evaluating(new tab), on this card specifically.

My single RTX 5090 is already using nearly all its VRAM for nightly jobs, so there's no headroom to stack an experimental server on top of it. With a second card, I can run experiments entirely separately without touching the main workload at all.

Actually, I changed the motherboard before the card

The moment I decided to install this card, the first problem I ran into wasn't the card itself — it was the motherboard.

With a thick card like the 5090 already occupying the first slot, the physical clearance to the second slot varies a lot between boards. Most of the boards I considered simply didn't have enough clearance to fit two cards side by side.

On top of that, I had to check whether the second slot actually gets usable bandwidth. A lot of boards have a slot that's physically there but routed through the chipset with narrow bandwidth — plug a card in and its performance takes a real hit.

Finding a board that satisfied both conditions took several rounds of swapping candidates, and I eventually settled on the board I'm using now. I upgraded the case and power supply at the same time, to cover two cards, a bigger case, and more power headroom all at once.

What I checked today

The first thing I checked after installing the card was whether the drivers picked it up correctly. Kernel driver recognition, GPU detection, and the compute stack (ROCm) all checked out fine.

I set the motherboard slots to physically split the two cards' PCIe lanes in the BIOS, so the two cards don't step on each other's resources.

R9700 installed in the case, right next to the GEFORCE RTX above it

Full view of the case with both cards installed, on the desk

Close-up of the GEFORCE RTX logo, with the R9700's heatsink visible below

Close-up of the AORUS logo and mini display

What's next

There's an input data snapshot that a different model froze last night for validation purposes. I plan to reuse that snapshot as-is to run an offline scoring test of a local model on this card.

The important part is that this experiment never mixes into actual trading decisions. It's a fully isolated separate experiment, and even if the results look great, I won't push it straight into production. That's the same principle I've applied to every other experimental model so far — results get watched for a while before any adoption decision gets made separately.

Once I have results, I'll write up how this card performed in that test.