self-hosted/ai
§01·tools · /gpu-advisor

GPU Advisor

Two questions, two modes. Pick a GPU you own — see what runs on it. Or pick the models you want — see which GPUs are big enough.

Every one of the 97 models in the catalogue gets an answer for every one of the 27 cards 2619 verdicts, drawn from 950 published recipes. A model is never silently left out of the list because we cannot prove it runs; it is labelled untested and stays in.

loading advisor…

§02·how a verdict is decided

Four answers, and why they are not symmetric

verified
a published recipe targets this exact model and this exact card.
fits
no recipe for the pair, but one on the same vendor's hardware puts the memory floor at or below this card.
won't fit
a floor measured on any platform is above this card's memory.
untested
it fits in memory as far as we know, and nothing establishes a runtime path.

The evidence rule is deliberately lopsided, because the two claims it has to make are not the same kind of claim. Ruling a card out is arithmetic on bytes. If a recipe anywhere — CUDA, ROCm, Metal — recorded that a model needed more memory than your card has, that number rules the card out, because memory is memory whoever measured it.

Ruling a card in is a claim about software. It says a runtime exists, builds, and loads that architecture on your platform — and that does not travel. A model with a comfortable CUDA recipe may have no working Metal path at all. So fitsis only ever inferred from a recipe on the same vendor's hardware, and a model that clears the memory bar with no same-vendor evidence is reported as untested rather than promoted.

The one exception is VRAM-budget mode, where you type a number instead of naming a card. There is no platform to scope to and no runtime claim to over-reach on, so the memory floor answers in both directions.

§03·every card the advisor knows

27 GPUs, and how much evidence backs each

Recipe count is the number that matters here. Benchmarks are ingested opportunistically and are far sparser; recipes are the written, reproduced setups the verdicts above are derived from. A card near the bottom of this column will show more untested rows — that is a gap in our coverage, not a verdict about the hardware.

Every GPU the advisor can answer for, with how much evidence backs it
GPUVendorMemoryRecipesBenchmarks
RTX 3060nvidia12 GB3611
RTX 3060 Tinvidia8 GB2611
RTX 3080 Tinvidia12 GB354
RTX 3090nvidia24 GB4521
RTX 3090 Tinvidia24 GB3812
RTX 4060nvidia8 GB140
RTX 4060 Ti 8GBnvidia8 GB120
RTX 4060 Ti 16GBnvidia16 GB367
RTX 4070nvidia12 GB421
RTX 4070 Supernvidia12 GB364
RTX 4070 Tinvidia12 GB356
RTX 4070 Ti Supernvidia16 GB436
RTX 4080nvidia16 GB496
RTX 4080 Supernvidia16 GB435
RTX 4090nvidia24 GB476
RTX 5060nvidia8 GB143
RTX 5060 Tinvidia16 GB448
RTX 5070nvidia12 GB354
RTX 5070 Tinvidia16 GB437
RTX 5080nvidia16 GB437
RTX 5090nvidia32 GB4826
RX 7800 XTamd16 GB450
RX 7900 XTXamd24 GB493
Apple M2 Maxapple64 GB270
Apple M2 Proapple16 GB170
Apple M3 Maxapple48 GB270
Apple M4 Maxapple48 GB190
§04·questions

Common questions

Where do the verdicts come from?

Published recipes, not benchmark ingestion. A recipe is a setup someone wrote down and ran, and it records the peak VRAM the run actually needed. Those figures become the memory floors every other verdict is measured against, which is why a card with many recipes answers more confidently than one with few.

Why does it say a model fits when nobody has run it on my card?

Because the two directions are not equally safe to guess. "It will not fit" is a statement about bytes, and bytes do not care which platform measured them, so a floor recorded anywhere can rule a card out. "It fits" is a statement about a working runtime, which does not transfer between CUDA, ROCm and Metal — so it is only inferred from a recipe on the same vendor's hardware. Anything that satisfies neither test is reported as untested rather than guessed.

Does it account for context length?

Only as far as the recipe it learned the floor from did. Every floor comes from a real run at whatever context that recipe used, and the recipe says which. Doubling the context raises the KV-cache cost and can push a model that fits at 8k over the edge at 128k, so treat a bare "fits" as a claim about a default-ish context and read the recipe for the number.

Why can I open a recipe from some rows and not others?

A row links onward only when the verdict is verified, because that is the only tier where a document exists for that exact pair. Linking every row would point at pages that were never generated — compatibility pages exist for covered pairs, not for all 97 models times 27 cards.

The advisor and the comparison table disagree with a GPU page. Which is right?

None of them should disagree: the advisor, the side-by-side comparison and each GPU page all read the same recipe evidence through the same code path, and a test walks a comparison row by row against the advisor's answer for each card to keep it that way. If you do find a contradiction it is a bug worth reporting, not a difference of opinion.

Comparing specific cards instead? Put two to four side by side.