Skip to content

[DeepSeek] V4.1-Flash: TP2 with Engram offload on B200 - #994

Closed
functionstackx wants to merge 2 commits into
vllm-project:mainfrom
SemiAnalysisAI:deepseek-v41-flash-b200-tp2-engram
Closed

functionstackx wants to merge 2 commits into
vllm-project:mainfrom
SemiAnalysisAI:deepseek-v41-flash-b200-tp2-engram

Conversation

@functionstackx

@functionstackx functionstackx commented Sep 20, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Upstream has since shipped the B300 TP2 + Engram CPU offload override, so this PR now adds only the B200 counterpart:

  • strategy_overrides.single_node_tp.tp.b200: 2 beside the existing b300: 2.
  • An exact-GPU b200 override (takes precedence over the shared blackwell defaults): --engram-config '{"cpu_offload":true}', --max-num-batched-tokens 4096, --max-cudagraph-capture-size 512, --max-num-seqs 256.
  • A guide paragraph next to the B300 one describing the B200 TP2 cell.

Why these levers: TP2 on 180 GB B200 with the Engram tables offloaded still leaves ~145 GiB of resident weights per GPU. At the upstream 16384 batched tokens the sparse-attention indexer's [batched-tokens, 1M] fp8 logits buffer is 32 GiB and graph capture above 512 tokens pushed the KV budget negative. With batched tokens capped at 4096 and capture stopped at 512, the InferenceX AgentX sweep completed concurrency 1 through 128 with evals green (SemiAnalysisAI/InferenceX#3216, run https://github.com/SemiAnalysisAI/InferenceX/actions/runs/35480787586). FlashInfer's autotune picked an invalid MXFP8 tactic below 16 sequences, hence the --max-num-seqs floor noted in the comment.

Validation

🤖 Generated with Claude Code

Default the single-node TP strategy to 2 GPUs on B200 as well as B300 and
move the Engram tables to pinned host DRAM on both. B200 (180 GB per GPU)
also caps --max-num-batched-tokens at 4096 and --max-cudagraph-capture-size
at 512 with --max-num-seqs 256, the settings under which the InferenceX
AgentX sweep completed concurrency 1-128 (SemiAnalysisAI/InferenceX#3216,
run 35460277352). The guide's 4xB300 section becomes a B200/B300 TP2 section.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@vercel

vercel Bot commented Sep 20, 2026 •

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
vllm-recipes Ready Ready Preview Sep 20, 2026 6:36am UTC

Request Review

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the configuration for the DeepSeek-V4.1-Flash model by adding support for B200 hardware, including specific memory and performance optimizations such as CPU offloading for Engram tables and batched token caps. Additionally, the documentation has been updated to reflect these changes. I have no feedback to provide.

…300 one

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@functionstackx functionstackx changed the title [DeepSeek] V4.1-Flash: TP2 with Engram offload on B200 and B300 [DeepSeek] V4.1-Flash: TP2 with Engram offload on B200 Sep 20, 2026
@functionstackx

Copy link
Copy Markdown
Contributor Author

Superseded by #1002, which covers B200 together with GB200 and GB300 and rebases onto the merged B300 TP2 cell from #995. Closing this one to keep a single PR on the file.

This branch was successfully deployed

1 active deployment
Preview — 6925021d Deployed Sep 20, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant