More
Submit build

GGUF vs AWQ vs FP8 vs NVFP4: which format for local LLMs?

Quick answer

GGUF vs AWQ vs FP8 vs NVFP4 — which should I use?
Match the format to the engine: GGUF for llama.cpp / Ollama / LM Studio; AWQ or FP8 for vLLM / TensorRT-LLM on NVIDIA; NVFP4 on Blackwell (RTX 50-series, PRO 6000, GB10) when the engine supports it. Quality at ~4-bit is usually close across well-tuned quants; speed differences come from kernels and whether speculative decoding is on.

Last updated:

Formats are how weights are stored and which engines can load them. Below is a practical map, plus RigBase rows where the same model was measured in more than one format.

Quick answer: Use GGUF with llama.cpp-family tools, AWQ / FP8 with vLLM on NVIDIA, and NVFP4 on Blackwell when available. Stay around 4-bit or above for chat; see Is Q4 good enough?.

What each format is for

FormatTypical bitsBest withNotes
GGUF (Q4_K_M, IQ4_XS…)~2–8 (Q4_K_M = 4.89)llama.cpp, Ollama, LM Studio, koboldcppBits from the llama.cpp quantize table. Widest CPU/GPU/Apple coverage.
AWQ~4vLLM, Hugging Face CUDA stacksActivation-aware weight quant; common for Tensor Parallel multi-GPU.
FP88vLLM, TensorRT-LLM on Ada/Hopper/BlackwellHigher fidelity than 4-bit; needs more VRAM.
NVFP4~4.5 (block FP8 scales)Blackwell GPUs (50-series, PRO 6000, GB10)Per NVIDIA’s NVFP4 post.
MXFP4~4.25gpt-oss official releases, some MLX/llama.cpp pathsUsed on gpt-oss 20B/120B native-ish packs in RigBase.

Same models, different formats (measured)

ModelHardwareQuant / formatEnginetok/s
Qwen3.6 35B-A3B4x RTX 3090IQ4_XS (1 GPU)llama.cpp115-133
Qwen3.6 35B-A3B4x RTX 3090AWQ-INT4 (TP=2)vLLM149
Qwen3.6 35B-A3B4x RTX 3090AWQ-INT4 + MTP-3 (TP=2)vLLM225-231 ⚡
Flint 40B-A2.5BRTX 4090NVFP4llama.cpp 0.7.0-dev (build 118179.4
Flint 40B-A2.5BRTX 4090UD-Q3_K_XLllama.cpp 0.7.0-dev (build 118169.2
Flint 40B-A2.5BRTX 5090 32GBNVFP4 GGUF (RecursiveSI/flint-nvfp4-gguf), f1llama.cpp b11803, no speculati224.9
Flint 40B-A2.5BRTX 5090 32GBNVFP4 GGUF, f16 KVllama.cpp b11803, no speculati110.2

Do not crown a format from one row: engine, tensor parallel, context and speculative decoding dominate. Use the table to see what actually runs.

Related: VRAM calculator (GGUF + NVFP4 + vLLM-style) · multi-GPU 3090 · DGX Spark NVFP4 recipes

FAQ

GGUF vs AWQ vs FP8 vs NVFP4 — which should I use?

Match the format to the engine: GGUF for llama.cpp / Ollama / LM Studio; AWQ or FP8 for vLLM / TensorRT-LLM on NVIDIA; NVFP4 on Blackwell (RTX 50-series, PRO 6000, GB10) when the engine supports it. Quality at ~4-bit is usually close across well-tuned quants; speed differences come from kernels and whether speculative decoding is on.

What is NVFP4?

NVIDIA’s 4-bit floating format: about 4.5 bits per weight because every 16 values share an FP8 scale (NVIDIA developer blog on NVFP4). It needs Blackwell-class hardware and a supporting engine (vLLM, TensorRT-LLM, some llama.cpp builds).

Is AWQ better than GGUF Q4?

Not universally. On the same 4×3090 lab, Qwen3.6 35B-A3B measured 115–133 tok/s as IQ4_XS in llama.cpp (1 GPU) and 149 tok/s as AWQ-INT4 with vLLM TP=2 — different engines and sharding, so it is not a pure format contest. Prefer the stack you can run, then pick a ≥Q4-class quant.