Skip to content

[DeepSeek] Update V4.1 Flash Blackwell TP and DEP configs - #995

Merged
esmeetu merged 2 commits into
vllm-project:mainfrom
esmeetu:deepseek-v41-flash-blackwell
Sep 20, 2026
Merged

esmeetu merged 2 commits into
vllm-project:mainfrom
esmeetu:deepseek-v41-flash-blackwell

Conversation

@esmeetu

@esmeetu esmeetu commented Sep 20, 2026 •

Copy link
Copy Markdown
Member

Update DeepSeek V4.1 Flash's Blackwell commands to select the sparse FlashInfer attention backend for TP and FlashMLA mega attention plus DeepGEMM mega MoE for DEP. Both use MXFP4 indexer KV, sparse logits, FP8 KV cache and a 128-sequence baseline; DEP also distributes Engram embeddings across DP ranks.

Preserve B300's existing TP2, Engram CPU offload, CUDA Graph capture and batch-size overrides. DEP continues to derive its size from the hardware: four ranks on GB200/GB300 trays and eight on B200/B300 nodes. Existing DSpark configuration and opt-in behavior are preserved.

Validation:

  • JSON API generation passed for all 191 models; git diff --check passed.
  • Checked all eight Blackwell TP/DEP combinations, hardware-derived DEP sizes and B300 overrides.
  • Confirmed feature definitions and DSpark on/off behavior match the existing recipe.
  • GPU runtime validation was not performed for this update.

Signed-off-by: esmeetu <jasonailu87@gmail.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 2:03am 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 DeepSeek-V4.1-Flash model recipe to introduce strategy and hardware overrides for Blackwell hardware under single-node TP and DEP configurations, and updates the guide documentation accordingly. To support these overrides, the command synthesis library is updated with a new helper function, featureFieldForStrategy, which resolves feature arguments and environment variables by strategy and hardware. Feedback on the changes suggests using optional chaining defensively within this new helper function to prevent potential runtime TypeError exceptions if the feature parameter is null or undefined.

Comment thread src/lib/command-synthesis.js Outdated
Comment on lines +64 to +69
function featureFieldForStrategy(feature, field, strategyName, hwProfile, hwProfileId) {
const strategyOverride = feature.strategy_overrides?.[strategyName];
const strategyHardware = hardwareKeyedValue(strategyOverride?.hardware_overrides, hwProfile, hwProfileId);
const hardware = hardwareKeyedValue(feature.hardware_overrides, hwProfile, hwProfileId);
return strategyHardware?.[field] ?? strategyOverride?.[field] ?? hardware?.[field] ?? feature[field];
}

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.

medium

To prevent potential runtime TypeError exceptions if feature is ever passed as null or undefined, use optional chaining defensively when accessing properties on the feature parameter.

Suggested change
function featureFieldForStrategy(feature, field, strategyName, hwProfile, hwProfileId) {
const strategyOverride = feature.strategy_overrides?.[strategyName];
const strategyHardware = hardwareKeyedValue(strategyOverride?.hardware_overrides, hwProfile, hwProfileId);
const hardware = hardwareKeyedValue(feature.hardware_overrides, hwProfile, hwProfileId);
return strategyHardware?.[field] ?? strategyOverride?.[field] ?? hardware?.[field] ?? feature[field];
}
function featureFieldForStrategy(feature, field, strategyName, hwProfile, hwProfileId) {
const strategyOverride = feature?.strategy_overrides?.[strategyName];
const strategyHardware = hardwareKeyedValue(strategyOverride?.hardware_overrides, hwProfile, hwProfileId);
const hardware = hardwareKeyedValue(feature?.hardware_overrides, hwProfile, hwProfileId);
return strategyHardware?.[field] ?? strategyOverride?.[field] ?? hardware?.[field] ?? feature?.[field];
}

Signed-off-by: esmeetu <jasonailu87@gmail.com>

This branch was successfully deployed

1 active deployment
Preview — 40a6136e 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