Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .main.commit
Original file line number Diff line number Diff line change
@@ -1 +1 @@
17a67b9a97fb11a75933fd7f76ad76e1ac98a53d
8cf6b355a7bd8fe6abe39bc7596bd3c1cb92bee8

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.

⚠️ Potential issue | 🟡 Minor

Note: PR title mentions uv.lock but changes are to submodule reference.

The PR title states "Bump uv.lock" but the actual changes update the Megatron-LM submodule reference in .main.commit. This may cause confusion when reviewing the PR history.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.main.commit at line 1, The PR title incorrectly says "Bump `uv.lock`" while
the change actually updates the Megatron-LM submodule reference in .main.commit
(commit 8cf6b355a7bd8fe6abe39bc7596bd3c1cb92bee8); update the PR title and
commit message to accurately describe the change (e.g., "Bump Megatron-LM
submodule to 8cf6b35") or, if the intent was to bump uv.lock, revert this
submodule change and make the uv.lock update instead so PR title and
.main.commit stay consistent.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Verify the commit exists in Megatron-LM and check submodule consistency

# Check if the commit exists in the submodule
cd 3rdparty/Megatron-LM
if git cat-file -e 8cf6b355a7bd8fe6abe39bc7596bd3c1cb92bee8 2>/dev/null; then
    echo "✓ Commit exists in Megatron-LM repository"
    git log -1 --oneline 8cf6b355a7bd8fe6abe39bc7596bd3c1cb92bee8
else
    echo "✗ Commit not found in Megatron-LM repository"
fi
cd ../..

# Verify submodule pointer matches .main.commit
SUBMODULE_HASH=$(git ls-tree HEAD 3rdparty/Megatron-LM | awk '{print $3}')
MAIN_COMMIT_HASH=$(cat .main.commit | tr -d '[:space:]')

echo ""
echo "Submodule pointer: $SUBMODULE_HASH"
echo ".main.commit hash:  $MAIN_COMMIT_HASH"

if [ "$SUBMODULE_HASH" = "$MAIN_COMMIT_HASH" ]; then
    echo "✓ Submodule pointer matches .main.commit"
else
    echo "✗ Mismatch between submodule pointer and .main.commit"
fi

Repository: NVIDIA-NeMo/Megatron-Bridge

Length of output: 278


Commit hash does not exist in the Megatron-LM repository—this will break the submodule.

The commit 8cf6b355a7bd8fe6abe39bc7596bd3c1cb92bee8 is not found in the 3rdparty/Megatron-LM submodule, despite the submodule pointer and .main.commit file both referencing it consistently. This means users cloning this repository will fail to fetch the submodule.

Verify that:

  1. The commit has been pushed to the Megatron-LM repository, or
  2. The commit hash is correct
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.main.commit at line 1, The .main.commit entry points to a non-existent
Megatron-LM commit (8cf6b355a7bd8fe6abe39bc7596bd3c1cb92bee8), which will break
the 3rdparty/Megatron-LM submodule; verify whether that commit was pushed to the
Megatron-LM repo or the hash is mistyped, then update the submodule pointer and
.main.commit to a valid commit: either push the missing commit to the
Megatron-LM remote or replace the hash in .main.commit and run git submodule
update --init --recursive (and commit the corrected submodule reference) so
3rdparty/Megatron-LM points to an existing commit.

2 changes: 1 addition & 1 deletion 3rdparty/Megatron-LM
Submodule Megatron-LM updated 79 files
+400 −0 .claude/skills/build-and-test/SKILL.md
+64 −0 .claude/skills/respond-to-issue/SKILL.md
+1 −1 .github/copy-pr-bot.yaml
+19 −7 .github/oncall_schedule.json
+8 −0 .github/workflows/claude_review.yml
+10 −3 docs/user-guide/data-preparation.md
+1 −1 docs/user-guide/index.md
+22 −11 docs/user-guide/parallelism-guide.md
+14 −10 docs/user-guide/training-examples.md
+2 −15 examples/academic_paper_scripts/sc21/run_figure_18.sh
+0 −1 examples/gpt3/gpt_config.yaml
+2 −0 examples/multimodal/README.md
+3 −1 examples/multimodal/combine_state_dicts.py
+8 −1 megatron/core/dist_checkpointing/exchange_utils.py
+0 −6 megatron/core/dist_checkpointing/serialization.py
+39 −47 megatron/core/dist_checkpointing/strategies/base.py
+17 −35 megatron/core/dist_checkpointing/strategies/fully_parallel.py
+15 −32 megatron/core/dist_checkpointing/strategies/torch.py
+96 −38 megatron/core/distributed/fsdp/mcore_fsdp_adapter.py
+33 −34 megatron/core/distributed/fsdp/src/megatron_fsdp/param_and_grad_buffer.py
+15 −7 megatron/core/distributed/fsdp/src/megatron_fsdp/utils.py
+2 −0 megatron/core/full_cuda_graph.py
+7 −2 megatron/core/inference/config.py
+131 −10 megatron/core/inference/contexts/dynamic_context.py
+27 −7 megatron/core/inference/engines/dynamic_engine.py
+182 −171 megatron/core/inference/text_generation_controllers/text_generation_controller.py
+10 −0 megatron/core/inference/text_generation_server/dynamic_text_gen_server/endpoints/chat_completions.py
+4 −3 megatron/core/inference/text_generation_server/run_mcore_engine.py
+185 −13 megatron/core/optimizer/__init__.py
+60 −34 megatron/core/optimizer/clip_grads.py
+54 −41 megatron/core/optimizer/distrib_optimizer.py
+450 −0 megatron/core/optimizer/emerging_optimizers.py
+29 −6 megatron/core/optimizer/grad_scaler.py
+6 −8 megatron/core/optimizer/layer_wise_optimizer.py
+16 −382 megatron/core/optimizer/muon.py
+15 −10 megatron/core/optimizer/optimizer.py
+37 −37 megatron/core/optimizer/optimizer_config.py
+61 −0 megatron/core/optimizer/optimizer_cuda_graph.py
+4 −4 megatron/core/optimizer/qk_clip.py
+9 −3 megatron/core/optimizer_param_scheduler.py
+2 −3 megatron/core/rerun_state_machine.py
+24 −0 megatron/core/tensor_parallel/layers.py
+4 −2 megatron/core/tokenizers/text/libraries/tiktoken_tokenizer.py
+16 −6 megatron/core/transformer/cuda_graphs.py
+231 −4 megatron/core/transformer/fsdp_dtensor_checkpoint.py
+18 −12 megatron/core/utils.py
+2 −1 megatron/inference/utils.py
+19 −12 megatron/training/arguments.py
+15 −0 megatron/training/async_utils.py
+32 −10 megatron/training/checkpointing.py
+8 −0 megatron/training/config/training_config.py
+24 −38 megatron/training/training.py
+9 −0 megatron/training/utils.py
+1 −1 pyproject.toml
+0 −2 tests/functional_tests/test_cases/gpt/gpt3_mcore_te_tp2_pp1_gdn/model_config.yaml
+3 −1 tests/functional_tests/test_cases/gpt/gpt3_mcore_te_tp2_zp_z3_resume_fsdp_dtensor/model_config.yaml
+0 −2 tests/functional_tests/test_cases/hybrid/hybrid_mr_mcore_te_tp2_pp1_cp1_dgx_a100_1N8G/model_config.yaml
+0 −2 ...gpt3_mcore_te_tp1_pp2_resume_torch_dist_reshard_2x1x4_te_8experts2parallel_dist_optimizer/model_config.yaml
+2 −1 tests/functional_tests/test_cases/moe/gpt3_moe_mcore_te_ep8_resume_torch_dist_dist_muon/model_config.yaml
+166 −0 tests/functional_tests/test_cases/nemotron/nemotron3_super_release_g200/model_config.yaml
+11 −1 tests/unit_tests/a2a_overlap/test_delay_wgrad_compute.py
+5 −1 tests/unit_tests/conftest.py
+6 −15 tests/unit_tests/dist_checkpointing/conftest.py
+0 −3 tests/unit_tests/dist_checkpointing/test_serialization.py
+39 −37 tests/unit_tests/dist_checkpointing/utils.py
+253 −0 tests/unit_tests/distributed/megatron_fsdp/test_mcore_tensor_parallelism_detect.py
+94 −0 tests/unit_tests/inference/contexts/test_dynamic_context.py
+731 −2 tests/unit_tests/inference/engines/test_dynamic_engine.py
+173 −35 tests/unit_tests/models/test_mamba_model_expert_parallel_inference.py
+2 −2 tests/unit_tests/run_ci_test.sh
+89 −0 tests/unit_tests/tensor_parallel/test_tp_attrs_without_init.py
+1,719 −0 tests/unit_tests/test_emerging_optimizers.py
+38 −23 tests/unit_tests/test_layer_wise_optimizer.py
+0 −787 tests/unit_tests/test_muon_optimizer.py
+3 −3 tests/unit_tests/test_optimizer.py
+5 −1 tests/unit_tests/test_utilities.py
+644 −0 tests/unit_tests/transformer/test_fsdp_dtensor_checkpoint.py
+206 −20 tools/checkpoint/checkpoint_inspector.py
+566 −565 uv.lock
Loading
Loading