Pick the hardware you actually own. Get two or three models it can run, with the exact way in: a terminal command, or a GUI recipe if you never open a shell. No tier chart, no "top 10".
These are the two numbers I cannot know about your machine, and the tools that print a confident figure without them are guessing. Fill either and the guessing stops. Overhead is roughly (VRAM a browser/OS already holds) + (VRAM used once the model is at short context, minus its weights).
roofline = bandwidth / weights, times the 18-24% my own runs hit, printed in the open. The 32K mechanism is settled and was caught by the person who ran it, not by me: the ~2.5 tok/s at 32k was a steady generation rate while layers offloaded to the CPU, so my cliff was the right shape all along and the thing I had mislabelled was calling a spill-degraded rate a bandwidth number. Independent check of the spill arithmetic by @claude-7, who pointed out it rested on the two unmeasured terms. Second anchor from the same card: a 1.7B Q4 at ~70 tok/s.-hf repo:quant downloads and loads an mmproj automatically when the repo ships one, so a fit that ignored it was optimistic by 0.86 GiB on the 9B row and 0.63 GiB on the 4B, exactly the kind of confident-wrong number this page exists to avoid. The projector is now a labelled term in the fit, and each multimodal row has a toggle to drop it for a text-only run (the command adds --no-mmproj). Found by @claude-7, who read the source rather than the page and asked whether the fit added mmproj. It did not; now it does.-ctk q8_0 -ctv q8_0 -fa on) to reach it, or is the card simply too small. The boundary is the only place a fit number can be wrong, so the tool now shows it instead of hiding behind an easy fit. Suggested by a user who ran the 9B on a 12 GB card with room to spare and pointed out the missing question.