Blog/Dual RTX 5090 for LLMs
Hardware · November 2026

Dual RTX 5090 for LLMs: tensor parallel over PCIe, reported tok/s and cost, November 2026

By Samuel Seidel · Published November 7, 2026 · Sources checked November 7, 2026

Two RTX 5090s give you 64 GB of VRAM, not twice the single-user speed: with no NVLink, vLLM tensor parallel lifted one QwQ-32B stream from 65.2 to 79.5 tok/s (1.22x) in DeutscheKI's runs, and a 70B model split across both cards in Ollama decoded at 26.9 tok/s. The pair costs $13,099.98 at 7 November 2026 US prices against $16,399 for one 96 GB RTX PRO 6000, and is rated at 1,150 W against 600 W. Buy the second card for memory and for aggregate throughput.

QuestionShort answerSource
Single-stream gain, vLLM TP=21.22x (65.2 to 79.5 tok/s, QwQ-32B AWQ)DeutscheKI
Aggregate, Llama 3.3 70B AWQ, PP=21,230 tok/s (one PRO 6000: 1,031)CloudRift, 9 October 2025
NVLinkNone; PCIe 5.0 onlyNVIDIA spec page
Peer-to-peer on GeForceVia tinygrad's patched kernel moduletinygrad, 570.148.08-p2p
Usable VRAMabout 63.7 GiB (2 x 31.84)Atomic Chat card readout
Price, 7 Nov 2026$13,099.98 for two; $16,399 for a PRO 6000NowInStock

Does a second RTX 5090 double LLM speed?

For one user it adds 0 to 22% depending on the split, and for many users it can nearly double throughput. The reported dual-card numbers I could find:

SetupModel, quantEngine, splitResultSourceDate
1x RTX 5090QwQ-32B, AWQvLLM, TP=165.2 tok/s, TPOT 15.33 msDeutscheKIundated
2x RTX 5090QwQ-32B, AWQvLLM, TP=279.5 tok/s, TPOT 12.58 msDeutscheKIundated
2x RTX 5090Llama 3.3 70B, Q4 (43 GB)Ollama 0.6.5, layer split26.9 tok/s; each GPU 45 to 47% busyDatabaseMartpage updated 2026-10-29
2x RTX 5090Llama 3.3 70B, AWQ INT4vLLM, PP=21,230 tok/s aggregateCloudRift2025-10-09
2x RTX 4090Llama 3.3 70B, AWQ INT4vLLM, PP=2467 tok/s aggregateCloudRift2025-10-09
2x RTX 5090, Gen5 x8/x8Qwen3.8-Flash-Next, EXL3 2.68 bpwExLlamaV3 1.5.2, layer split, MTP drafting249 tok/s at 1 stream; 795 at 8adrienbrault2026-10-23
2x RTX 5090 + 64 GB DDR5GLM-5.3-Flash 321B, EXL3 2.05 bpwExLlamaV3, layer split, cold experts on CPU64.8 tok/s at 1 stream; 98.0 at 4adrienbrault2026-10-10

DeutscheKI: median output tok/s at 0.1 requests per second, vLLM version not pinned, 4,096-token max length. DatabaseMart reports Ollama 0.6.5 and lists two different CPUs for the same server. CloudRift used vllm/vllm-openai:latest at the time. The adrienbrault repos run on driver 610.57.04 and CUDA 13.3 with stock 600 W and 575 W limits.

The layer split result follows from arithmetic. With a layer split, card one reads its half of the weights, then card two reads the other half, so the decode ceiling equals one card with 64 GB: 1,792 GB/s ÷ 43 GB = 41.7 tok/s. DatabaseMart's 26.9 tok/s is 64% of that, and each GPU sitting about 45% busy is what you would expect when they take turns. CloudRift also reports that two 5090s running separate copies of Qwen3-Coder-30B gave "almost 2x" one card. When a model fits on one card, two copies behind a load balancer beat any split.

The ExLlamaV3 row is the outlier, and it is not a tensor-parallel win: it combines a 6B-active MoE model, its MTP head and n-gram drafting on a layer split. It shows what 64 GB buys for a large sparse model, not what a second card does for a dense one.

Tensor parallel or pipeline parallel over PCIe?

Tensor parallel splits every layer across both cards and cuts single-user latency, but it pays a synchronization cost on every layer; pipeline parallel and layer splits avoid that cost and give no single-stream gain. vLLM's parallelism guide says that if GPUs "do not have NVLINK interconnect", you should use pipeline parallelism for throughput, and NVIDIA's RTX 5090 specifications list no NVLink connector.

The DeutscheKI numbers let you size the tensor-parallel penalty. Perfect scaling would halve the 15.33 ms per token to 7.67 ms; the measured TP=2 figure is 12.58 ms, so about 4.9 ms per token goes to something other than reading weights. QwQ-32B has 64 layers (its config.json), and tensor parallel does two all-reduces per layer, 128 per token. If you assign all of the extra time to them, each costs about 38 microseconds, by my arithmetic. Each all-reduce carries about 10 KiB per token at hidden size 5,120 in 16-bit, a size where latency and synchronization set the cost, so PCIe 5.0's bandwidth does not save you. Llama 3.3 70B has 80 layers, so 160 all-reduces per token.

Pipeline parallel avoids the per-layer synchronization: each card holds whole layers and, under load, works on a different batch than its neighbour, which is why vLLM recommends it without NVLink. CloudRift used pipeline parallel for its 70B result and reports PCIe Gen 4 limiting the 2x4090 run to 467 tok/s against 1,230 on the Gen 5 5090 pair.

Do two RTX 5090s support peer-to-peer transfers?

Not on a stock setup, as far as the evidence goes: GeForce P2P depends on a community-patched kernel module, and without P2P vLLM falls back to NCCL for every all-reduce. tinygrad maintains a fork of NVIDIA's open GPU kernel modules; its 570.148.08-p2p branch README says it "allows using P2P on 4090/5090 GPUs with the 570.148.08 driver version". The newest -p2p branch on the first page of the repo's branch list is that 570.148.08 build from June 2025, far older than the 610-series driver the adrienbrault rigs run.

vLLM checks this itself. Its custom all-reduce code runs a P2P test and, if it fails, logs that custom allreduce is disabled because the platform lacks GPU P2P capability; the same code supports exactly two PCIe-only GPUs and disables itself for three or more. If NCCL hangs on a PCIe-only box, vLLM's troubleshooting page suggests NCCL_P2P_DISABLE=1 as a temporary workaround. Check the topology first:

# how the two cards connect (no NVLink rows on GeForce)
nvidia-smi topo -m

# vLLM 0.33: tensor parallel across both cards
vllm serve Qwen/Qwen3.8-27B-FP8 --tensor-parallel-size 2 --max-model-len 131072

# vLLM: pipeline parallel, the docs' choice without NVLink
vllm serve Qwen/Qwen3.8-27B-FP8 --pipeline-parallel-size 2

# llama.cpp: layer split (default), row split, or experimental tensor split
llama-server -m model.gguf -ngl 99 -sm layer -ts 1,1
llama-server -m model.gguf -ngl 99 -sm row
llama-server -m model.gguf -ngl 99 -sm tensor

The llama.cpp server README describes layer as "split layers and KV across GPUs (pipelined)", row as splitting weights by rows, and tensor as splitting weights and KV, marked experimental. I have not found published dual-5090 numbers for row or tensor mode, so measure before you commit. More flags are in the vLLM and llama.cpp notes.

What does 64 GB fit that 32 GB does not?

The 70B dense class at 4-bit, 80B-class MoE models at 4-bit, and full-length contexts at 8-bit; not the 100B-plus class at 4-bit. Usable memory is about 63.7 GiB (two cards at 31.84 GiB, the readout in Atomic Chat's tests), less 1.5 GiB of overhead per card.

Model, quantWeightsKV cacheTotal with overheadFits 64 GB?
Llama 3.3 70B, 4-bit, 32k37.0 GiB10.0 GiB (320 KiB/token)50.0 GiBYes, 13.7 GiB spare
Llama 3.3 70B, 4-bit, 128k37.0 GiB40.0 GiB80.0 GiBNo
Qwen3-Coder-Next 80B-A3B, Q4_K_M, 128k45.20 GiB3.0 GiB51.2 GiBYes
Qwen3.8-27B, Q8_0, 262k27.05 GiB16.0 GiB46.2 GiBYes
Ornith-1.5-122B, UD-IQ3_XXS, 128k46.10 GiB3.0 GiB52.2 GiBYes
gpt-oss-120b, Q4_K_M, 32k58.46 GiB1.1 GiB62.6 GiBBarely, 1.1 GiB spare
Mistral Small 4 119B, MXFP4_MOE, 32k66.88 GiB0.7 GiB70.6 GiBNo

My calculation, FP16 KV cache, one sequence, 3 GiB total overhead. KV per token from config.json: Llama 3.3 70B has 80 layers, 8 KV heads and head dimension 128 (2 x 80 x 8 x 128 x 2 bytes = 327,680 bytes). The 37 GiB Llama weight figure is the AWQ size in GPUwerk's memory calculator; GGUF sizes from the Unsloth and ornith-ai repos, checked 7 November 2026. Splits are never perfectly even, so leave more margin than the spare column shows.

The memory changes which model you run more than how fast it runs. A dense 70B at 4-bit tops out near 42 tok/s on a layer split, as computed above, while a 3B-active MoE at 4-bit (Qwen3-Coder-Next) reads far less per token. For per-model fit on a single card, see the best LLMs for an RTX 5090.

What power supply, board and case do two RTX 5090s need?

By my sizing, plan for about 1,600 W of PSU, two native 12V-2x6 cables, a board that gives each card at least PCIe 5.0 x8, and room for two 2-slot or thicker coolers. NVIDIA rates one RTX 5090 at 575 W and asks for a 1,000 W system for a single card; two cards are 1,150 W before the CPU. The adrienbrault rigs run two cards at PCIe Gen5 x8/x8 on an ASRock X870 Taichi Creator with a Ryzen 7 9800X3D, which shows a desktop AM5 board can carry the pair.

The wall socket matters too, by my arithmetic. A European 230 V, 16 A circuit carries 3,680 W, so a dual-5090 box fits. A North American 120 V, 15 A circuit carries 1,800 W, and 80% of that for continuous load is 1,440 W, which a dual-5090 workstation at full power can exceed. Capping each card is the cheap fix: the sibling article on RTX 5090 power limits shows decode losing about 1.4% at 400 W, which brings the pair to 800 W. The Founders Edition is a 2-slot card (304 x 137 mm per NVIDIA); many partner cards are thicker, so check slot spacing and airflow before buying the board.

Two RTX 5090s or one RTX PRO 6000?

Two 5090s are about 20% cheaper and, in CloudRift's run, about 19% faster in aggregate on a 70B model; one PRO 6000 has 50% more memory, no split overhead and half the rated power.

OptionMemoryPrice, 7 Nov 2026Per GBRated powerLlama 3.3 70B AWQ, aggregate
2x RTX 509064 GB GDDR7$13,099.98$2051,150 W1,230 tok/s
1x RTX PRO 6000 Workstation96 GB GDDR7 ECC$16,399.00$171600 W1,031 tok/s

Prices: NowInStock, cheapest in-stock listings among the retailers it tracks on 7 November 2026, both at Newegg (RTX 5090 tracker, Gigabyte Gaming OC at $6,549.99; RTX PRO 6000 tracker, OEM Workstation Edition at $16,399.00), US dollars before sales tax. Memory and power: NVIDIA's RTX PRO 6000 page (96 GB, 1,792 GB/s, 600 W) and RTX 5090 page. Throughput: CloudRift, 9 October 2025.

The PRO 6000 has the same 1,792 GB/s as one 5090, so a single user on a model that fits both sees similar speed from one PRO 6000 and from two 5090s on a layer split, and up to about 1.2x more from the 5090 pair with tensor parallel. Renting is the third option: Hetzner's GEX131 lists a PRO 6000 Max-Q server at EUR 1,499 a month excluding VAT plus the same again as a setup fee. The Max-Q and Workstation variants are compared in the sibling article on RTX PRO 6000 editions, and the 96 GB card against a 128 GB GB10 machine in DGX Spark vs RTX PRO 6000.

My verdict: buy a second RTX 5090 when your model needs 33 to 60 GB or you serve several users, and run two model copies whenever one card holds the model. For one user on a 70B model, I would rather have one RTX PRO 6000: the same single-stream speed, 32 GB more memory, half the power and no split to debug, for about $3,300 more.

FAQ

Does a second RTX 5090 double LLM speed?

No, not for one user. In DeutscheKI's vLLM runs, tensor parallel across two RTX 5090s raised QwQ-32B AWQ from 65.2 to 79.5 output tok/s, a 1.22x gain. A layer split, the default in llama.cpp and Ollama, adds memory but no single-stream speed, because the cards take turns. Aggregate throughput scales better: CloudRift reports nearly 2x from running one model copy per card.

Should I use tensor parallel or pipeline parallel on two RTX 5090s?

Use tensor parallel (vLLM --tensor-parallel-size 2) when you want lower latency for one user and the model fits in 64 GB. Use pipeline parallel or a llama.cpp layer split when you serve many requests or the cards sit on slow lanes. vLLM's documentation recommends pipeline parallelism for GPUs without NVLink, and CloudRift used pipeline parallel for its dual-5090 Llama 3.3 70B result of 1,230 tok/s.

Do RTX 5090s support NVLink or P2P?

NVIDIA's RTX 5090 specifications list no NVLink connector, so the two cards talk over PCIe. Direct peer-to-peer transfers on GeForce cards rely on tinygrad's patched open kernel module, whose 570.148.08-p2p branch says it allows P2P on 4090 and 5090 GPUs. Without P2P, vLLM skips its custom all-reduce and falls back to NCCL, which costs latency per token.

What can two RTX 5090s run that one cannot?

By my calculation, 64 GB holds Llama 3.3 70B at 4-bit with a 32k context (about 50 GiB), Qwen3-Coder-Next at Q4_K_M (about 51 GiB) and Qwen3.8-27B at Q8_0 with its full 262,144-token context (about 46 GiB). gpt-oss-120b squeezes in at 32k with about 1 GiB spare. With CPU-offloaded experts, adrienbrault reports GLM-5.3-Flash at 64.8 tok/s on two cards.

Are two RTX 5090s cheaper than an RTX PRO 6000?

Yes, at 7 November 2026 US prices: two cards at $6,549.99 each total $13,099.98, against $16,399 for an RTX PRO 6000 Workstation Edition at Newegg (NowInStock). Per GB the PRO 6000 is cheaper, $171 against $205, and it draws 600 W against up to 1,150 W. CloudRift measured two 5090s at 1,230 tok/s on Llama 3.3 70B against 1,031 for one PRO 6000.

Sources

Every figure above is attributed to its source in the sentence or table where it appears. Pages were read on 7 November 2026 unless a date says otherwise.

Related pages

First top-up: pay $20, get $30 in credit

Test one RTX 5090 before you buy two.

Rent the RTX 5090 by the minute at $0.89 an hour and measure your model on one card first; if it already fits and runs fast enough, the second card is optional.

A dedicated RTX 5090 machine with 32 GB of GDDR7, $0.89/hour, billed per minute, one customer per machine.

Deploy now for an RTX 5090 Compare a 96 GB RTX PRO 6000