[build] chore: pin CPU-only conversion fixes for validation - #5316
[build] chore: pin CPU-only conversion fixes for validation#5316cuichenx wants to merge 15 commits into
Conversation
Signed-off-by: Chen Cui <chcui@nvidia.com>
Signed-off-by: Chen Cui <chcui@nvidia.com>
Signed-off-by: Chen Cui <chcui@nvidia.com>
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
|
Full The run cleared the Gloo initialization fix and the YARN CPU-initialization fix from NVIDIA/Megatron-LM#6270, then failed during GPT layer construction because the default provider selected Transformer Engine This workflow remains not verified. A previous local-spec approach in #3853 was closed over compatibility concerns between conversion-time local modules and later GPU/TE models, so I am not silently reusing it. The next fix needs explicit parameter-schema and GPU-load compatibility validation. |
Avoid constructing CUDA-only Transformer Engine modules when GPT models are initialized on a host without visible CUDA. Keep the TE path unchanged when CUDA is available, and propagate the same backend choice to MTP specs. This revives the narrow spec-selection portion of #3853 now that full-model CPU import and GPU/TE checkpoint-load compatibility are explicit validation gates. Co-authored-by: Yu Yao <54727607+yaoyu-33@users.noreply.github.com> Signed-off-by: Chen Cui <chcui@nvidia.com>
Signed-off-by: Chen Cui <chcui@nvidia.com>
|
/ok to test 4b4bb03 |
|
The full GPT-OSS CPU import from exact clean public head No checkpoint or partial output was produced, and the Bridge and MCore checkouts remained clean at the exact public commits after failure. The owning MCore fix is now public on NVIDIA/Megatron-LM#6270 at This PR remains not verified. Its MCore gitlink will be advanced to that public commit, then the full import will be rerun from a fresh exact public clone; no local source patch or overlay will be used as evidence. |
Signed-off-by: Chen Cui <chcui@nvidia.com>
|
MCore PR #6270 is now mirrored publicly at exact head This integration PR now pins that exact commit at Bridge head The full GPT-OSS import is still not verified. The next evidence will be a fresh clean clone of this exact pushed head running the unchanged full workload. |
|
/ok to test 49700fa |
|
The unchanged full GPT-OSS CPU import from exact clean public Bridge head No checkpoint or partial output was produced. Both source trees remained clean and unchanged at the exact public commits after failure. The owning fix is now pushed on NVIDIA/Megatron-LM#6270 at This PR remains not verified. After public mirror and focused validation, its MCore gitlink will be advanced and the unchanged full import rerun from a new clean public clone. |
Signed-off-by: Chen Cui <chcui@nvidia.com>
|
Advanced the integration branch normally (no history rewrite) to Bridge head Focused checks on this exact Bridge state:
An exact-public 8-rank MCore focused run is registered as DFW job |
|
/ok to test 5c8bc9c |
|
The exact-public 8-rank MCore focused run passed, and the unchanged full
Both source trees were clean and reachable from their public refs immediately |
|
Full exact-public job The public stack cleared the prior Gloo, YARN, local-spec, attention-offset, Current MCore changed Post-run provenance checks passed: Bridge remained clean at |
Signed-off-by: Chen Cui <chcui@nvidia.com> (cherry picked from commit 62097ac)
Signed-off-by: Chen Cui <chcui@nvidia.com>
|
Advanced this integration PR normally to signed/DCO head
For completeness, a broader driverless full-file diagnostic collected 263 tests and reported 262 passed plus one existing NCCL-only mock test failure ( The previous full CPU checkpoint from head |
|
/ok to test dbe0a5b |
|
Fresh exact-public H100/TE job
The checkpoint plan now fails on optional empty TE core-attention state: Job |
Signed-off-by: Chen Cui <chcui@nvidia.com>
|
Advanced this integration PR normally to signed/DCO head
The CPU checkpoint from Bridge |
|
/ok to test 9943389 |
|
Fresh exact-public full GPT-OSS 20B CPU-to-H100 validation exposed another strict export defect after clearing all previously reported checkpoint-load blockers.
I will not use |
Signed-off-by: Chen Cui <chcui@nvidia.com>
|
/ok to test d3346db |
|
Published signed candidate d3346db by normal fast-forward push. This preserves strict safetensors key accounting while allowing GPT-OSS dequantized gate_up_proj and down_proj tensors to replace their physical MXFP4 block and scale pairs in the output inventory; replaced keys must exist and share one source shard. Both ordinary and distributed saver paths use the transformed map. All-file pre-commit passed, and 34 focused unit cases passed against the mounted candidate checkout in nvcr.io/nvidia/nemo:26.06.01. Independent exact-diff review found no blockers. This is candidate evidence only, not model verification. A fresh zero-GPU import and H100/TE strict export from exact clean public heads is still required. |
|
Exact-public full GPT-OSS CPU-to-H100 conversion gate passed at Bridge d3346db / MCore d57d882fd08ee1762eab6144260cf9693f58ac9d. Fresh zero-GPU job 15114882 completed 0:0 on cpu1-00035 in 18m19s in nvcr.io/nvidia/nemo:26.06.01, loaded all 20,914,757,184 parameters, and wrote a new 41,839,125,360-byte distcp shard. Mandatory job 15115717 then completed 0:0 on one H100 at pool0-01779 in 5m44s in nvcr.io/nvidian/nemo:26.08.rc4, constructed the full TE model, loaded only that new checkpoint, converted all 3,291 bridge tasks, and completed strict distributed HF export. The output index has 411 keys across 3 shards, contains the dequantized expert gate_up_proj/down_proj keys, contains no expert MXFP4 _blocks/_scales keys, and every referenced shard exists. Bridge and MCore heads still matched their public refs with zero status entries after both runs. This validates the full CPU import plus H100/TE strict load/export gate; forward/numerical parity is not claimed here. |
Summary
What
fix: avoid MCore CUDA assumptions in CPU-only model conversion NVIDIA/Megatron-LM#6270 so full GPT-OSS CPU-import validation does not use a
local override.
signed/DCO commit.
commit.
fix: avoid MCore CUDA assumptions in CPU-only model conversion NVIDIA/Megatron-LM#6270, including the local/TE MoE checkpoint-key mapping
and empty TE norm/attention extra-state compatibility corrections exposed by
the full H100 reloads.
gate_up_proj/down_projoutput key to the physical MXFP4 block and scalesource keys that it replaces.
This is a temporary stacked integration PR. The current exact-public head has
passed the full zero-GPU CPU import plus H100/Transformer-Engine strict
load/export gate. Forward and numerical parity are not claimed by that gate.
Dependency delta
Validation
focused tests from exact public MCore PR head
c081d1a5c1b7aad72614e701ad39b67c8762e50bon all 8 ranks innvcr.io/nvidian/nemo:26.08.rc4: every rank reported 9 passed (DFW job15105873,COMPLETED 0:0).public MCore PR head
4220c840f520f621ca73415c8e73212998856b3c:both cases passed on all 8 ranks in
nvcr.io/nvidian/nemo:26.08.rc4(DFW job15108027,COMPLETED 0:0).from a fresh clone of exact public MCore PR head
9ba6247b7495c5a2cc1692ca8d14fd21947f305e: all four passed on all 8 H100ranks in
nvcr.io/nvidian/nemo:26.08.rc4(DFW job15110325,COMPLETED 0:0).a clean detached worktree of exact public MCore PR head
d57d882fd08ee1762eab6144260cf9693f58ac9d: all five passed on all 8 H100ranks in
nvcr.io/nvidian/nemo:26.08.rc4(DFW job15112718,COMPLETED 0:0); the fetched PR ref, exact SHA, and clean tree were rechecked afterward.tests: 38 passed against exact pinned MCore
d57d882f...in driverlessnvcr.io/nvidia/nemo:26.06.01at pushed Bridge head99433894a7c6ec98a25079e123038b60cdff53c3.tests: 34 passed against the mounted candidate checkout; all-file pre-commit
passed. Independent exact-diff review found no blocking findings.
uv lock --check.uv run --no-sync pre-commit run --all-files.openai/gpt-oss-20bCPU import from exact clean pushed head027e284beff1e6b5d7ddb1b2ebebc462a9c2bc5b: DFW job15108616completed0:0on genuine zero-GPU nodecpu1-00055, loaded 20,914,757,184parameters, and produced the complete 41,839,126,873-byte torch-dist shard.
15109663reached the complete checkpoint plan andcleared the earlier MoE weight-key defect, then exposed missing optional
empty TE norm extra state. No output was produced; the clean exact-public
failure is fixed by MCore head
9ba6247b...above.openai/gpt-oss-20bCPU import from exact clean pushed Bridge headdbe0a5b7a4c692f8dc8695fcb53601c7edbfc02d/ MCore9ba6247b...: DFW job15110835completed0:0on genuine zero-GPU nodecpu1-00035, loaded all20,914,757,184 parameters, and produced a complete 41,839,125,360-byte shard.
15111919consumed only that fresh checkpoint, clearedthe prior MoE key and TE norm-state defects, then exposed missing optional
self_attention.core_attention._extra_state. No output was created; theclean exact-public failure is fixed by MCore
d57d882f...above.openai/gpt-oss-20bCPU import from exact clean public Bridge headd3346db7c4a8eedd43311d85d888b39687469f22/ MCored57d882f...: DFW job15114882completed0:0in 18m19s on genuine zero-GPU nodecpu1-00035,loaded all 20,914,757,184 parameters, and produced a fresh
41,839,125,360-byte torch-dist shard.
15115717consumed only that freshcheckpoint in
nvcr.io/nvidian/nemo:26.08.rc4and completed0:0in 5m44son
pool0-01779. It constructed the full TE model, converted all 3,291Bridge tasks, and wrote a strict HF index with 411 dequantized tensor keys
across three shards, no expert MXFP4 block/scale keys, and no missing
referenced shard. Both exact-public trees remained clean afterward.
No tests will be quarantined as part of this investigation without Chen's
explicit approval. If the full import exposes another bug, that bug will be
reported and fixed in its owning upstream repository before a clean pushed
rerun; it will not be hidden with a local patch.