Jump to content
Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Quantization on the 170HX

From CMP Wiki

The CMP 170HX is sm_80: it has INT8 and INT4 tensor cores and BF16/FP16, but no FP8 or FP4 hardware. That decides which quants are fast. This page collects what people measured; the per-model setups are on the Recipes pages and every number is on Benchmarks.

The short version

  • Use INT4 weights with 16-bit activations (W4A16) served through vLLM's sm_80 Marlin kernels. It is what most people run, and the CMP gets large speedups on INT4/INT8 over regular GGUF-style quants. Source: @wakeupmbrc1, 2026-10-14
    Source: @gnasherrr, 2026-10-26
  • All Ampere chips support INT4 at twice the theoretical INT8 throughput (about 1.2 PFLOPS on this die), even though NVIDIA's A100 page lists only INT8. Choose INT4 or INT8 by the model's quantization quality curve, and always use the quantization kernels. Source: @programmerboi, 2026-10-14
    Source: @programmerboi, 2026-10-14
  • W8A16 costs about 30% against W4A16 on Qwen3.8 27B. W8A8 is slightly higher quality. Source: @wakeupmbrc1, 2026-10-14
    Source: @xeax, 2026-10-15
  • FP8 and FP4 checkpoints still run, but as weight-only formats: NVFP4 runs through Marlin as 4-bit weights with BF16 activations (MiMo V2.6 Flash); official MXFP8 dense layers run as Marlin W8A16 and MXFP4 experts as W4A16 (DeepSeek V4.1 Flash); FP8 KV caches are stored as uint8 and decoded in software. NVFP4 GLM checkpoints that need SM12x FlashInfer do not run. Source: repo github.com/ElectroHobo/mimo-v26-flash-cmp170hx-recipe by ElectroHobo on GitHub, posted by @nathang6866, 2026-10-18
    Source: repo github.com/wgkbfcp/deepseek-v4.1-flash-1017-cmp170hx-recipe by wgkbfcp on GitHub, posted by @dale063629, 2026-10-19
    Source: repo github.com/PixelML/club-170hx by PixelML on GitHub, posted by @c133, 2026-10-20
  • What runs on GA100 (sm_80), from PixelML's and allover326's notes: AWQ/GPTQ INT4 through Marlin, weight-only FP8 through the Marlin fallback, INT8 W8A8 through CUTLASS, FP8 KV cache (software conversion, costs throughput), BF16, MXFP4-stored experts dequantized. What does not: native NVFP4/MXFP4 or FP8 tensor-core math (Hopper and Blackwell only), DeepGEMM TF32, CuteDSL kernels, Triton fp8e4nv stores, TileLang FP8 x FP4 GEMM. On PixelML's pool NVFP4 checkpoints widened on load to about 60 GiB per card and ran out of memory, so they prefer AWQ W4A16; gate fast paths on compute capability, not on whether a package is installed. Sources: PixelML/club-170hx, allover326/vllm-dsa-mtp-sm80. Source: @darkmaniac7, 2026-09-05 (lab notes)
  • Stock engines want compute capability 9.0 for ModelOpt FP8 and NVFP4 checkpoints; on the CMP they run only through an engine that routes them to Marlin weight-only kernels (Morrowmake's fork does). Source: @darkmaniac7, 2026-10-20 (lab notes)

EXL3

EXL3 (turboderp's trellis format) gives the best size for the quality, which is why the two-card GLM and the four-card DeepSeek recipes use it.

  • Proven Quality: EXL3 at 3 bpw performs close to other 4-bit quants (anon33anon); a 3.5 bpw EXL3 quant is virtually indistinguishable from W4A16 or Q4_K_L on medium and large models, with differences possibly more visible under 30B (cibernox). The GLM 3.05 bpw quant is an average with the important parameters at higher precision (Nestaa51). Source: @anon33anon, 2026-10-13
    Source: @cibernox, 2026-10-13
    Source: @nestaa51, 2026-10-13
  • Contested Speed: EXL3 decode is compute-bound on sm_80 in ExLlamaV3; inside the vLLM forks with tensor-core MoE kernels it is much faster. See Engines#ExLlamaV3, TabbyAPI and EXL3.

bpw choices that people use

Model Quant Cards Notes
GLM-5.3-Flash turboderp EXL3 3.05 bpw (about 116.6 GiB resident) 2 GLM 5.3 Flash on 2x 8 GB (ExLlamaV3 TP2)
Qwen3.8-Flash-Next turboderp EXL3 5.05 bpw (0.0040 KLD from BF16) 2 (or 1 with offload) Morrowmake chose 5.05 because a 1M KV cache still fit
DeepSeek-V4.1-Flash-1017 LibertAI EXL3 2.9 bpw routed experts (layers 18-22 at 2 bpw) + official FP8 dense 4 the hybrid used by Morrowmake, GNmac and CurtisAccelerate
DeepSeek-V4.1-Flash-1017 2.9 bpw pack with layers 18-22 grafted from the 3.5 bpw pack (all experts 3-bit) 4 alanoo: perplexity -1.80% overall, -4.45% French, +1.98 GiB per card
DeepSeek-V4.1-Flash-1017 LibertAI EXL3 3.5 bpw 4 + RTX PRO 6000, or 6 does not fit four 64 GB cards
GLM-5.3 (full) EXL3 3.05 bpw 4 + RTX PRO 6000 30 tok/s (Mountains); under 300 GB, so four 80 GB cards would hold it

Source: repo github.com/Flun/glm53-flash-cmp170hx-exl3 by Flun on GitHub, posted by @wingrimez_40467, 2026-10-20
Source: @tekkenz, 2026-10-06
Source: repo github.com/alanoo81/deepseek-v41-flash-4x-cmp170hx by alanoo81 on GitHub, posted by @alanoo, 2026-10-27
Source: repo github.com/anoane/09-deepseek-v41-flash-1017-exl3-tp5-1m by anoane on GitHub, posted by @anon33anon, 2026-10-20
Source: @stcord, 2026-10-09

DeepSeek V4.1 Flash on four cards: how many bits

  • Miséricorde: on 4 cards (256 GB) 3.1 bpw is the maximum; the early LibertAI 2.9 and 3.5 bpw quants are uncalibrated and 2.9 is too aggressive (important tensors dequantized too much); a properly calibrated 3 to 3.1 bpw gives very low perplexity and KLD. W4A16, NVFP4 and MXFP4 do not fit four cards, so the quant is mostly EXL3: decent at concurrency 4 to 8, not amazing at 1. Source: @wakeupmbrc1, 2026-10-17
    Source: @wakeupmbrc1, 2026-10-17
    Source: @wakeupmbrc1, 2026-10-20
  • HeNryous' calibrated 2.75 bpw measures 0.0201 / 95.96% (almost lossless). Theory Miséricorde's plan: keep some hot experts in MXFP4 in the 20 to 25 GB that 2.75 bpw leaves free across four cards. Source: @wakeupmbrc1, 2026-10-20
    Source: @wakeupmbrc1, 2026-10-20
  • cibernox thinks a good 3 to 3.2 bpw is achievable in 256 GB; Gnasherrr: possible with heavy 2.9 bpw quants, and a fifth card does not help. Source: @cibernox, 2026-10-20
    Source: @gnasherrr, 2026-10-20
  • Native MXFP4 weights would beat INT autocalibration in quality, but sm_80 has no MXFP4 support; a W4A16 (INT4) quant would decode much faster than EXL3, as it did for the previous DeepSeek. Source: @wakeupmbrc1, 2026-10-20
    Source: @anon33anon, 2026-10-20
  • Miséricorde on the first day of 1017: it fits four cards at 3 to 3.5 bpw with decent quality, especially as EXL3, but on the slower side. Source: @wakeupmbrc1, 2026-10-17
  • Accuracy of the 2.9 bpw pack: code perplexity 1.9094 against 1.8749 unquantized (+1.8%), prose 6.4520 against 6.4277 (+0.4%) for the full-trunk pack; the hybrids quantize only the routed experts. KLD for the Mia-AiLab EAQ v1 2.9 bpw pack is on its model card. Source: repo github.com/CurtisAccelerate/DeepSeekv41-Flash-1017-EXL3-CMP170HX by CurtisAccelerate on GitHub, posted by @anon33anon, 2026-10-20
    Source: @greencandle9753, 2026-10-22
  • reala found the 3.5 bpw EXL3 on six cards kept making silly tool-call mistakes, which the original FP4 weights did not. Source: @reala7096, 2026-10-22

Group size, MTP heads and n-gram tables

  • Contested Group size for Qwen3.8 Flash Next 4-bit: aleksandartsvetanov argues G32 over G128, since G128 saves VRAM and compute but loses too much quality outside benchmarks; he calls G128 a trade-off, not obsolete. Most W4A16 checkpoints in the recipes use G128 for experts; mannydelrio's AWQ uses G32. Source: @aleksandartsvetanov, 2026-10-08
  • An INT4 MTP head has a much smaller footprint and runs faster, with a worse acceptance rate that balances out. Source: @aleksandartsvetanov, 2026-10-08
  • Qwen3.8 Flash Next's PLE (n-gram) table is 51B parameters of the model (about 125B in all): about 100 GB in BF16 against 70 GB for the W4A16 weights. Options: BF16 (aleksandartsvetanov: anything else is not worth discussing), FP8 (48 GiB; vektorprime measured KLD 0.0163 and 95.98% top-1 against BF16), INT4 (about 26.8 to 29.8 GB; zankich's INT4-PLE g32 and mannydelrio's tinybeast plugin). clee: with the table on NVMe there is no reason to quantize it; BF16 over NVMe was not noticeably slower than FP8. Source: repo github.com/vektorprime/qwen38-flash-next-pp2 by vektorprime on GitHub, posted by @vektor_prime, 2026-10-07
    Source: @c133, 2026-10-08
    Source: @_arcanum_, 2026-10-11
    Source: @wakeupmbrc1, 2026-10-11
  • Where the table lives: from RAM a lookup costs about 0.3 ms per token, from SSD 1 to 1.5 ms (SSD dependent). RAM speed hardly matters because the lookups are latency-bound; RAM against NVMe does, because NVMe latency adds up every round (about 1.5 ms per round on Qwen Flash Next; DeepSeek V4.1 calls its tables only in layers 1 and 14, so about 0.2 to 0.3 ms). Source: @wakeupmbrc1, 2026-10-11
    Source: @wakeupmbrc1, 2026-10-17
  • Asked who runs DeepSeek Flash with its n-gram tables on NVMe instead of RAM, clee answered: not DeepSeek, but Qwen3.8 Flash Next yes. (Several DeepSeek recipes now read Engram from SSD; see their pages.) Source: @stcord, 2026-10-27
    Source: @c133, 2026-10-27
  • DeepSeek V4.1's Engram tables are about 189 GiB (the last two official shards). Turning Engram off raises code perplexity from 1.91 to 4.16 and prose from 6.45 to 9.06, so they are not optional. Morrowmake measured SSD placement with a 38 GiB cache at 6% later first token on a cold 2K prompt and decode within 1%. Source: repo github.com/CurtisAccelerate/DeepSeekv41-Flash-1017-EXL3-CMP170HX by CurtisAccelerate on GitHub, posted by @anon33anon, 2026-10-20
    Source: repo github.com/Morrowmake/dsv41-flash-cmp170hx-recipe by Morrowmake on GitHub, posted by @lia_oc, 2026-10-24

KV cache formats

  • GLM 5.3 Flash: Morrowmake's recipe keeps the KV cache at full precision (1.2M tokens on four cards). FP8 KV would roughly double it; cibernox finds FP8 KV quality still very good. 1a2b3c0967 credits the 16-bit KV for the model staying sharp at high context; Morrowmake: research shows basically no loss but people report otherwise. Shirogeek runs 8-bit KV on three cards for about 1M context. Contested Source: @1a2b3c0967, 2026-10-04
    Source: @voidgiraffe, 2026-10-04
    Source: @cibernox, 2026-10-16
  • Qwen3.8 Flash Next: FP8 KV grows the pool 73% but costs 8 to 10% one-user decode and shifts answers (ElectroHobo, not default); clee stores FP8 KV as uint8 with software e4m3 decode; vLLM 0.30.0's QSA path rejects an FP8 cache. Source: repo github.com/clee/qwen3.8-flash-next-3x170hx by clee on GitHub, posted by @c133, 2026-10-04
    Source: repo github.com/ElectroHobo/qwen38-flash-next-w4a16-2x-cmp170hx-recipe by ElectroHobo on GitHub, posted by @nathang6866, 2026-10-24
  • DeepSeek V4.1 Flash: the native KV is FP4 at about 0.9 KB (890 B) per token per TP unit, so a 1M-token KV costs about 3.6 GiB at TP4 and 1.8 GiB at TP2 x PP2, but there is no sm_80 build of that format. GNmac's fp8_ds_mla writes the DeepSeek V4 record (448 FP8 dims, one scale per 64) because V4.1's nvfp4_ds_mla needs SM100; Morrowmake's BF16 KV reproduces the reference's rounding bit for bit. Source: @wakeupmbrc1, 2026-10-17
    Source: @wakeupmbrc1, 2026-10-17
    Source: @wakeupmbrc1, 2026-10-20
    Source: repo github.com/alanoo81/deepseek-v41-flash-4x-cmp170hx by alanoo81 on GitHub, posted by @alanoo, 2026-10-27
  • Theory Miséricorde suggests assembling an FP4 KV cache for DeepSeek V4.1 1017 to reach 5M+ tokens on four cards (DeepSeek only, not GLM). Source: @wakeupmbrc1, 2026-10-19
  • Full GLM 5.3: packed fp8_ds_mla at 656 B per token per layer plus FP8 indexer keys (vllm-170hx-glm5). On Ivan's eight-card run the int8 KV tile matched plain FP8 in quality and was 10% faster single-stream. Source: repo github.com/arvkmr/vllm-170hx-glm5 by arvkmr on GitHub, posted by @reala7096, 2026-10-08
    Source: @darkmaniac7, 2026-10-28 (lab notes)

What fits

Per card, an unlocked 8 GB-variant card exposes 64 GiB (8 GB card). Weight footprints from the recipes:

Model and quant Weights Fits on Recipe
Qwen3.8 27B W4A16 not stated 1 card, about 3 concurrent requests at native context with FP8 KV Qwen3.8 27B on 1x 8 GB (W4A16 vLLM)
Qwen3.8 Flash Next AutoRound mixed 2/3-bit 47 GiB on card, table in host RAM 1 card Qwen3.8 Flash Next on 1x 8 GB (ElectroHobo 3 bpw)
Qwen3.8 Flash Next W4A16 (Merlin) 115.3 GiB incl. FP8 table 2 cards with the table in host RAM Qwen3.8 Flash Next on 2x 8 GB (ElectroHobo W4A16 TP2)
Qwen3.8 Flash Next W4A16 AutoRound about 169 GiB incl. BF16 table 3 cards with the table streamed from NVMe Qwen3.8 Flash Next on 3x 8 GB (clee PP3)
GLM-5.3-Flash EXL3 3.05 bpw 116.6 GiB 2 cards, 393K context GLM 5.3 Flash on 2x 8 GB (ExLlamaV3 TP2)
GLM-5.3-Flash W4A16 (about 4.3 bpw) 163 GiB 3 cards, 8-bit KV GLM 5.3 Flash on 3x 8 GB
GLM-5.3-Flash W4A16 (canada-quant) about 178 GiB 4 cards, BF16 KV GLM 5.3 Flash on 4x 8 GB
MiMo-V2.6-Flash NVFP4 183 GiB (45.5 GiB per card) 4 cards MiMo V2.6 Flash on 4x 8 GB
DeepSeek-V4.1-Flash hybrid (EXL3 2.9 bpw experts) about 62.5 GB used per card, Engram in host RAM or on SSD 4 cards DeepSeek V4.1 Flash on 4x 8 GB (Morrowmake)
DeepSeek-V4.1-Flash official FP8 / FP4 about 475 GiB 6 or 8 cards DeepSeek V4.1 Flash on 8x 8 GB (Zanooda PP8)
GLM-5.3 Int4-Int8Mix about 8 to 10 cards of weights and KV 8 to 10 cards GLM 5.3 on 8x 8 GB (vllm-170hx-glm5)

80 GB per card: Theory with an 80 GB unlock, four cards (320 GB) would hold the full GLM 5.3 EXL3 quant. The 8 GB variant cannot reach 80 GB (four HBM stacks of 16 GB = 64 GB). For the 10 GB card's memory, see 10 GB card. Source: @globalapathy, 2026-10-09
Source: repo github.com/mannydelrio/qwen38-flash-next-2x-cmp170hx by mannydelrio on GitHub, posted by @mrmannyatx, 2026-10-06

Heretic and abliterated variants

Refusal-removed models are popular here. Two ways to get one: a published abliterated checkpoint, or an edit applied to the official weights (or at runtime).

  • DeepSeek V4.1 Flash heretic (pqhaz/DeepSeek-V4.1-Flash-1017-heretic): edits only the 38 attn.wo_b tensors (rank-1 along published refusal directions, FP8 re-encoded, scales unchanged), so it drops into the hybrid recipes with no requantization. Model card: 1 refusal in 100 held-out prompts (base 97), KL 0.136 on harmless prompts, median completion 1,517 tokens against 357. Ivan's weight-level check found nothing beyond the advertised edit plus FP8 rounding. See DeepSeek V4.1 Flash heretic on 4x 8 GB. Alternatives Ivan did not use: mrfakename's rank-2 edit (lowest KL, needs your own apply) and dealignai's FP8 build (MMLU -3.9); "uncensored" EXL3 bundles whose edit lives in dense tensors do nothing on engines that take dense tensors from the official checkpoint. Source: @darkmaniac7, 2026-10-29 (lab notes)
  • GLM 5.3 Flash: Ivan runs an abliterated W4A16 + MTP checkpoint on the Morrowmake recipe; vision and video still work. The Weightless GLP-44 vector (msuiche, gated on Hugging Face) steers refusals at runtime and is ported to the ExLlamaV3 TP2 build; alpha 2.0, and 2.5 or more garbles the model. Nestaa51 runs stock GLM and wants to try Weightless. Project Maya ships a Maya-M-Derisked GLM quant. Source: repo github.com/msuiche/weightless by msuiche on GitHub, posted by @mountains1605, 2026-10-09
    Source: @nestaa51, 2026-10-14
    Source: @darkmaniac7, 2026-10-27 (lab notes)
  • Making your own W4A16 abliterated GLM-5.3-Flash (Ivan, 2026-10-19): pull dealignai/GLM-5.3-Flash-UNCENSORED-FP8 (328 GB), dequantize the block-FP8 to BF16 (703 GB, so the source must sit in host RAM), then run llm-compressor's GPTQModifier one-shot to the canada-quant format: compressed-tensors pack-quantized INT4, group size 128, symmetric, static act-order, no activation or KV quantization, and only the routed-expert gate/up/down projections quantized (ignore lm_head, embeddings, the MTP layer 45, every mlp.gate, all attention and indexer weights, shared experts, the dense MLPs of layers 0-2, the vision tower and the hyper-connection projections). Calibration: 512 samples x 2,048 tokens of HuggingFaceH4/ultrachat_200k. It ran 271 minutes on one RTX PRO 6000 of a rented 4-GPU node with 1.5 TB host RAM, about 113 USD; output 164 GB in 9 shards (MTP head not saved; not needed with DFlash2). On four CMPs at TP4 with DFlash2 it passed the boot check (671 of 675 drafts accepted) and runs at 88-97% of the base's speed (one user 349 / 254 / 181 against 361 / 284 / 199); code loses most because the drafter was trained on the base model. Source: @darkmaniac7, 2026-10-19 (lab notes)
  • Reported Cost of abliteration, from Ivan's multi-turn test: all three abliterated GLM builds he ran followed a deliberately wrong hint where stock DeepSeek refused it. The non-abliterated GLM has not been run on the same test yet, so the cost is not isolated. Source: @darkmaniac7, 2026-10-28 (lab notes)
  • Full GLM 5.3: dealignai/GLM-5.3-ABLITERATED-NVFP4 (Ivan requantized it to NVFP4 experts plus INT8 for sm_80); vllm-170hx-glm5's serve-uncensored.sh swaps in a GLM-5.3-UNCENSORED-Int4-Int8Mix checkpoint. Source: repo github.com/arvkmr/vllm-170hx-glm5 by arvkmr on GitHub, posted by @reala7096, 2026-10-08
    Source: @darkmaniac7, 2026-10-28 (lab notes)
  • Qwen3.8 Flash Next: the huihui "decision matrix" abliteration on top of Plean's recipe (GalyGames); OrcaRouter's uncensored base in several quants (leoncca AWQ g32 used by mannydelrio, klee100's uncensored AutoRound 3 bpw, ntmcgee's Orca Merlin W4A16); halt95's Swift1.5-Huihui Merlin W4A16, which shares the base n-gram table byte for byte. 68x needed an uncensored variant to get MTP working on clee's setup. Source: repo github.com/mannydelrio/qwen38-flash-next-2x-cmp170hx by mannydelrio on GitHub, posted by @mrmannyatx, 2026-10-06
    Source: @galygious, 2026-10-08
    Source: @68x0, 2026-10-11
  • Qwen3.8 27B: Phoenix17's Swift-1.5-Qwen3.8-27b-heretic-W8A8-DFlash2; kellertreppe123's own AutoRound requant of the huihui variant ran at 60 to 70 tok/s against about 170 for the stock W4A16 recipe. Source: @phoenixone7, 2026-10-04
    Source: @kellertreppe123, 2026-10-05
  • Contested Pruning: REAP-pruned models do not work without post-training to restore quality (orrorin, on Qwen); REAP builds show DeepSeek V4.1 prunes quite well and 20% pruning is enough, so light pruning plus MXFP4 may be a good idea (Miséricorde). Weightless steering vectors are rejected on REAP builds because removing experts changes the circuit the vector was derived on. Source: repo github.com/msuiche/weightless by msuiche on GitHub, posted by @mountains1605, 2026-10-09
    Source: @_orrorin, 2026-10-11
    Source: @wakeupmbrc1, 2026-10-17
    Source: @wakeupmbrc1, 2026-10-17

Related

Recipes · Engines · Benchmarks · 8 GB card · 10 GB card · Driver unlock · Tools