diff --git a/docs/src/snippets/configs/deepseek-ai/deepseek-v4_1.jsx b/docs/src/snippets/configs/deepseek-ai/deepseek-v4_1.jsx index 405ce24bd..cf6b0d512 100644 --- a/docs/src/snippets/configs/deepseek-ai/deepseek-v4_1.jsx +++ b/docs/src/snippets/configs/deepseek-ai/deepseek-v4_1.jsx @@ -1,8 +1,16 @@ // Single `export const config` literal — no spreads/calls/IIFE (Mintlify re-evals at hydration). // // Cells marked `verified` are transcribed from recorded runs on that hardware with -// real weights. DP-Attention, DeepEP and MegaMoE are absent by design: they have -// never been enabled on this model. EP is set equal to TP on every shape here. +// real weights. +// +// Every DSpark cell caps --cuda-graph-max-bs-decode: the derived batch list does +// not fit while capturing the DSpark decode graphs, on any NVIDIA platform. The +// MI350X cell already carried the equivalent --cuda-graph-max-bs. H200 is the +// tightest board at 140 GiB and needs the cap on both cells plus a lower memory +// fraction; the three other High-Throughput cells start without either. +// +// DP-Attention, DeepEP and MegaMoE are absent by design: they have never been +// enabled on this model. EP is set equal to TP on every shape here. export const config = { modelName: "DeepSeek-V4.1", @@ -182,6 +190,8 @@ export const config = { "--mem-fraction-static 0.8", "--speculative-algorithm DSPARK", "--speculative-dspark-block-size 5", + // Decode CUDA graphs: the derived batch list does not fit here. + "--cuda-graph-max-bs-decode 64", "--reasoning-parser auto", "--tool-call-parser auto", "--host {{HOST_IP}}", @@ -209,20 +219,24 @@ export const config = { ], }, - // ---------- H200: 8x H200, TP8 + EP8. No MXFP8 dense path on Hopper; - // verification round open. ---------- + // ---------- H200: 8x H200, TP8 + EP8. No MXFP8 dense path on Hopper. The + // tightest board here at 140 GiB, so both cells also need the memory + // fraction pulled back; the cap alone still leaves the graphs short. ------ { match: { hw: "h200", strategy: "low-latency" }, nnodes: 1, - verificationStatus: "in-progress", + verified: true, flags: [ "--trust-remote-code", "--model-path {{MODEL_NAME}}", "--tp 8", "--ep-size 8", + "--mem-fraction-static 0.8", "--attention-backend dsv4", "--moe-runner-backend flashinfer_mxfp4", "--enable-decoder-swa-bounded-replay", + // Decode CUDA graphs: the derived batch list does not fit here. + "--cuda-graph-max-bs-decode 64", "--reasoning-parser auto", "--tool-call-parser auto", "--host {{HOST_IP}}", @@ -232,15 +246,18 @@ export const config = { { match: { hw: "h200", strategy: "high-throughput" }, nnodes: 1, - verificationStatus: "in-progress", + verified: true, flags: [ "--trust-remote-code", "--model-path {{MODEL_NAME}}", "--tp 8", "--ep-size 8", + "--mem-fraction-static 0.8", "--attention-backend dsv4", "--moe-runner-backend flashinfer_mxfp4", "--max-running-requests 256", + // Decode CUDA graphs: the derived batch list does not fit here. + "--cuda-graph-max-bs-decode 64", "--reasoning-parser auto", "--tool-call-parser auto", "--host {{HOST_IP}}", @@ -248,12 +265,12 @@ export const config = { ], }, - // ---------- B200: verification round open. Mirrors the GB300 recipe because - // the kernels dispatch by architecture family. ---------- + // ---------- B200: 4x B200, TP4 + EP4. Mirrors the GB300 recipe — the + // kernels dispatch by architecture family. ---------- { match: { hw: "b200", strategy: "low-latency" }, nnodes: 1, - verificationStatus: "in-progress", + verified: true, flags: [ "--trust-remote-code", "--model-path {{MODEL_NAME}}", @@ -262,6 +279,8 @@ export const config = { "--mem-fraction-static 0.8", "--speculative-algorithm DSPARK", "--speculative-dspark-block-size 5", + // Decode CUDA graphs: the derived batch list does not fit here. + "--cuda-graph-max-bs-decode 64", "--reasoning-parser auto", "--tool-call-parser auto", "--host {{HOST_IP}}", @@ -271,7 +290,7 @@ export const config = { { match: { hw: "b200", strategy: "high-throughput" }, nnodes: 1, - verificationStatus: "in-progress", + verified: true, flags: [ "--trust-remote-code", "--model-path {{MODEL_NAME}}", @@ -286,8 +305,7 @@ export const config = { }, // ---------- B300: 4x B300, TP4 + EP4. Same recipe as GB300 — the kernels - // dispatch by architecture family — with one extra memory knob on - // Low-Latency that GB300 does not need. ---------- + // dispatch by architecture family. ---------- { match: { hw: "b300", strategy: "low-latency" }, nnodes: 1, @@ -300,8 +318,7 @@ export const config = { "--mem-fraction-static 0.8", "--speculative-algorithm DSPARK", "--speculative-dspark-block-size 5", - // GB300 does not need this, B300 does: the derived value (256) runs - // out of memory capturing the DSpark decode graphs at this fraction. + // Decode CUDA graphs: the derived batch list does not fit here. "--cuda-graph-max-bs-decode 64", "--reasoning-parser auto", "--tool-call-parser auto",