VOOZH about

URL: https://willitrunai.com/can-run/internlm-20b-on-rtx-5090-32gb


Can InternLM 20B run on RTX 5090 32GB?

BARELY — Tight on Memory

C50Usable
Estimated from fit model

InternLM 20B needs ~36.8 GB VRAM. RTX 5090 32GB has 32.0 GB. With Q5_K_M quantization, expect ~49 tok/s.

Runtime: llama.cppCapacity: OffloadBandwidth: HighStack: StandardBottleneck: Host offload
Share:

Operating mode

Choose the run profile you care about

Interactive favors responsiveness, while light API and scale-out lean harder on serving readiness. The fit stays the same, but the recommendation lens changes.

Current mode

Balanced

Balanced for general local use. Keeps the ranking neutral across personal and serving workflows.

Capabilities:

Select quantization to explore

Q5_K_M (High quality) — 36.8 GB, 44.5 tok/s, Very compromised (needs ~1.9 GB host RAM)
36.8 GB required32.0 GB available
115% VRAM needed

4.8 GB over capacity — needs offload or smaller quantization

Fit status

Very compromised (needs ~1.9 GB host RAM)

Decode

44.5 tok/s

TTFT

4346 ms

Safe context

8K

Memory

36.8 GB / 32.0 GB

Offload

10%

Memory breakdown

Weights14.4 GB
KV Cache18.3 GB
Runtime0.9 GB
Headroom3.2 GB

See how fast it feels

See how fast it feelsInternLM 20B on RTX 5090 32GB
1st promptCold start — includes initialization
>Write a Python function to sort a list
Here's a Python function that sorts a list using quicksort: def quicksort(arr): if len(arr) <= 1: return arr pivot = arr[len(arr) // 2] left = [x for x in arr if x < pivot] middle = [x for x in arr if x == pivot] right = [x for x in arr if x > pivot] return quicksort(left) + middle + quicksort(right) # Example usage numbers = [3, 6, 8, 10, 1, 2, 1] print(quicksort(numbers)) # [1, 1, 2, 3, 6, 8, 10] The algorithm picks a pivot, partitions the list into smaller, equal, and larger elements, then recursively sorts each partition and concatenates the results.
2nd promptWarm — model ready, no init overhead
>Now add type hints and a docstring
def quicksort(arr: list[int]) -> list[int]: """Sort a list using the quicksort algorithm. Args: arr: List of integers to sort. Returns: A new sorted list. """ if len(arr) <= 1: return arr pivot = arr[len(arr) // 2] left = [x for x in arr if x < pivot] middle = [x for x in arr if x == pivot] right = [x for x in arr if x > pivot] return quicksort(left) + middle + quicksort(right) Added type hints for the input and return type, plus a Google-style docstring.
Estimated: 44.5 tok/s decode · 4.3s TTFT (warm) · 111 tok/s prefill

What limits this setup

It fits through host-memory offload, and offload is the main reason performance drops.

CPU or host-memory offload is active

About 10% of the working set spills out of accelerator memory, which usually hurts latency and sustained decode throughput.

Very little memory headroom

You can run the model, but there is not much room left for longer context, bigger batches, extra apps, or future model updates.

Best improvement path

Remove offload with more accelerator memory

Prioritize a GPU or unified-memory tier that fits the whole model natively. Removing offload usually helps more than small compute gains.

Buy headroom, not only minimum fit

A slightly larger memory tier gives you safer context growth and makes the recommendation more future-proof.

Increase host RAM if you keep offloading

This setup may need roughly {ram} GB of extra host RAM just for the offloaded portion, before OS and other tools.

Performance by workload

WorkloadGradeFitDecodeTTFTContext
ChatBTight fit85.0 tok/s1242 ms8K
CodingCVery compromised48.9 tok/s3961 ms8K
Agentic CodingFToo heavy21.4 tok/s13130 ms8K
ReasoningCVery compromised48.9 tok/s4682 ms8K
RAGFToo heavy21.4 tok/s16413 ms8K

Quantization options

How InternLM 20B (20B params) fits at each quantization level on RTX 5090 32GB (32.0 GB usable).

QuantBitsVRAMQualityFit
Q2_K
2
7.8 GB
LowC53
Q3_K_S
3
9.8 GB
LowC54
NVFP4
4

Get started

Copy-paste commands to run InternLM 20B on your machine.

Run

docker run --rm -it ghcr.io/ggerganov/llama.cpp:full \ --hf-repo "internlm/internlm2_5-20b-chat" \ --hf-file "internlm2_5-20b-chat-Q5_K_M.gguf" \ -c 4096 -ngl 99

Upgrade options

Hardware that runs InternLM 20B well

👁 NVIDIA
RTX A6000 48GBBudget pick
48 GB VRAM (+16)
B
Removes host-memory offload, which is usually the single biggest latency and throughput win.41.3 tok/s decode

Removes host-memory offload, which is usually the single biggest latency and throughput win.

Adds memory headroom for longer context windows and future model growth.

~$4,650 MSRP

👁 NVIDIA
RTX PRO 5000 Blackwell 48GBBest value
48 GB VRAM (+16)
B
Removes host-memory offload, which is usually the single biggest latency and throughput win.80 tok/s decode

Removes host-memory offload, which is usually the single biggest latency and throughput win.

Raises estimated decode speed by about 80%.

~$4,999 MSRP

👁 NVIDIA
Quadro RTX 8000 48GBNVIDIA upgrade
48 GB VRAM (+16)
B
Removes host-memory offload, which is usually the single biggest latency and throughput win.32.8 tok/s decode

Removes host-memory offload, which is usually the single biggest latency and throughput win.

Adds memory headroom for longer context windows and future model growth.

~$5,800 MSRP

Frequently asked questions

See all results for RTX 5090 32GBSee all hardware for InternLM 20B
11.2 GB
Medium
C54
Q4_K_M
4
12.2 GB
MediumC55
Q5_K_M
5
14.4 GB
HighB56
Q6_K
6
16.4 GB
HighB57
Q8_0Best for your GPU
8
21.4 GB
Very HighB57
F16
16
41.0 GB
MaximumF0