Phi-4-mini Instruct on Jetson AGX Orin 32GB: FITS
Method v1.0 · dataset 2026-09-07 · verified 2026-09-07 · last updated September 2026
Phi-4-mini Instruct at GGUF Q4_K_M / INT4 (AWQ, MLC q4f16), 4096 tokens × 1 sequence on Jetson AGX Orin 32GB: 4.7 GB of 32 GB — FITS (15%). Weights 2.3 GB (class A) + KV cache 0.5 GB + runtime 0.5 GB + OS 0.9 GB + reserve. Largest context that fits at this concurrency: 131072 tokens; 41 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 | 2.3 GB | class A | Phi-4-mini-instruct-Q4_K_M.gguf: 2.492 GB published file size |
| KV cache | 0.5 GB | class D | 2 × layers × KV heads × head dim × 4096 tokens × 2 bytes × 1 sequence |
| Runtime overhead | 0.5 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.4 GB | class E | 10% of subtotal |
| Total | 4.7 GB | of 32 GB — 15% — FITS | |
Weights source
- unsloth (community GGUF) · hf:unsloth/Phi-4-mini-instruct-GGUF · verified 2026-09-07 · source · class A
Phi-4-mini-instruct-Q4_K_M.gguf 2.492 GB (published file size)
Headroom
Largest context that fits at 1 sequence: 131072 tokens. Max concurrent sequences at 4096 tokens: 41. Sequence ladder: 27 comfortable (≤60%) · 41 likely viable (≤85%) · fails at 51.
Other quantisations on Jetson AGX Orin 32GB
| Quantisation | Weight source | Total | Verdict |
|---|---|---|---|
| FP16 / BF16 | estimated | 10 GB | FITS |
| FP8 (E4M3) | estimated | 6.1 GB | FITS |
| INT8 / GGUF Q8_0 | estimated | 6.3 GB | FITS |
| GGUF Q4_K_M / INT4 (AWQ, MLC q4f16) | measured artefact | 4.7 GB | FITS |
| NVFP4 | estimated | 4.3 GB | FITS |
Phi-4-mini Instruct on other modules
Constraints
| Type | Required | Available | Utilization | Status | Evidence · confidence | Source / method |
|---|---|---|---|---|---|---|
| memory | 4,764 MB | 32,768 MB | 15% | PASS | D · MEDIUM | 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 AGX Orin 32GB: 32 GB
- Microsoft · hf:microsoft/Phi-4-mini-instruct · config.json · verified 2026-09-07 · source · class A
layers 32, kv_heads 8, head_dim 128 (derived: hidden ÷ heads), max context 131072
- unsloth (community GGUF) · hf:unsloth/Phi-4-mini-instruct-GGUF · verified 2026-09-07 · source · class A
Phi-4-mini-instruct-Q4_K_M.gguf 2.492 GB (published file size)
- 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: Phi-4-mini-instruct-Q4_K_M.gguf: 2.492 GB published file size (class A).
- KV cache: 2 × 32 layers × 8 KV heads × 128 head dim × 4096 tokens × 2 bytes × 1 sequence = 512 MB (class D formula).
- 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=llm&hw=jetson_agx_orin_32gb&model=phi-4-mini-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: microsoft/Phi-4-mini-instruct
Change one input and re-run.
The live engine keeps every source line and gives you a fresh permalink and summary.