Repository navigation
[Model][Engram] Share host tables across co-located DP replicas by default - #57651
Merged
ZJY0516 merged 4 commits intoSep 21, 2026
Merged
Conversation
…fault dp_shared_memory now defaults to unset and resolves to enabled whenever cpu_offload is on, data_parallel_size > 1 and elastic EP is off. Before the layers are built, the model falls back to DP head sharding when the DP replicas are not co-located on one node or /dev/shm is smaller than the full tables, so a Docker default 64 MiB shm no longer fails startup. The load_format allowlist is dropped: dummy and sharded_state loaders write identical bytes into the shared mapping on every rank. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: Juntian Liu <Juntianl777@gmail.com>
Juntian777
requested review from
ProExpertProg,
WoosukKwon,
houseroad,
mgoin,
robertgshaw2-redhat,
tlrmchlsmth,
yewentao256 and
youkaichao
as code owners
September 19, 2026 02:56
Contributor
|
This pull request has merge conflicts that must be resolved before it can be |
ZJY0516
approved these changes
Sep 21, 2026
Signed-off-by: zjy0516 <riverclouds.zhu@qq.com>
Member
|
/ci run |
|
✅ @Juntian777, CI is now available for this PR.
|
|
✅ Triggered Buildkite CI #90149 for commit |
…m config
dp_shared_memory now defaults to None so the engine can resolve it, but
test_engram_config_cli_optional still asserted False for
`--engram-config {}` and failed on `None is False`.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: Juntian Liu <Juntianl777@gmail.com>
Contributor
Author
|
/ci run |
|
✅ Triggered Buildkite CI #90161 for commit |
ZJY0516
enabled auto-merge (squash)
September 21, 2026 07:56
gcanlin
added a commit
to gcanlin/vllm
that referenced
this pull request
Sep 21, 2026
Resolves conflicts with vllm-project#57874 (can_use_mega_mhc) and vllm-project#57651 (engram table sharing import) against the typed Mega-mHC FP8 outputs. Signed-off-by: Canlin <canlinguosdu@gmail.com> Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
EngramConfig.dp_shared_memory(#56512) keeps one copy of the CPU-offloaded Engram tables per node instead of one per DP replica, with no per-step Engram DP collectives, but it had to be requested by hand and failed startup whenever its requirements were not met. This PR turns it on by default wherever it can work and falls back otherwise:dp_shared_memorydefaults to unset and resolves to enabled whencpu_offloadis on,data_parallel_size > 1and elastic EP is off. An explicittruekeeps the existing strict validation.can_share_engram_tablesfalls back to the existing DP head sharding (same host footprint, one table per node) when the node-local Engram DP group has size 1 (replicas not co-located) or/dev/shmis smaller than the full tables: 188.8 GiB for DeepSeek-V4.1-Flash, against Docker's default 64 MiB. Both cases log awarning_oncepointing at--shm-size/--ipc=host. The check compares against the tmpfs total, which is identical on every rank of a node, so no collective is needed to keep the decision consistent.load_formatallowlist is dropped:dummy(fill_) andsharded_state(copy_) write identical bytes into the shared mapping on every rank, so the restriction guarded nothing.Duplicate-work check (2026-09-19): #57195 shares host lookups for SP token owners, #56757 backs tables with disk files, #57491 keeps tables in host memory on ROCm. None changes the
dp_shared_memorydefault or adds a/dev/shmfallback.Test plan
Test result
/dev/shm-too-small fallback test.git diff --checkpassed.Model evaluation
DeepSeek-V4.1-Flash (
dba1be0a), one GB200 node, DEP4 (TP1 x DP4, EP), DSpark 5 tokens with adaptive verification, no--engram-configflag. GSM8K 5-shot via MQA, completions API,temperature=0,max_tokens=1024, n=1319.This matches the 0.9303 recorded for the same model on main (2026-09-13). The engine log confirms the default took the shared path on its own:
Resolved Engram configuration: EngramConfig(cpu_offload=True, embedding_across_dp=False, dp_shared_memory=True),Engram node-local DP group size: 4 (TP=1), and both tables reported94.42 GiB shared across DP replicaswith no fallback warning. On the node,/dev/shmheld 190 GiB andfreereported 191 GiB shared, one copy of the tables rather than four private pinned copies.AI assistance was used for implementation, testing, and this draft (Claude Code). Human review of every changed line and independent execution of relevant tests are required before submission.
🤖 Generated with Claude Code