Repository navigation
Conversation
… checkpoints Conflict: main added the NVMe disk-tier fields to ExpertBanks (FlashML-org#337); kept both those and the per-layer gguf_quant_types. Assisted-by: Claude Opus 5.5
… GGUF checkpoints Conflict with FlashML-org#494's per-tensor quant layout: took the PR's dense-capable expert fields and kept FlashML-org#494's gguf_quant_types. That layout demanded expert tensors in every layer and divided by num_experts, so a dense GGUF would still fail; it now lays out experts only when the checkpoint has them. Assisted-by: Claude Opus 5.5
…d past the 65535 cap Conflict with FlashML-org#494 (expert_stride_bytes for padded mixed-quant banks): took the PR's generated launchers and threaded the expert stride through the kernel, moe_vec_launch and the launcher macro in the position next's gguf_kernel.cu call sites pass it. Checked: the PR's >65535-row test passes and a padded-stride q8_0 bank still matches the contiguous one bit for bit. Assisted-by: Claude Opus 5.5
|
Thanks for the detailed work and testing. #690 replaces the GGUF path this PR builds on: #690 is the new GGUF infrastructure. Since it covers this and replaces the old path this PR builds on, we are not planning to merge this PR, and it can be closed. |
Summary
Fixes #188.
The fixed-stride expert-bank approach is consistent with the design explored in the closed #102.
Tested on
cac247a(v0.1.3)Checkpoints:
unsloth/gemma-4-26B-A4B-it-GGUFgemma-4-26B-A4B-it-UD-IQ4_XS.ggufgemma-4-26B-A4B-it-UD-Q3_K_XL.ggufmradermacher/gemma-4-26B-A4B-it-qat-q4_0-unquantized-uncensored-heretic-v2-i1-GGUFgemma-4-26B-A4B-it-qat-q4_0-unquantized-uncensored-heretic-v2.i1-IQ4_XS.ggufExact serve command (repeated with each checkpoint path):
All three checkpoints loaded, captured the CUDA graph, completed prefill warm-up, and served an OpenAI-compatible chat completion. The deterministic prompt
17x23returned391on each checkpoint.Focused tests:
The full
tests/moe/test_offload.pyresult was 23 passed and 1 environment-only failure: the isolated POC environment does not have FlashInfer installed, while that existing test explicitly selects thefiattention backend.