July 16, 2026
Benchmarking vLLM on 2× RTX 3090 — Post-NVLink: The Verdict Flips
by Jurgens du Toit
The NVLink Bridge
Verifying NVLink in vLLM
The Post-NVLink Sweep
Axis 1: TTFT — Halved Across the Board
| Model | PCIe TTFT | NVLink TTFT | Δ | Budget (2500 ms) |
|---|---|---|---|---|
| qwen3-coder-30b | 1112 ms | 415 ms | −63% | ✅ → ✅ |
| qwen36-35b-a3b | 997 ms | 412 ms | −59% | ✅ → ✅ |
| qwen3-coder-next-60b-ream | 1203 ms | 529 ms | −56% | ✅ → ✅ |
| glm47-flash (†) | ~1181 ms | 511 ms | −57% | ✅ → ✅ |
| devstral-24b-gptq | 3235 ms | 2013 ms | −38% | ❌ → ✅ |
| qwen36-27b | 4222 ms | 2199 ms | −48% | ❌ → ✅ |
Axis 2: Decode — Uniformly Small Gains
| Model | PCIe tok/s | NVLink tok/s | Δ |
|---|---|---|---|
| qwen3-coder-30b | 150.6 | 167.7 | +11.3% |
| qwen36-35b-a3b | 136.3 | 148.2 | +8.7% |
| qwen3-coder-next-60b-ream | 118.6 | 128.0 | +7.9% |
| glm47-flash (†) | ~111.0 | 117.5 | +5.9% |
| qwen36-27b | 59.8 | 62.7 | +4.8% |
| devstral-24b-gptq | 54.9 | 54.2 | −1.3% (flat) |
Axis 3: Maximum Usable Context — The Same Ceilings
| Model | PCIe max ctx | NVLink max ctx | Δ |
|---|---|---|---|
| qwen3-coder-30b | 256K | 256K | = |
| qwen3-coder-next-60b-ream | 256K | 256K | = |
| qwen36-35b-a3b | 192K | 192K | = |
| qwen36-27b | 192K | 192K | = |
| glm47-flash (†) | — | 192K | new (ran at TP=2 first time) |
| devstral-24b-gptq | 128K | 32K ‡ | run artifact (timeout stopped probe early) |
The Verdict Flips
Post-NVLink: What You’d Actually Deploy
Tier 1 — Daily driver (unchanged):
qwen3-coder-30b(TP=2, 168 tok/s, 256K ctx, non-thinking mode)qwen36-35b-a3b(TP=2, 148 tok/s, 192K ctx, multimodal)
Tier 2 — Diversity / fallback (one new member):
glm47-flash(TP=2 now possible: 118 tok/s, 192K ctx — first run at TP=2)glm47-flash(single GPU, 107 tok/s, 89K ctx) — still co-locatableqwen3-coder-next-60b-ream(TP=2, 128 tok/s, 256K ctx)gpt-oss-20b-nightly(TP=2, 65 tok/s, 128K ctx)
Tier 3 — Previously dead, now alive:
- devstral-24b (TP=2, TTFT now 2013ms — under budget!) — still general assistant, not coding specialist
- qwen36-27b (TP=2, TTFT now 2199ms — under budget!) — still general-purpose, but now runnable
Tier 4 — Still dead:
- qwen3-coder-next-80b (OOM on 2×24 GB — raw capacity, not interconnect)