SmolVLM 256M Instruct on Jetson Orin NX 8GB: FITS
Method v1.0 · dataset 2026-09-07 · verified 2026-09-07 · last updated September 2026
SmolVLM 256M Instruct at GGUF Q4_K_M / INT4 (AWQ, MLC q4f16), 4096 tokens × 1 sequence on Jetson Orin NX 8GB: 1.7 GB of 8.0 GB — FITS (22%). Weights 0.1 GB (class D) + KV cache 0.1 GB + runtime 0.4 GB + OS 0.9 GB + reserve. Largest context that fits at this concurrency: 8192 tokens; 52 concurrent sequences at 4096.
Q4 quantisation · 4096-token context · 1 sequence · llama.cpp · headless. Change any of those on the live engine.
Memory breakdown
| Part | Amount | Evidence | Basis |
|---|---|---|---|
| Weights | 0.1 GB | class D | 0.172 B parameters × 0.625 bytes/parameter (median artefact size ÷ parameters across 22 registry rows) |
| KV cache | 0.1 GB | class D | 2 × layers × KV heads × head dim × 4160 tokens × 2 bytes × 1 sequence |
| Vision tower | 0.1 GB | class A/D | GGUF mmproj Q8_0 (vision) 0.104 GB published file size |
| Runtime overhead | 0.4 GB | class E | llama.cpp / Ollama: 400 MB base + 6% of weights (CUDA context + compute buffer for the prompt batch (n_batch 512)) |
| OS headroom | 0.9 GB | class E | headless |
| Reserve | 0.2 GB | class E | 10% of subtotal |
| Total | 1.7 GB | of 8.0 GB — 22% — FITS | |
Weights source
- Hugging Face · hf:HuggingFaceTB/SmolVLM-256M-Instruct · verified 2026-09-07 · source · class A
0.2565 B parameters
Headroom
Largest context that fits at 1 sequence: 8192 tokens. Max concurrent sequences at 4096 tokens: 52. Sequence ladder: 32 comfortable (≤60%) · 52 likely viable (≤85%) · fails at —.
Other quantisations on Jetson Orin NX 8GB
| Quantisation | Weight source | Total | Verdict |
|---|---|---|---|
| FP16 / BF16 | estimated | 2.0 GB | FITS |
| FP8 (E4M3) | estimated | 1.8 GB | FITS |
| INT8 / GGUF Q8_0 | measured artefact | 1.8 GB | FITS |
| GGUF Q4_K_M / INT4 (AWQ, MLC q4f16) | estimated | 1.7 GB | FITS |
| NVFP4 | estimated | 1.7 GB | FITS |
SmolVLM 256M Instruct on other modules
Constraints
| Type | Required | Available | Utilization | Status | Evidence · confidence | Source / method |
|---|---|---|---|---|---|---|
| memory | 1,766 MB | 8,192 MB | 22% | PASS | D · LOW | NVIDIA · nvidia.com:jetson-modules-spec-table · verified 2026-09-07 |
Sources
- NVIDIA · nvidia.com:jetson-modules-spec-table · verified 2026-09-07 · source · class A
Jetson Orin NX 8GB: 8 GB
- HuggingFaceTB · hf:HuggingFaceTB/SmolVLM-256M-Instruct · config.json · verified 2026-09-07 · source · class A
layers 30, kv_heads 3, head_dim 64, max context 8192
- Hugging Face · hf:HuggingFaceTB/SmolVLM-256M-Instruct · verified 2026-09-07 · source · class A
0.2565 B parameters
- ggml-org (llama.cpp maintainers) · hf:ggml-org/SmolVLM-256M-Instruct-GGUF · verified 2026-09-07 · source · class A
GGUF mmproj Q8_0 (vision) 0.104 GB
- NVIDIA · nvidia-blog:mastering-llm-techniques-inference-optimization · Key-value caching · verified 2026-09-07 · source · class A
KV cache size per token = 2 × (num_layers) × (num_heads × dim_head) × precision_in_bytes
- NVIDIA · nvidia-docs:cuda-for-tegra-appnote · Memory Management · verified 2026-09-07 · source · class A
Jetson iGPU and CPU share the same DRAM: OS, runtime and model all draw on one pool.
Assumptions
- Weights: 0.172 B parameters × 0.625 bytes/parameter (median artefact size ÷ parameters across 22 registry rows) (class D).
- KV cache: 2 × 30 layers × 3 KV heads × 64 head dim × 4160 tokens × 2 bytes × 1 sequence = 91 MB (class D formula).
- 1 image × 64 tokens added to the context (512² patch / 16 = 32² tokens, pixel-shuffle ×4 → 64 tokens per 512×512 tile; one tile assumed; class D).
- Vision tower: GGUF mmproj Q8_0 (vision) 0.104 GB published file size (class A).
- Runtime overhead: llama.cpp / Ollama: 400 MB base + 6% of weights (CUDA context + compute buffer for the prompt batch (n_batch 512)) (class E).
- OS 900 MB (headless) + 10% reserve from the shared memory budget (class E).
Method and limitations
total = weights (published artefact size, else parameters × bytes per parameter) + KV cache (2 × layers × KV heads × head dim × context × bytes × sequences) + vision tower (VLM) + runtime overhead + OS headroom + reserve, on the memory budget shared with Camera Stream Capacity. Verdict: FITS < 85% of module memory ≤ TIGHT < 100% ≤ DOES_NOT_FIT. Vision pipelines take their per-part figures from the memory estimator and are rebuilt on the same budget.
- Weights are class A when a published quantised artefact matches; otherwise parameters × bytes-per-parameter is class D for block quants (Q4, INT8, NVFP4) and class A for fixed-width types (FP16, FP8).
- KV cache, runtime overhead, OS headroom and reserve are class D/E formulas — engineering models, not vendor measurements. Validate on device with
sudo tegrastats; llama.cpp prints its own KV and compute-buffer sizes at load. - Full method, evidence classes and the confidence rule: Model Memory Fit methodology.
Links
- Live engine (this exact workload): https://edgeaistack.ai/engines/model-memory-fit/?mode=vlm&hw=jetson_orin_nx_8gb&model=smolvlm-256m-instruct&quant=q4&ctx=4096&seq=1&rt=llama_cpp&os=headless&mv=1.0&dv=2026-09-07
- Methodology: /methodology/model-memory-fit/
- Dataset: /datasets/model-memory.json
- Hugging Face repository: HuggingFaceTB/SmolVLM-256M-Instruct
Change one input and re-run.
The live engine keeps every source line and gives you a fresh permalink and summary.