|
|
@@ -30,13 +30,20 @@
|
|
|
# qualified for GLM-5.3, never for MiMo; lil-catalog itself marks their MiMo
|
|
|
# DFlash "runtime qualification unverified". Reopening recipe + external
|
|
|
# intel (madeby561 amd64-only rc4, eugr spark-vllm-b12x nightlies, lil-catalog
|
|
|
-# flags): specs/bugs/BUG-2026-09-28-vllm-mimo-dflash-parked.md. Production
|
|
|
-# stays sglang mimo26-flash-mopd-4x.
|
|
|
+# flags): specs/bugs/BUG-2026-09-28-vllm-mimo-dflash-parked.md.
|
|
|
+#
|
|
|
+# REOPENED 2026-09-28 same evening: the eugr/spark-vllm-b12x nightly (source
|
|
|
+# local-inference-lab/vllm@dev/karmic-kraken) landed all four missing pieces
|
|
|
+# on 2026-09-22 — MiMo aux-state loading, block-outermost KV layouts for
|
|
|
+# mixed page sizes, b12x non-causal attention (so the DFlash draft runs B12X
|
|
|
+# too), and the eagle3 language-model unwrap. It also ships cached
|
|
|
+# serve-launchers (serve-mimo26-flash.sh) that define the canonical MiMo
|
|
|
+# flag set; we mirror them. No local image build: docker_image is the
|
|
|
+# nightly tag, distributed to nodes by save/load.
|
|
|
|
|
|
engine = "vllm"
|
|
|
-name = "MiMo-V2.6-Flash-MOPD (vLLM B12X, 4x Spark, DFlash-7, r39)"
|
|
|
-docker_image = "mimo26-spark-vllm:local"
|
|
|
-docker_image_dir = "mimo26-spark-vllm"
|
|
|
+name = "MiMo-V2.6-Flash-MOPD (vLLM B12X, 4x Spark, DFlash-7, b12x-nightly)"
|
|
|
+docker_image = "eugr/spark-vllm-b12x:latest"
|
|
|
entrypoint = ["vllm", "serve"]
|
|
|
model = "XiaomiMiMo/MiMo-V2.6-Flash-MOPD"
|
|
|
parent_model = "XiaomiMiMo/MiMo-V2.6-Flash-MOPD"
|
|
|
@@ -61,22 +68,23 @@ args = [
|
|
|
"--enable-chunked-prefill",
|
|
|
"--async-scheduling",
|
|
|
"--enable-prefix-caching",
|
|
|
- # B12X attention (lab-qualified on MiMo's 192/128 heads) + their kernel
|
|
|
- # config: no flashinfer autotune, no CuTe-DSL warmup.
|
|
|
+ # B12X attention (lab-qualified on MiMo's 192/128 heads; non-causal now
|
|
|
+ # supported by the nightly's b12x — the DFlash draft runs on B12X too).
|
|
|
"--attention-backend", "B12X",
|
|
|
+ # Mirror of the lab's serve-mimo26-flash.sh: b12x linear + MoE backends.
|
|
|
+ "--linear-backend", "b12x",
|
|
|
+ "--moe-backend", "b12x",
|
|
|
"--load-format", "instanttensor",
|
|
|
"--kernel-config", """
|
|
|
'{"enable_cutedsl_warmup":false,"enable_flashinfer_autotune":false}'""",
|
|
|
- # DFlash draft from the checkpoint's dflash/ subfolder (7 tokens). Draft
|
|
|
- # attention must be TRITON_ATTN, NOT B12X: the block-diffusion draft runs
|
|
|
- # NON-CAUSAL attention and b12x (r39) rejects that ("non-causal attention
|
|
|
- # not supported") — verified in boot log. The draft is two layers over an
|
|
|
- # 8-token block (speed irrelevant); the target keeps B12X everywhere.
|
|
|
+ # DFlash draft from the checkpoint's dflash/ subfolder (7 tokens). The
|
|
|
+ # karmic-kraken b12x supports non-causal attention, so the draft runs
|
|
|
+ # B12X as well (the TRITON_ATTN workaround was only needed on r39).
|
|
|
"--speculative-config", """
|
|
|
-'{"method":"dflash","model":"{{dflash}}","num_speculative_tokens":7,"attention_backend":"TRITON_ATTN"}'""",
|
|
|
- # vLLM resolves this checkpoint to MiMoV2OmniForCausalLM (the multimodal
|
|
|
- # wrapper); the eagle3-hook fix lives in docker-images/mimo26-spark-vllm
|
|
|
- # (patched image), which is what this lane runs.
|
|
|
+'{"method":"dflash","model":"{{dflash}}","num_speculative_tokens":7,"attention_backend":"B12X"}'""",
|
|
|
+ # Nightly resolves the Omni wrapper's eagle3 hook on the inner language
|
|
|
+ # model natively (no image patch needed); --language-model-only keeps
|
|
|
+ # the visual/audio towers out of the memory budget.
|
|
|
"--language-model-only",
|
|
|
"--reasoning-parser", "mimo",
|
|
|
"--tool-call-parser", "mimo",
|
|
|
@@ -123,6 +131,8 @@ TORCH_USE_RTLD_GLOBAL = "1"
|
|
|
VLLM_NO_USAGE_STATS = "1"
|
|
|
TORCH_CUDA_ARCH_LIST = "12.1a"
|
|
|
FLASHINFER_CUDA_ARCH_LIST = "12.1f"
|
|
|
+# b12x CuTe kernels target sm_121a on GB10 (the lab launcher defaults to
|
|
|
+# sm_120a = RTX PRO; eugr's own recipes override it the same way).
|
|
|
CUTE_DSL_ARCH = "sm_121a"
|
|
|
CMAKE_CUDA_ARCHITECTURES = "121"
|
|
|
OMP_NUM_THREADS = "2"
|