Can I run gpt-oss-120b on an RTX 4090?

With --n-cpu-moe 24: the MXFP4 GGUF keeps 22.7 GB on the RTX 4090 and 38.5 GB in system RAM, with the experts of 24 of its 36 layers moved there. Whole, gpt-oss-120b needs about 68.6 GB at MXFP4 with 32K tokens of context, 44.6 GB more than the 24 GB RTX 4090 holds. The smallest setup here that holds gpt-oss-120b at MXFP4 with 32K is A100 80GB.

Why 68.6 GB with vLLM, but 22.7 GB on the RTX 4090 with llama.cpp

The 68.6 GB counts the published checkpoint as vLLM loads it: 60.8 GB of weights, the 32K KV cache, 0.5 GB and 10% overhead. llama.cpp's measured MXFP4 GGUF is 59.0 GB, and its 587 MB of token embeddings stay in RAM. With every layer on the RTX 4090 it takes 60.6 GB at 32K with 1 GB of buffers, 36.6 GB more than it holds, so the experts of 24 layers (37.9 GB) move to system RAM. That leaves 1.32 GB of the 24 GB free, and the PC needs 38.5 GB of free RAM for those experts and the embeddings.

With offload the MXFP4 GGUF with --n-cpu-moe 24 and 32K tokens of context

On the card
22.7 GB
RTX 4090
24 GB, 1,008 GB/s
In RAM
38.5 GB
Tokens/s
17–28 tokens/s

With the MXFP4 GGUF, --n-cpu-moe 24 and 32K tokens of context it writes about 17–28 tokens/s for one request on an RTX 4090 and dual-channel DDR5-5600.

gpt-oss-120b on the RTX 4090 as the context fills

One request, FP16 KV cache, 0.5 GB plus 10% overhead; the MXFP4 GGUF columns are the measured llama.cpp file with every layer on the GPU and 1 GB of buffers; a minus sign is memory missing, and tight is less than 0.5 GB free.

Context MXFP4FreeTokens/sMXFP4 GGUFFreeTokens/s
4K 67.5 GB −43.5 GB — 59.6 GB −35.6 GB —
8K 67.7 GB −43.7 GB — 59.8 GB −35.8 GB —
16K 68.0 GB −44.0 GB — 60.0 GB −36.0 GB —
32K 68.6 GB −44.6 GB — 60.6 GB −36.6 GB —
64K 69.8 GB −45.8 GB — 61.7 GB −37.7 GB —
128K (full) 72.3 GB −48.3 GB — 64.0 GB −40.0 GB —

--n-cpu-moe for gpt-oss-120b on the RTX 4090

With --n-cpu-moe 24 the MXFP4 GGUF keeps 22.7 GB on the RTX 4090 and 38.5 GB in RAM, about 17–28 tokens/s with DDR5-5600. Measured MXFP4 file, 1 GB of buffers; tokens/s by system RAM speed.

Context--n-cpu-moeOn the cardIn RAM DDR4-3200DDR5-5600DDR5-6400
8K 23 23.4 GB 36.9 GB 11–1918–3020–34
32K 24 22.7 GB 38.5 GB 10–1717–2818–31
64K 24 23.8 GB 38.5 GB 10.0–1715–2617–29
128K (full) 26 22.9 GB 41.7 GB 8.7–1513–2214–24

gpt-oss-120b on more than one RTX 4090

CardsBest at 32KTokens/sMXFP4 longestMXFP4 tokens/sRent per hour
2× (48 GB) Nothing fits — Does not fit — $1.06
4× (96 GB) MXFP4 145–301 128K (full) 145–301 $2.12

Tensor parallel with the combined bandwidth, as in vLLM; llama.cpp splits layers by default and runs at about one card's speed.

Other options

Run gpt-oss-120b on the RTX 4090 with llama-server

llama-server -hf ggml-org/gpt-oss-120b-GGUF:MXFP4 -c 32768 --n-cpu-moe 24 -np 1

gpt-oss-120b-MXFP4.gguf, 63.4 GB, from ggml-org/gpt-oss-120b-GGUF (checked 2026-09-29); --n-cpu-moe 24 with -c 32768 is the plan above. -np 1: one slot, one sliding window.

Questions

Can I run gpt-oss-120b on an RTX 4090?

With --n-cpu-moe 24: the MXFP4 GGUF keeps 22.7 GB on the RTX 4090 and 38.5 GB in system RAM, with the experts of 24 of its 36 layers moved there. Whole, gpt-oss-120b needs about 68.6 GB at MXFP4 with 32K tokens of context, 44.6 GB more than the 24 GB RTX 4090 holds. The smallest setup here that holds gpt-oss-120b at MXFP4 with 32K is A100 80GB.

How fast is gpt-oss-120b on an RTX 4090?

With the MXFP4 GGUF, --n-cpu-moe 24 and 32K tokens of context it writes about 17–28 tokens/s for one request on an RTX 4090 and dual-channel DDR5-5600.

Does gpt-oss-120b need --n-cpu-moe on an RTX 4090?

With --n-cpu-moe 24 the MXFP4 GGUF keeps 22.7 GB on the RTX 4090 and 38.5 GB in RAM, about 17–28 tokens/s with DDR5-5600.

What does a second RTX 4090 change for gpt-oss-120b?

Even two RTX 4090 cards (48 GB) do not hold gpt-oss-120b at 32K.

Try other settings in the VRAM calculator, the speed calculator or the MoE offload planner. See also gpt-oss-120b VRAM requirements, what LLMs an RTX 4090 can run and every pair, or detect your own GPU. Model data checked .