llama.cpp b9736: The GLM-5.2 Loading Crash Is Finally Fixed — But Not How You’d Expect
New update supports DeepSeek-V3-like GLM-5.2 models with partial DSA indexers.
llama.cpp release b9736 addresses a compatibility issue with GLM-5.2 GGUF models. These models use a DSA (Dynamic Sparsity Attention) 'lightning indexer' that is only present on certain layers (the 'full' layers; others omit it). However, the GLM_DSA loader expected the five indexer tensors (e.g., 'blk.3.indexer.k_norm.weight') on every layer, causing the model to fail to load with a missing tensor error. Since GLM_DSA's graph is actually plain MLA (Multi-Head Latent Attention) and does not yet implement the indexer runtime, the indexer tensors are loaded but unused. By marking them as TENSOR_NOT_REQUIRED, layers without an indexer now load the tensor as nullptr, and the model runs successfully using full MLA attention.
This fix primarily benefits users running DeepSeek-V3-based GLM-5.2 models with non-uniform indexer distribution. DeepSeek-V3.2, which has a uniform indexer on all layers, is unaffected. The release includes prebuilt binaries for macOS (Apple Silicon, Intel, iOS XCFramework), Linux (x64/arm64 CPU, Vulkan, ROCm 7.2, OpenVINO, SYCL), Windows (CPU, CUDA 12/13 DLLs, Vulkan, OpenVINO, SYCL, HIP), Android ARM64, and openEuler. This update ensures broader compatibility for the rapidly evolving DeepSeek family of models in local inference workflows.
- b9736 fixes GLM-5.2 GGUF loading error due to missing DSA indexer tensors on layers that omit them.
- Indexer tensors are now marked optional (TENSOR_NOT_REQUIRED) – model loads and runs with full MLA attention.
- Only affects GLM-5.2 models with partial DSA indexers; DeepSeek-V3.2 (uniform indexer) is unchanged.
Why It Matters
Enables local inference of latest DeepSeek-derived models (GLM-5.2) on llama.cpp without manual workarounds.