Orkun Soylu

3 min read

W7800 vs RX 7900 XTX

I ran the identical Q4_K_M blob and Ollama version on both cards: the consumer 7900 XTX is 29% faster at generation and 44% faster at prefill. The gap follows compute, not bandwidth — what the W7800 really offers is its 48 GB.

Tested
Setup

Radeon Pro W7800 48 GB — bare-metal workstationBare metal, Linux, ROCm (Ollama) · AMD Ryzen 5 7600 (6C/12T, AVX-512) · 64 GB DDR5-6400

Radeon RX 7900 XTX 24 GB — bare metalBare metal, Ollama (ROCm)

Runtime
Ollama 0.32.14 on both, flash attention on, q8_0 KV cache
Models

qwen3.8:27bQ4_K_Mtested

Verdict

If the model fits in 24 GB, buy the 7900 XTX — it wins every speed measurement. Buy the W7800 for capacity: twice the VRAM is its only advantage, and on low-bit quants its 70 CUs struggle with unpacking the weights.

Works

  • 7900 XTX: +44% prefill, +29% short and +32% long-context generation
  • Prefill gain (+44%) matches CU × clock (+45%) almost exactly
  • 7900 XTX results stable across two model families and two Ollama versions (33.6 → 33.2 tok/s)

Doesn’t

  • num_ctx differed (262K vs 32K) — measured earlier to not affect speed, but not identical
  • Single model and quant; Q8_0 does not fit the 24 GB card
Prefill gain, 7900 XTX
+43.9%
Generation gain (short)
+29.2%
Bandwidth difference
+11%
CU × clock difference
+45%

Generation speed

higher is better
  • W7800 48 GB
  • RX 7900 XTX 24 GB
Short prompt (21 tok)
25.68 tok/sW7800 48 GB · 25.68 tok/s
33.19 tok/sRX 7900 XTX 24 GB · 33.19 tok/s
Long prompt (31,073 tok)
20.75 tok/sW7800 48 GB · 20.75 tok/s
27.49 tok/sRX 7900 XTX 24 GB · 27.49 tok/s
Data
W7800 48 GBRX 7900 XTX 24 GB
Short prompt (21 tok)25.68 tok/s33.19 tok/s
Long prompt (31,073 tok)20.75 tok/s27.49 tok/s

Prefill, 31,073-token prompt

higher is better
  • W7800 48 GB
  • RX 7900 XTX 24 GB
Prefill
498.0 tok/sW7800 48 GB · 498.0 tok/s
716.5 tok/sRX 7900 XTX 24 GB · 716.5 tok/s
Data
W7800 48 GBRX 7900 XTX 24 GB
Prefill498.0 tok/s716.5 tok/s

Where the advantage comes from

7900 XTX over W7800, percent

VRAM bandwidth (spec)
11%7900 XTX advantage · 11%
Measured generation
29%7900 XTX advantage · 29%
Measured prefill
44%7900 XTX advantage · 44%
CU × clock (spec)
45%7900 XTX advantage · 45%
Data
7900 XTX advantage
VRAM bandwidth (spec)11%
Measured generation29%
Measured prefill44%
CU × clock (spec)45%

Setup — one variable

My July comparison mixed up the GPU and the quantization (Q8_0 on the W7800, Q4_K_M on the 7900 XTX), so there was no way to tell what the card itself contributed. This time I held everything constant except the card:

Held constant Value
Model qwen3.8:27b-q4_K_M — the same blob, SHA-256 verified
Runtime Ollama 0.32.14 on both (the 7900 XTX box was upgraded for this test)
Settings FLASH_ATTENTION=1, KV_CACHE_TYPE=q8_0
Prompts Same short (21 tok) and long (31,073 tok) prompts
Offload Both 100% GPU, verified

The one asymmetry: num_ctx was 262,144 on the W7800 and 32,768 on the 7900 XTX (262K doesn’t fit in 24 GB). I’d already measured that allocated context doesn’t change speed, so the comparison stands.

The cards

W7800 RX 7900 XTX Difference
Architecture Navi 31 / gfx1100 Navi 31 / gfx1100 same
Compute units 70 96 +37%
VRAM 48 GB 24 GB −50%
Bandwidth 864 GB/s 960 GB/s +11%
Clock under load avg 2,352 / max 2,495 MHz max 2,639 MHz ~+6%

Results

W7800 7900 XTX 7900 XTX advantage
Prefill (31,073 tok) 498.0 tok/s (62.4 s) 716.5 tok/s (43.4 s) +43.9%
Generation — short 25.68 tok/s 33.19 tok/s +29.2%
Generation — long 20.75 tok/s 27.49 tok/s +32.5%
Long-context slowdown −19.2% −17.2% similar
Bandwidth efficiency (short) 52.7% 61.3%

The 7900 XTX short-prompt runs came in at 33.32 / 33.23 / 33.03 — very little variance.

The gap is compute, not bandwidth

Measure Difference What it says
VRAM bandwidth +11% the pure bandwidth advantage
Measured generation +29% more than twice the bandwidth gap — the rest is compute
Measured prefill +44% prefill is pure compute
CU × clock 1.37 × 1.06 = +45% matches prefill almost exactly
  • Prefill is compute-bound: I measured +44% against +45% of theoretical compute.
  • Generation is bandwidth-bound, but not purely: +29% lands between +11% (bandwidth) and +45% (compute). The difference is Q4_K_M unpacking — every token’s weights get unpacked on the CUs as they’re read.

This independently explains why Q4_K_M efficiency drops to 53% on the W7800: there are fewer CUs to absorb the unpacking cost. The same card holds 69% on Q8_0, which is cheap to unpack.

What it means if you’re buying

  • The model fits in 24 GB → the 7900 XTX is clearly the better card.
  • The model needs more than 24 GB → the W7800 is the only single-card option, and the speed loss is the price you pay for capacity.

A side note on moving models between machines

ollama pull on the second box crawled along at ~4.6 Mbps (I didn’t dig into why). Streaming the five blobs over the LAN instead moved the 16 GB layer in 150 s (106 MB/s), and I checked each blob against its SHA-256 file name.