GLM-5.3-Flash EXL3 3.05bpw on 2x CMP 170HX layer split MTP3 393K prompt reuse (mannydelrio)
00 upvotes — sign in to vote sign in to votecommunity Community submission — verify on your own hardware.
recipe by alexvnesta (server + ExLlamaV3 patches)↗, Flun (original 2x CMP 170HX layer-split recipe)↗, turboderp (ExLlamaV3, EXL3 quant)↗, cmpunlocker (amoghmunikote)↗ · listed by mannydelrio1
Initial version · updated 2 h ago · license CC-BY-4.0
chat code mtp-speculative long-context exl3 q8-kv layer-split prompt-cache
Everyday GLM-5.3-Flash setup on 2x CMP 170HX unlocked to 64 GB (PCIe Gen2 x4, 180 W each, 32 GB RAM, 850 W PSU): alexvnesta's ExLlamaV3 server in layer-split mode, MTP head drafting 3 tokens, Q8 KV, 392,960-token context. The prefix cache stays on, so a follow-up turn in a 48K chat starts in about 1 s instead of re-reading the chat. One request at a time. 1 user: 67.4 / 57.8 / 47.3 tok/s structured / code / prose, cold prefill 1,024 tok/s, TTFT 0.26 s. HumanEval 157/164, needle 3/3 up to 219K.
Launch command
python -u service/glm/glm_api.py -m models/GLM-5.3-Flash-exl3-3.05bpw -cq 8 -cs 458752 --context-cap 392960 -chunk_size 2048 -ambs 1 -gs 59,63 -lv --q8-staging --host 127.0.0.1 --port 8012 --recurrent-cache-gib 2 --q8-head-gpu0 --mtp -ndt 3 --fp16-draft-cache --recurrent_state_fp32runtime
env: 'EXL3_BC_ATTN=1 EXL3_MLA_KIDX_RING=32 EXL3_INT8_GEMV=0 EXL3_GEMV=0 EXL3_DSA_QC_STAGE=1 EXL3_DSA_QC_STAGE_MIN_R=9 EXL3_AUTOSPLIT_MARGIN_MB=128 GLM53_PREFILL_CHUNK_SIZE=2048 GLM53_TP_ACTIVE_HOST=0 HF_HUB_OFFLINE=1 TRANSFORMERS_OFFLINE=1 TOKENIZERS_PARALLELISM=false; PYTHONPATH=native:engine-src:service/glm; GLM53_NATIVE_EXT_SHA256 = sha256 of native/exllamav3_ext*.so; ulimit -n 65536'
notes: "Layer split (no -tp): GPU0 59 GB, GPU1 63 GB, output layer on GPU0 (--q8-head-gpu0; with it on GPU1, GPU1 ran out of memory after 5.5 h of traffic). MTP 3 draft tokens measured best: 2 = 59.8/52.8/49.6, 3 = 66.9/57.2/47.0, 4 = 63.2/56.0/42.1 tok/s. Why not TP2: +20% generation but -27% prefill, and on an 850 W PSU TP2's lock-step power swings cut the power, even with clocks capped at 1400 MHz. DFlash2 + hybrid is faster for single answers but has no prompt reuse in layer split."
Use this recipe with your agent
Paste this into any agent chat — it fetches and applies the recipe:
Fetch https://localairecipes.com/api/v1/recipes/glm-5-3-flash-exl3-3-05bpw-on-2x-cmp-170hx-layer-split-mtp3-393k.json and apply the inference recipe it describes (engine flags, model, quant, context) to my setup. Ask before overwriting any existing config.Or fetch it directly:
curl -fsSL https://localairecipes.com/api/v1/recipes/glm-5-3-flash-exl3-3-05bpw-on-2x-cmp-170hx-layer-split-mtp3-393k.jsonDownloads
- Weights https://huggingface.co/turboderp/GLM-5.3-Flash-exl3332ab457b709b7ba30dd9a448be5de03b80a7ac9 (3.05bpw branch)
- Reference https://github.com/alexvnesta/glm53-flash-cmp170hx-tpdb01c256a8003daf90c932ee25552526ede40f1f
- Reference https://github.com/Flun/glm53-flash-cmp170hx-exl35933112fdb858c960dfa1a68f507c3a98a9f1201
Revision history
Initial version.
Fork
Sign in to fork this recipe — a fork is your own copy; you own it and only you can update it.