| # Review overlay — exact four-GPU 775k/MTP3 certification profile. | |
| # | |
| # Use with the base NVFP4 Compose: | |
| # | |
| # MODEL_DIR=/path/to/GLM-5.2-MXFP8-NVFP4-NF3-Hybrid \ | |
| # CACHE_DIR=./cache/glm52-nf3-v20-nvfp4-775k \ | |
| # docker compose \ | |
| # -f docker-compose.nvfp4.yml \ | |
| # -f docker-compose.nvfp4-775k-mtp3.yml up -d | |
| # | |
| # This keeps the immutable v20 image but applies two reviewed source patches | |
| # inside the ephemeral container. One passes the target online-MXFP8 overlay to | |
| # the same-checkpoint MTP draft. The other selects SparkInfer's existing | |
| # streaming carry fold so long prompts do not allocate page-table-sized | |
| # candidate tensors. No checkpoint file is modified. | |
| services: | |
| glm52: | |
| entrypoint: ["/bin/bash", "/release/apply-v20-capacity-fixes.sh"] | |
| environment: | |
| MTP: "3" | |
| KV_FP8_ROPE: "1" | |
| KV_CACHE_MEMORY_BYTES: "6198000000" | |
| MAX_MODEL_LEN: "775000" | |
| MAX_BATCHED_TOKENS: "2048" | |
| MAX_NUM_SEQS: "8" | |
| GRAPH: "32" | |
| CUDAGRAPH_SIZES_LIST: "1,2,4,8,32" | |
| GPU_MEMORY_UTILIZATION: "0.972" | |
| PYTORCH_CUDA_ALLOC_CONF: "" | |
| # The stock 524,288-token gather workspace leaves too little runtime | |
| # margin at this pin. 131,072 is enough for the certified 128k request | |
| # and reduces the two persistent execution lanes from 460.2 to 115.2 MiB. | |
| VLLM_B12X_MLA_CKV_GATHER_MAX_TOKENS: "131072" | |
| # Explicitly reproduce the measured validation policy. This also avoids the | |
| # v20 fresh-cache calibration timeout/orphan-probe defect. | |
| DCP_QUERY_SPLIT: "0" | |
| DCP_CKV_GATHER: "1" | |
| # The July-26 helper enables the still-opt-in owner-top-k merge. On the | |
| # measured TP4/DCP4 host it regressed 64k/128k prefill by about 19%; | |
| # retain the established replicated global-top-k oracle instead. | |
| DCP_TOPK_OWNER_MERGE: "0" | |
| VLLM_DCP_TOPK_OWNER_MERGE: "0" | |
| DCP_INDEXER_SHARDS: "0" | |
| DCP_CKV_PREFETCH_DEPTH: "0" | |
| PCIE_CALIBRATION: "off" | |
| PCIE_DMA_MIN_BYTES: "25165824" | |
| # Bound long-prefill sparse-indexer scratch independently of page-table | |
| # capacity by selecting its planner-owned streaming carry fold. | |
| SPARKINFER_PAGED_INDEX_MAX_FOLD_SLICES: "8" | |
| SPARKINFER_PAGED_INDEX_TWO_LEVEL_FOLD: "0" | |
| # Both the 184-shard target and same-checkpoint layer-78 MTP draft serve | |
| # absorbed projections directly from their online-MXFP8 packs. | |
| VLLM_B12X_ABSORB_BMM: "1" | |
| volumes: | |
| - ./apply-v20-capacity-fixes.sh:/release/apply-v20-capacity-fixes.sh:ro | |
| - ./serve-glm52-v16.context-cap.sh:/release/serve-glm52-v16.context-cap.sh:ro | |
| - ./patches:/release/patches:ro | |