Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
475 commits
Select commit Hold shift + click to select a range
afbce84
Support TP > GQA for inference (#3627)
santhnm2 Feb 26, 2026
310082a
μP: Maximal Update Parameterization (#3058)
plugyawn Feb 26, 2026
7418b1b
Add flexible virtual pipeline parallel (fVPP) to hybrid model (#3377)
duncanriach Feb 26, 2026
53c5973
Explicitly close and join Pool in preprocess_data.py (#3592)
weijiac0619 Feb 27, 2026
36a95ae
remove indexer (#3416)
dimapihtar Feb 27, 2026
f0519b7
Multimodal: add load weights only (#3452)
faradawn Feb 27, 2026
61a293d
Add single-process checkpoint save to avoid forked multiprocessing (#…
sbak5 Feb 27, 2026
6287e7f
Update oncall schedule (#3632)
Phlip79 Feb 27, 2026
93d2739
Update copy-pr-bot.yaml [skip ci]
github-actions[bot] Feb 28, 2026
e8fe068
M-FSDP: Cancel erroneous grad accumulation check (#3629)
shjwudp Mar 2, 2026
107f6ae
chore(beep boop 🤖): Bump (main) (2026-03-02)
github-actions[bot] Mar 2, 2026
c7be214
Fix MoE aux loss tracker hang with MTP enabled (#3401)
Victarry Mar 2, 2026
044f1e3
Fix test data preparation (#3652)
janEbert Mar 2, 2026
2f8c9bc
Add GPTOSS Example with Megatron-LM + Megatron Bridge (#3018)
faradawn Mar 2, 2026
63cd60b
Add thd unit test main (#3617)
kunlunl Mar 2, 2026
c9312e6
Inference | KV prefix caching. (#3063)
lmcafee-nvidia Mar 2, 2026
b969f76
[Megatron-FSDP] Add dtype customization to Megatron-FSDP. (#3067)
cspades Mar 2, 2026
0810e63
CachedMetadataFileSystemReader: shared cache (#3326)
sbak5 Mar 2, 2026
7d1c016
Inference Optimized MoEs (#3496)
sidsingh-nvidia Mar 3, 2026
98495af
Log torch_memory_saver offload/onload (#3567)
tdene Mar 3, 2026
6fc7690
Prefix caching | Mamba memory only. (#3657)
lmcafee-nvidia Mar 3, 2026
9b18de4
Prefix caching | Coordinator scheduling. (#3665)
lmcafee-nvidia Mar 3, 2026
7dee32a
Adding manual Claude reviewer (#3679)
Phlip79 Mar 3, 2026
2570947
Nemo-RL Refit (#3520)
wdykas Mar 3, 2026
fa93d79
Add extra permissions and make other changes (#3683)
Phlip79 Mar 4, 2026
77a00ec
Claude should always comment something (#3685)
Phlip79 Mar 4, 2026
2caa681
[Cleanup] Remove the deprecated GroupedMLP (#3410)
dimapihtar Mar 4, 2026
470c6ea
chore: rotate oncall schedule
github-actions[bot] Mar 4, 2026
2a931a3
Fix illegal memory access with mamba inference (#3631)
tdene Mar 4, 2026
bb31e93
Fix illegal memory access with mamba inference (bis) (#3696)
tdene Mar 4, 2026
4fa9b5a
remove duplicate rerun_state_machine.set_mode(rerun_mode) (#3279)
YangWang92 Mar 4, 2026
d3a8584
Correct indexing when cp_comms_type is a list (#3389)
jeromeku Mar 4, 2026
bfd160b
Fix optional chat_completions returnables (#3519)
tdene Mar 4, 2026
f84e84e
ci: Claude code review (#3704)
ko3n1g Mar 4, 2026
bd1406f
ci: Fix event payload (#3705)
ko3n1g Mar 4, 2026
33476ff
ci: Use issue number (#3706)
ko3n1g Mar 4, 2026
fd21af4
ci: Finalize Claude review (#3707)
ko3n1g Mar 4, 2026
b1b4df6
ci: Add codecov yml (#3455)
thomasdhc Mar 4, 2026
7ea354b
Robust signaling for coordinator inference (#3563)
tdene Mar 4, 2026
f91c4bb
Fix memory issue in mxfp8 model init (#3461)
WanZzzzzz Mar 4, 2026
c5d8f6b
Update copy-pr-bot.yaml [skip ci]
github-actions[bot] Mar 5, 2026
fa6063d
adding public_docs_features: True to get proper legal footer… (#3681)
megnvidia Mar 4, 2026
a2381d8
add --overlap-param-gather support for layer-wise optimizer. lots of …
mchrzanowski Mar 5, 2026
657d33b
ci: Mount and enforce HF_HOME (#3700)
ko3n1g Mar 5, 2026
da47e64
Add flags for changing Mamba inference state tensor dtype (#3660)
santhnm2 Mar 5, 2026
94a903b
chore: CLI launch internal CI (#3695)
ko3n1g Mar 5, 2026
485428f
Change Review Process (#3659)
Phlip79 Mar 5, 2026
d1cce0c
ci: Separate queues for internal/external contributors (#3718)
ko3n1g Mar 5, 2026
6bd5c12
Update to correct token (#3724)
Phlip79 Mar 5, 2026
f5b2ec0
build: Bump to NGC PyTorch 26.02 (#3474)
ko3n1g Mar 5, 2026
bb84493
Claude: use Opus 4.6 and auto-review on ready (#3727)
Phlip79 Mar 6, 2026
41daf81
Claude to add complexity label (#3709)
Phlip79 Mar 6, 2026
0d42bc6
Offload Flask frontend to separate process (#3648)
santhnm2 Mar 6, 2026
d3528a2
fix(moe): fix TE general_gemm API change (#3582)
hxbai Mar 6, 2026
43df309
Review process fixes (#3728)
Phlip79 Mar 6, 2026
bde8264
ci: Update golden values after PyT bump (#3733)
ko3n1g Mar 6, 2026
a979332
chore: Use PAT for CLI Launcher (#3734)
ko3n1g Mar 6, 2026
bb451db
Print more verbose error message about incorrect `model_parallel_size…
rj42 Mar 6, 2026
de63aa8
ci: Add missing gitlab rule (#3735)
ko3n1g Mar 6, 2026
37ca715
[main] Add TE CUDA Graph Support for Vision Encoder (#3293)
tomlifu Mar 6, 2026
17de0db
Optimize process management and delete operations for async save (#3262)
sbak5 Mar 6, 2026
6ec369d
Align gpt-oss window-size with 128-token sliding window (#2771)
returnL Mar 6, 2026
26f9444
fix: temperature validation error message 1000.0 -> 100.0 (#2688)
CreeperLKF Mar 6, 2026
e19fbe2
RL: Hybrid MoE training cudagraphs and fix training <-> inference tra…
mathemakitten Mar 6, 2026
c1e675f
Fix dynamic inference and GRPO functional tests (#3740)
santhnm2 Mar 6, 2026
0cfa420
Swap oncall (#3585)
janEbert Mar 6, 2026
932b767
Update copy-pr-bot.yaml [skip ci]
github-actions[bot] Mar 7, 2026
b09ee64
[bugfix] fix the bug that loss: 0 will not be printed (#1555)
leisuzz Mar 9, 2026
8318b80
Fused dLN + add in backwards pass (#3384)
CarlosGomes98 Mar 9, 2026
597721a
chore(beep boop 🤖): Bump (main) (2026-03-09)
github-actions[bot] Mar 9, 2026
116a7fa
Claude: run actions on target branch (#3745)
Phlip79 Mar 9, 2026
56158bb
revert of #2658 (#3736)
dimapihtar Mar 9, 2026
452fc11
Update README Quick Start (#3596)
ilml Mar 9, 2026
d904a68
Re-enable tests which were failing on #3373 (#3757)
mathemakitten Mar 9, 2026
94ff0dc
Check reviews properly (#3756)
Phlip79 Mar 9, 2026
ce66b22
Update copy-pr-bot.yaml [skip ci]
github-actions[bot] Mar 10, 2026
0e19bf1
Add CP + Sequence Packing support for Mimo (#2135)
mehraakash Mar 10, 2026
fca1679
MXFP8 refit (#3742)
wdykas Mar 10, 2026
397772e
Claude: update token usage (#3760)
Phlip79 Mar 10, 2026
3eea580
Handle Tool Call Argument Parsing (#3662)
sancha Mar 10, 2026
e970199
RL support for nanov3 sft checkpoint (#3741)
jon-barker Mar 10, 2026
ba497c9
add mix_hidden_states option in conversion (#3655)
yeyu-nvidia Mar 10, 2026
22c69fa
ci: Optimize release-configs for GB200 (#3541)
ko3n1g Mar 10, 2026
0f47a1a
Update copy-pr-bot.yaml [skip ci]
github-actions[bot] Mar 11, 2026
204e7d5
Add absorbed-mla (#3198)
kunlunl Mar 10, 2026
f544034
feat(checkpoint): zero-copy storage sharing in CheckpointWithoutOutpu…
Victarry Mar 11, 2026
8fd390d
Fuse MLA DOWN projection GEMMs (#3039)
cjld Mar 11, 2026
7d52694
fix: skip FSDP DTensor boundary validation under fake process group (…
Victarry Mar 11, 2026
16a8cdb
[main] fix(moe): fix the bug where gate was not sliced when kv_head <…
yuzhongw-nvidia Mar 11, 2026
b8e23d5
fix(offload): reset activation offload manager after eval as well as …
rapatel Mar 11, 2026
07e512a
chore: rotate oncall schedule
github-actions[bot] Mar 11, 2026
e20b89a
Improve error logging when invalid number of tokens is requested. (#3…
yobibyte Mar 11, 2026
5bc89f3
Add NVIDIA-Nemotron-3-Super-120B-A12B-BF16 to ModelOpt examples (#3805)
jenchen13 Mar 11, 2026
da46946
build: Bump TE2.13 (#3800)
ko3n1g Mar 11, 2026
8e64e69
Ensure dummy_forward does not attempt to run cudagraphs (#3789)
jalbericiola Mar 11, 2026
8f539df
Add speculative decoding support with MTP layers (#3594)
santhnm2 Mar 11, 2026
39472d8
Shanmugamr1992/megatron inference ultra (#3784)
shanmugamr1992 Mar 11, 2026
d997820
Fix backward compatibility issue with MFSDP `--grad-reduce-in-bf16` (…
shjwudp Mar 12, 2026
251a754
feat: add NCCL flight recorder configuration support (#3806)
sbak5 Mar 12, 2026
5a3aa17
Revert "Ensure dummy_forward does not attempt to run cudagraphs (#378…
ko3n1g Mar 12, 2026
5b25326
Fix if statement in main (#3833)
tdene Mar 12, 2026
6657173
Update golden values of weekly tests (#3829)
ko3n1g Mar 12, 2026
4736aed
build: Loosen TE restriction (#3827)
ko3n1g Mar 12, 2026
1d5e68b
Upgrade GitHub Actions for Node 24 compatibility (#3830)
ko3n1g Mar 12, 2026
46227e0
Do not let chunked prefill generate decode logprobs (#3777)
tdene Mar 12, 2026
e08dc9d
Prevent double serialization inside Flask server (#3653)
tdene Mar 12, 2026
29e798a
Allow RL to run inference-only via skip-train (#3744)
tdene Mar 12, 2026
4c1d0e4
Announce Python 3.12 migration (#3825)
ko3n1g Mar 12, 2026
fabbcdf
Update copy-pr-bot.yaml [skip ci]
github-actions[bot] Mar 13, 2026
b250472
ci: Skip test_wrong_cuda_graph_impl_returns_false in LTS (#3847)
chtruong814 Mar 13, 2026
7ca9dc5
ci: Mark TestCoordinator.test_throughput as flaky (#3849)
chtruong814 Mar 13, 2026
f261906
find optimal number of workers (#3699)
dimapihtar Mar 13, 2026
b7437fe
remove encoder_and_decoder (#3836)
dimapihtar Mar 13, 2026
8a806e5
ci: Skip more tests in test_vision_cuda_graphs for LTS (#3860)
chtruong814 Mar 13, 2026
90fee1f
Ensure that inference dummy_forward does not try to match on a cudagr…
mathemakitten Mar 13, 2026
d1b8e27
Add unit tests for speculative decoding (#3817)
santhnm2 Mar 13, 2026
d4ac04f
Fix flakiness due to timing between shutdowns (#3857)
tdene Mar 13, 2026
87eb3c2
Exposing interleave argument for fused_apply_rotary_pos_emb_thd (#3794)
huvunvidia Mar 13, 2026
9a19203
ci: install nvidia-resiliency-ext from source (#3861)
ko3n1g Mar 13, 2026
f8becec
Miscellaneous inference bug fixes (#3840)
santhnm2 Mar 14, 2026
905c0e3
Nemo-RL integration bugfixes for --transformer-impl inference_optimiz…
sidsingh-nvidia Mar 15, 2026
5dca153
chore(beep boop 🤖): Bump (main) (2026-03-16)
github-actions[bot] Mar 16, 2026
b5b1994
remove legacy mpu (#3854)
dimapihtar Mar 16, 2026
086777a
enable async save for functional tests (#3855)
dimapihtar Mar 16, 2026
925341d
remove legacy data (#3853)
dimapihtar Mar 16, 2026
8334576
docs: Document python-gitlab dependency (#3863)
ko3n1g Mar 16, 2026
9a494f1
Fsdp dsv3 proxy (#3844)
gautham-kollu Mar 16, 2026
feeb1b4
Fix token dispatched cudagraph_attrs (#3625)
asolergi-nv Mar 16, 2026
3b34761
Fix slowdown in serialization (#3872)
tdene Mar 16, 2026
c1a14fb
Establish reviewers for training code (#3765)
maanug-nv Mar 16, 2026
f89744b
Fix quantize.py script and support packed sequences in pretrain_gpt.p…
AAnoosheh Mar 16, 2026
72b10a8
Use fp32 state dtypes for Mamba inference functional test (#3888)
santhnm2 Mar 16, 2026
ff70b24
[Megatron-FSDP] Support 'auto' argument which defaults to pre-MixedPr…
cspades Mar 17, 2026
3e9d8ca
Bug fix: add missing packages to Multimodal Dockerfile (#3417)
faradawn Mar 17, 2026
43675d4
Reverse polarity of the off-policy measurement (#3580)
tdene Mar 17, 2026
84e0360
Update nightly golden values after TE2.13 (#3886)
ko3n1g Mar 17, 2026
d3c4b05
enable use_persistent_ckpt_worker for ci tests (#3898)
dimapihtar Mar 17, 2026
02e0ca5
Correctly generate state dict in MultiTokenPredictionBlock (#3624)
asolergi-nv Mar 17, 2026
589cd9e
Add torch grouped gemm bf16 and mxfp8 support w/ cuda graphed + infer…
sidsingh-nvidia Mar 17, 2026
dbcd5d9
ci: Fix build-test-publish summary job always passing (#3905)
ko3n1g Mar 17, 2026
a4888bc
ci: Skip gpt3_mcore_te_tp1_pp4_vp1 for now (#3908)
chtruong814 Mar 17, 2026
c058fc0
ci: Fix build-and-test-wheels jobs for arm (#3910)
chtruong814 Mar 18, 2026
83498ef
Add Lion optimizer support (#3813)
mchrzanowski Mar 18, 2026
0ca9b63
Support multimodule pipelining in 1F1B schedule (#3129)
yashaswikarnati Mar 18, 2026
fde4059
Add a config parameter for retaining pinned cpu buffers for cpu offlo…
rapatel Mar 18, 2026
c4bffde
Inference | Hybrid prefix caching. (#3225)
lmcafee-nvidia Mar 18, 2026
77a706e
chore: rotate oncall schedule
github-actions[bot] Mar 18, 2026
77c2095
Parity with VLLM over the reasoning field (#3873)
tdene Mar 18, 2026
4402add
Hotfix for eviction issue (#3914)
tdene Mar 18, 2026
0186ee0
CI: add parallel GB200 integration test track (#3901)
ko3n1g Mar 18, 2026
ee00a70
Track errors through the inference return path (#3776)
tdene Mar 18, 2026
1259982
Fix: Defensively close GPU device FDs in dataloader worker processes …
hexinw-nvidia Mar 18, 2026
49be885
Fix hybrid dynamic inference functional tests (#3924)
santhnm2 Mar 18, 2026
35d5c65
Patch EOD out of inference results (#3866)
tdene Mar 18, 2026
5a00bd2
ci: Add mr-github-slim label (#3934)
ko3n1g Mar 18, 2026
b488149
Revert "ci: Skip gpt3_mcore_te_tp1_pp4_vp1 for now (#3908)" (#3926)
chtruong814 Mar 18, 2026
54ddab6
Exclude arguments.py from training review (#3906)
maanug-nv Mar 18, 2026
3548385
Fix DDP bug with --overlap-grad-reduce and --num-distributed-optimize…
wplf Mar 19, 2026
9425601
Update copy-pr-bot.yaml [skip ci]
github-actions[bot] Mar 19, 2026
dde4701
Implement forced lag in RL (#3517)
tdene Mar 19, 2026
9ed8b0c
Fix incorrect HAVE_TE detection in multiple modules (#3763)
returnL Mar 19, 2026
e01d886
ci: Fix sso users check (#3938)
chtruong814 Mar 19, 2026
2276e3a
move router replay doc to advanced feature part (#3929)
ilml Mar 18, 2026
36b84d4
Refactor VisionTECudaGraphHelper to minimize overrides and clarify st…
buptzyb Mar 19, 2026
c64c64b
Fix external contributor concurrency to be global across all branches…
ko3n1g Mar 19, 2026
5811854
Fix 3-way merge issue that broke main (#3949)
tdene Mar 19, 2026
f9a4196
Fix Nemo_CICD_Test not catching cancelled/skipped functional tests (#…
ko3n1g Mar 19, 2026
9ff763a
Guard cudagraph input copy on whether data pointers have actually cha…
mathemakitten Mar 19, 2026
7688557
Enforce that flashinfer cache has been installed for inference-optimi…
santhnm2 Mar 19, 2026
40dce4e
chore: remove nv-grouped-gemm dependency (#3770)
liuyun7345 Mar 19, 2026
2bee700
Prevent failures due to prevent_retokenization (#3958)
tdene Mar 20, 2026
9a60a18
ultra refit (#3904)
wdykas Mar 20, 2026
45b8eac
[Fix][Main] Missing Assertion for moe layer recomptue in A2A Overlap …
Wohox Mar 20, 2026
f456199
Move Megatron-FSDP MixedPrecisionPolicy arguments from FSDP adapter t…
cspades Mar 20, 2026
9382abc
chore: bump FW-CI-templates to v0.80.2 (#3961)
ko3n1g Mar 20, 2026
5c87d9a
Rename RL timers to be consistent (#3878)
tdene Mar 20, 2026
c5f9dd3
ci: centralize run configuration in a single configure job (#3962)
ko3n1g Mar 20, 2026
70bda97
ci: Split unit tests into smaller groups (#3966)
ko3n1g Mar 20, 2026
6e6f0b7
Refit optimization (#3933)
wdykas Mar 20, 2026
2beb593
common strategy simplification (#3229)
dimapihtar Mar 20, 2026
197242e
Cudagraphs: Remove fwd_graph_input_surface weakref (#3970)
mathemakitten Mar 20, 2026
a9aa2c8
fix: interpolate version correctly in release Slack notification (#3977)
ko3n1g Mar 21, 2026
3f59f71
Make args and kwargs optional positional arguments for the Module hoo…
cspades Mar 21, 2026
ade81bc
ci: Add core-adlr and core-nemo to megatron/training codeowners (#3979)
chtruong814 Mar 21, 2026
b4e4d96
Small quality-of-life improvements in `megatron/training` (#3957)
deepakn94 Mar 21, 2026
f5b0ec6
Update throughput golden values to reflect speedup (#3983)
tdene Mar 21, 2026
a811ac1
Revert "ci: Add core-adlr and core-nemo to megatron/training codeowne…
chtruong814 Mar 21, 2026
b1c9403
ci: Add --repo flag to gh pr view in configure job (#3989)
ko3n1g Mar 22, 2026
febd25e
Add common pile scripts (#3902)
Phlip79 Mar 22, 2026
8f7fbe7
Introduce GDN to Mamba (#3535)
Phlip79 Mar 23, 2026
9054192
Fix IndexError in uniform activation recompute when num_layers not di…
saakshigupta2002 Mar 23, 2026
f58a328
Scaling for MuP over Muon optimizer. (#3715)
plugyawn Mar 23, 2026
947bdbb
Pass Megatron-FSDP MixedPrecision args to DDPConfig. (#3992)
cspades Mar 23, 2026
488ba8e
[OMNIML-3721] Fix tokenizer unwrapping for nested Megatron-Core token…
jenchen13 Mar 24, 2026
7da5b28
Forced load imbalance (#3380)
nanz-nv Mar 24, 2026
9e28104
Add `/claude copy` command (#3978)
Phlip79 Mar 24, 2026
70a89af
Add multi-module heterogeneous parallelism support for MIMO model (#3…
yashaswikarnati Mar 24, 2026
99638d0
added vllm fakequant export support (#3050)
kinjalpatel27 Mar 24, 2026
a9e4437
fix(modelopt): use bash array for MLM_EXTRA_ARGS to preserve quoting …
jenchen13 Mar 24, 2026
34e1e97
fix: use dump file prefix for NCCL flight recorder temp files (#3955)
sbak5 Mar 24, 2026
b44a23c
Fix PersistentAsyncCaller.__del__ crash during Python shutdown (#3781)
cluster2600 Mar 24, 2026
0065f9f
ci: Run L1 MBridge tests in merge queue (#4009)
chtruong814 Mar 24, 2026
74b0e69
Update Claude review (#3980)
Phlip79 Mar 24, 2026
4f49f2f
Migrate MoeLayer submodules from ModuleSpec to Protocols (#3426)
nschank Mar 24, 2026
3aa7396
Guard non-core imports (#3993)
maanug-nv Mar 24, 2026
7bca3c8
Fix config compatibility with Megatron-Core (#3995)
maanug-nv Mar 24, 2026
d86ba0b
Add MimoOptimizer for heterogeneous parallelism (#4019)
yashaswikarnati Mar 25, 2026
6a7b68e
[Main] Support EP Overlap's Dynamic Computation Stream For Full-Iter …
Wohox Mar 25, 2026
a8530db
fix: Handle quantized CUDA tensors in async checkpoint writer (#3845)
sbak5 Mar 25, 2026
934edfa
accept hooks marked with with_kwargs when using te.ops.sequential (#4…
CarlosGomes98 Mar 25, 2026
d31a21f
chore: rotate oncall schedule
github-actions[bot] Mar 25, 2026
1aee2d7
Use GroupedMLPSubmodules for InferenceGroupedMLP (#3743)
nschank Mar 25, 2026
694c3a9
Fix 2D tensor communication for asymmetric DP in Bridge Communicator …
yashaswikarnati Mar 25, 2026
1df5591
Add distributed checkpoint support for non-colocated MiMo (#4020)
yashaswikarnati Mar 25, 2026
d45fa3e
CUDA graph support for prefix caching on hybrid models (#3922)
lmcafee-nvidia Mar 25, 2026
c586f6d
Add ability to perform local gradient accumulation in FP32 for a subs…
deepakn94 Mar 25, 2026
09cce75
Miscellaneous MXFP8 inference fixes (#4017)
santhnm2 Mar 26, 2026
a01a6c5
Use `torch.int64` for grad_num_zero accumulation (#4015)
WanZzzzzz Mar 26, 2026
548028b
Make text generation server hostname configurable (#3935)
santhnm2 Mar 26, 2026
0842ca2
Add --muon-coefficient-type argument for Muon optimizer (#3927)
mchrzanowski Mar 26, 2026
606afda
Pass gracefully if token_id not found in message (#3862)
i-riyad Mar 26, 2026
0528a40
Improve load balancing behavior for prefix cache-aware routing (#3930)
santhnm2 Mar 26, 2026
58e0b85
Refactor setup.py to use get_pybind_include (#3658)
sakgoyal Mar 27, 2026
3758b54
build: Bump TE to 2.14 (#4025)
ko3n1g Mar 27, 2026
d863b7b
chore(beep boop 🤖): Bump (main) (2026-03-30)
github-actions[bot] Mar 30, 2026
a61ce5f
fix traceback when interrupting run (#3439)
dimapihtar Mar 30, 2026
4dcd7d6
chore: update goldenvalues (#4059)
ko3n1g Mar 30, 2026
fc61ce5
Fix TemporalAsyncCaller pin_memory lifetime in async checkpointing (#…
lvdunlin Mar 30, 2026
4bde3a4
chore: Move to Py3.12 (#3826)
ko3n1g Mar 30, 2026
8256553
Update copy-pr-bot.yaml [skip ci]
github-actions[bot] Mar 31, 2026
704c7ee
Adding NVRx as a dependency and keeping the current code base optiona…
dimapihtar Mar 31, 2026
e1db321
chore: Bump versions
ko3n1g Mar 31, 2026
8dd65cd
build: Set `ENV NVTE_BUILD_NUM_PHILOX_ROUNDS=3` (#4074)
ko3n1g Mar 31, 2026
a3a7a0c
fix checkpointing conversion (#4058)
dimapihtar Mar 31, 2026
fd83690
Merge commit 'a3a7a0c699876bb6699f47581c3ca6da764abf9d' into rocm_dev
sudhu2k May 28, 2026
f6e0c54
IFU core_r0.17.0 Cleanup
sudhu2k May 28, 2026
dba8e2b
Add nvidia-resiliency-ext installation to Dockerfile and mark test_pr…
sudhu2k May 28, 2026
7c24f22
Update Dockerfile to skip CUPTI extension build during nvidia-resilie…
sudhu2k May 28, 2026
438ea38
Update Dockerfile and unit test script to modify dependencies and rem…
sudhu2k May 28, 2026
467f5d5
Enhance unit test portability by introducing shared path resolution
sudhu2k Jun 8, 2026
dcc52aa
Merge branch 'rocm_dev' into sudhu/core_r0.17.0_IFU
sudhu2k Jun 8, 2026
371b7e2
Enhance Megatron CI workflow to conditionally push Docker images base…
sudhu2k May 25, 2026
55e2baa
Update mamba-ssm version in Dockerfile to 2.3.1 for improved compatib…
sudhu2k Jun 10, 2026
1d067bd
Add openai package to Dockerfile dependencies
sudhu2k Jun 10, 2026
ba77807
fix(tokenizers,mla,dist_checkpointing): normalize HF chat-template to…
sudhu2k Jun 11, 2026
cdd9b83
Update to temporary 2.10 branch
sudhu2k Jun 16, 2026
cedd459
Merge remote-tracking branch 'origin/rocm_dev' into sudhu/core_r0.17.…
sudhu2k Jun 16, 2026
a16a907
Enhance unit test for non-strict loading by verifying logging behavio…
sudhu2k Jun 23, 2026
c5e89a6
Merge branch 'sudhu/core_r0.17.0_IFU' of https://github.com/ROCm/Mega…
sudhu2k Jun 23, 2026
c50e451
Merge remote-tracking branch 'origin/rocm_dev' into sudhu/core_r0.17.…
sudhu2k Jul 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ megatron/core/ssm/ @NVIDIA/core-adlr @NVIDIA/core-nemo @NVIDIA/hybrid-mamba

megatron/core/datasets/ @NVIDIA/core-adlr @NVIDIA/core-nemo @NVIDIA/datasets

megatron/core/tokenizers/ @NVIDIA/core-adlr @NVIDIA/core-nemo @NVIDIA/tokenizers

megatron/core/distributed/fsdp/ @NVIDIA/core-adlr @NVIDIA/core-nemo @NVIDIA/megatron-fsdp

megatron/core/transformer/fsdp_dtensor_checkpoint.py @NVIDIA/core-adlr @NVIDIA/core-nemo @NVIDIA/megatron-fsdp
Expand Down Expand Up @@ -37,6 +39,9 @@ megatron/post_training/ @NVIDIA/post-training

megatron/core/transformer/cuda_graphs.py @NVIDIA/core-adlr @NVIDIA/core-nemo @NVIDIA/cuda-graphs

megatron/training/ @NVIDIA/training-adlr @NVIDIA/training-nemo
megatron/training/arguments.py

.gitlab/ @NVIDIA/ci
.github/ @NVIDIA/ci
.gitlab-ci.yml @NVIDIA/ci
Expand Down
129 changes: 36 additions & 93 deletions .github/actions/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,51 +45,31 @@ inputs:
PAT:
description: "GitHub Personal Access Token"
required: true
is_ci_workload:
description: "Is CI workload"
required: true

scope:
description: "Test scope (e.g. mr-github, mr-github-slim)"
required: false
default: "mr-github-slim"
n_repeat:
description: "Number of test repetitions"
required: false
default: "5"
lightweight:
description: "Enable lightweight mode"
required: false
default: "false"
platform:
description: "Platform to run tests on (e.g. dgx_h100, dgx_gb200)"
required: false
default: "dgx_h100"
runs:
using: "composite"
steps:
- name: Print node name
shell: bash -x -e -u -o pipefail {0}
run: echo "node_name=$NODE_NAME" | tee -a "$GITHUB_OUTPUT"

- name: GPU Sanity Check
shell: bash -x -e -u -o pipefail {0}
run: |
echo "Starting GPU Sanity Check..."

# 1. Check for active Compute Processes
# query-compute-apps returns a list of PIDs using the GPU. If empty, we are good.
OPEN_PROCESSES=$(docker run --rm --gpus all ubuntu nvidia-smi --query-compute-apps=pid,process_name --format=csv,noheader)

if [ -n "$OPEN_PROCESSES" ]; then
echo "::error::❌ GPU is not clean! Found active processes:"
echo "$OPEN_PROCESSES"
else
echo "✅ No active compute processes found."
fi

# 2. Check VRAM Usage (Optional but recommended)
# We allow a small buffer (e.g., < 300MiB) for driver overhead/Xorg,
# though on headless K8s nodes this should be very close to 0.

MEMORY_USAGES=$(docker run --rm --gpus all ubuntu nvidia-smi --query-gpu=memory.used --format=csv,noheader,nounits)

# Check each GPU visible to the container
for MEMORY in $MEMORY_USAGES; do
if [ "$MEMORY" -gt 300 ]; then
echo "::error::❌ GPU VRAM usage is suspiciously high: ${MEMORY} MiB"
fi
done

echo "✅ GPU Memory is clean (all < 300 MiB)."
echo "Ready to start workflow."

- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v6

- name: Change ownership of /home/runner/
shell: bash
Expand Down Expand Up @@ -117,55 +97,25 @@ runs:
export PYTHONPATH=$(pwd)
export NEMORUN_HOME=$(pwd)
export NCCL_DEBUG=INFO
pip install --no-cache-dir uv
uv sync --only-group test
pip install --no-cache-dir "uv<0.9.29"
uv venv .venv
uv cache clean
uv sync --no-cache --only-group test
uv run python tests/test_utils/python_scripts/launch_nemo_run_workload.py \
--scope unit-tests \
--model unit-tests \
--test-case "${{ inputs.test_case }}" \
--environment dev \
--platform dgx_h100 \
--platform ${{ inputs.platform }} \
--tag ${{ inputs.tag }} \
--container-image ${{ inputs.container-image }}
--container-image ${{ inputs.container-image }} \
--hf-home /mnt/datadrive/TestData/nemo-fw/TestData/HF_HOME

RUN_TEST_EOF
)
echo "$cmd" | tee "job.sh"
echo "::endgroup::"

- name: Get PR info
id: get-pr-info
if: startsWith(github.ref, 'refs/heads/pull-request/')
uses: nv-gha-runners/get-pr-info@main

- name: Install GH CLI
shell: bash -x -e -u -o pipefail {0}
run: |
apt-get update
apt-get install -y gh

- name: Has Run tests label
shell: bash -x -e -u -o pipefail {0}
id: has-run-tests-label
env:
GH_TOKEN: ${{ github.token }}
run: |
PR_NUMBER=${{ fromJSON(steps.get-pr-info.outputs.pr-info || '{}').number }}
HAS_RUN_TESTS_LABEL=$(gh pr view $PR_NUMBER --json labels | jq '[.labels[].name] | any(. == "Run tests")') || echo "false"
echo "main=$HAS_RUN_TESTS_LABEL" | tee -a $GITHUB_OUTPUT

- name: Has Run functional tests label
shell: bash -x -e -u -o pipefail {0}
id: has-run-functional-tests-label
env:
GH_TOKEN: ${{ github.token }}
IS_CI_WORKLOAD: ${{ inputs.is_ci_workload }}
run: |
PR_NUMBER=${{ fromJSON(steps.get-pr-info.outputs.pr-info || '{}').number }}
HAS_RUN_FUNCTIONAL_TESTS_LABEL=$(gh pr view $PR_NUMBER --json labels | jq '[.labels[].name] | any(. == "Run functional tests")') || echo "$IS_CI_WORKLOAD"
HAS_RUN_FUNCTIONAL_TESTS_LABEL=${HAS_RUN_FUNCTIONAL_TESTS_LABEL:-$IS_CI_WORKLOAD}
echo "main=$HAS_RUN_FUNCTIONAL_TESTS_LABEL" | tee -a $GITHUB_OUTPUT

- name: Create run-script (e2e test)
shell: bash -x -e -u -o pipefail {0}
if: inputs.is_unit_test == 'false'
Expand All @@ -177,36 +127,29 @@ runs:
#!/bin/bash
set -euxo pipefail

if [ "${{ steps.has-run-tests-label.outputs.main }}" == "true" ]; then
ARGS=(
--scope mr-github
--enable-lightweight-mode
--n-repeat 1
)
elif [ "${{ steps.has-run-functional-tests-label.outputs.main }}" == "true" ]; then
ARGS=(
--scope mr-github
--n-repeat 5
)
else
ARGS=(
--scope mr-github-slim
--n-repeat 5
)
ARGS=(
--scope ${{ inputs.scope }}
--n-repeat ${{ inputs.n_repeat }}
)
if [ "${{ inputs.lightweight }}" == "true" ]; then
ARGS+=(--enable-lightweight-mode)
fi

export PYTHONPATH=$(pwd)
export NEMORUN_HOME=$(pwd)
pip install --no-cache-dir uv
uv sync --only-group test
pip install --no-cache-dir "uv<0.9.29"
uv venv .venv
uv cache clean
uv sync --no-cache --only-group test
uv run python tests/test_utils/python_scripts/launch_nemo_run_workload.py \
${ARGS[@]} \
--model ${{ inputs.model }} \
--test-case ${{ inputs.test_case }} \
--environment dev \
--platform dgx_h100 \
--platform ${{ inputs.platform }} \
--container-image ${{ inputs.container-image }} \
--data-dir /mnt/datadrive/TestData/megatron-lm/artifacts \
--hf-home /mnt/datadrive/TestData/nemo-fw/TestData/HF_HOME

RUN_TEST_EOF
)
Expand Down
2 changes: 1 addition & 1 deletion .github/copy-pr-bot.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
enabled: true
auto_sync_draft: false
auto_sync_ready: true
trustees_override: ["AAnoosheh", "ArEsKay3", "Autumn1998", "BestJuly", "BoxiangW", "ChenhanYu", "FDecaYed", "HaochenYuan", "ISEEKYAN", "JRD971000", "Phlip79", "QiZhangNV", "ShriyaRishab", "Victarry", "Wohox", "ZhiyuLi-Nvidia", "ahmadki", "aklife97", "ananthsub", "asolergi-nv", "buptzyb", "chtruong814", "cspades", "cuichenx", "deepakn94", "dimapihtar", "dingqingy-nv", "duncanriach", "erhoo82", "ericharper", "fanshiqing", "frsun-nvda", "gautham-kollu", "gdengk", "guyueh1", "hxbai", "jalbericiola", "janEbert", "jaredcasper", "jenchen13", "jiemingz", "jingqiny-99", "jkamalu", "jon-barker", "jstjohn", "kanz-nv", "kevalmorabia97", "ko3n1g", "kunlunl", "kvareddy", "kwyss-nvidia", "layalir", "lhb8125", "lmcafee-nvidia", "maanug-nv", "mathemakitten", "matthieule", "mehraakash", "mkhona-nvidia", "parthmannan", "prajwal1210", "pthombre", "rogerwaleffe", "sanandaraj5597", "sancha", "santhnm2", "sbak5", "shanmugamr1992", "shengf-nv", "shifangx", "shjwudp", "sidsingh-nvidia", "skyw", "sudhakarsingh27", "tdene", "theothermike", "thomasdhc", "trintamaki", "tylerpoon", "wdykas", "xiaoyao0115", "xuwchen", "yanring", "yaox12", "yaoyu-33", "yashaswikarnati", "yeyu-nvidia", "yobibyte", "youngeunkwon0405", "yuzhongw-nvidia", "zhongbozhu"]
trustees_override: ["AAnoosheh", "ArEsKay3", "Autumn1998", "BestJuly", "BoxiangW", "CarlosGomes98", "ChenhanYu", "FDecaYed", "HaochenYuan", "ISEEKYAN", "JRD971000", "Phlip79", "QiZhangNV", "RPrenger", "ShriyaRishab", "Victarry", "WanZzzzzz", "Wohox", "ZhiyuLi-Nvidia", "ahmadki", "aklife97", "ananthsub", "asolergi-nv", "buptzyb", "chtruong814", "cjld", "cspades", "cuichenx", "deepakn94", "dimapihtar", "dingqingy-nv", "duncanriach", "erhoo82", "ericharper", "fanshiqing", "faradawn", "frsun-nvda", "gautham-kollu", "gdengk", "guyueh1", "hexinw-nvidia", "huvunvidia", "hxbai", "ilml", "jalbericiola", "janEbert", "jaredcasper", "jenchen13", "jiemingz", "jingqiny-99", "jkamalu", "jon-barker", "jstjohn", "kajalj22", "kanz-nv", "kevalmorabia97", "ko3n1g", "ksivaman", "kunlunl", "kvareddy", "kwyss-nvidia", "layalir", "lhb8125", "lmcafee-nvidia", "maanug-nv", "mathemakitten", "matthieule", "mchrzanowski", "mehraakash", "mkhona-nvidia", "nanz-nv", "parthmannan", "prajwal1210", "pthombre", "rhewett-nv", "rogerwaleffe", "sajadn", "sanandaraj5597", "sancha", "santhnm2", "sbak5", "shanmugamr1992", "sharathts", "shengf-nv", "shifangx", "shjwudp", "sidsingh-nvidia", "skyw", "sudhakarsingh27", "tdene", "theothermike", "thomasdhc", "tomlifu", "trintamaki", "tylerpoon", "wdykas", "wplf", "xiaoyao0115", "xuwchen", "yanring", "yaox12", "yaoyu-33", "yashaswikarnati", "yeyu-nvidia", "yobibyte", "youngeunkwon0405", "yueshen2016", "yuzhongw-nvidia", "zhongbozhu"]
34 changes: 17 additions & 17 deletions .github/oncall_schedule.json
Original file line number Diff line number Diff line change
@@ -1,50 +1,50 @@
[
{
"user": "dimapihtar",
"date": "2026-01-28"
"user": "janEbert",
"date": "2026-03-25"
},
{
"user": "gautham-kollu",
"date": "2026-02-04"
"date": "2026-04-01"
},
{
"user": "janEbert",
"date": "2026-02-11"
"user": "ilml",
"date": "2026-04-08"
},
{
"user": "Phlip79",
"date": "2026-02-18"
"date": "2026-04-15"
},
{
"user": "asolergi-nv",
"date": "2026-02-25"
"date": "2026-04-22"
},
{
"user": "BoxiangW",
"date": "2026-03-04"
"date": "2026-04-29"
},
{
"user": "maanug-nv",
"date": "2026-03-11"
"date": "2026-05-06"
},
{
"user": "dimapihtar",
"date": "2026-03-18"
"date": "2026-05-13"
},
{
"user": "gautham-kollu",
"date": "2026-03-25"
"date": "2026-05-20"
},
{
"user": "janEbert",
"date": "2026-04-01"
"user": "ilml",
"date": "2026-05-27"
},
{
"user": "maanug-nv",
"date": "2026-04-08"
"user": "janEbert",
"date": "2026-06-03"
},
{
"user": "BoxiangW",
"date": "2026-04-15"
"user": "maanug-nv",
"date": "2026-06-10"
}
]
46 changes: 15 additions & 31 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,8 @@

## Contribution process

```mermaid
flowchart LR
A[Pre-checks] --> B[PR Tests]
subgraph Code Review/Approval
C1[Expert Review] --> C2[Final Review]
end
B --> C1
C2 --> D[Merge]
```

### Pre-checks

- [ ] I want this PR in a versioned release and have added the appropriate Milestone (e.g., `Core 0.8`)
- [ ] I have added relevant unit tests
- [ ] I have added relevant functional tests
- [ ] I have added proper typing to my code [Typing guidelines](https://docs.python.org/3/library/typing.html)
Expand All @@ -26,41 +15,36 @@ flowchart LR

### Code review

The following process is enforced via the CODEOWNERS file for changes into `megatron/core`. For changes outside of `megatron/core`, it is up to the PR author whether or not to tag the Final Reviewer team.
Feel free to message or comment the [@mcore-oncall](https://github.com/orgs/NVIDIA/teams/mcore-oncall) to help accelerate your merge into main. The less complex your PR is, the faster it will be approved and merged!

<details>
<summary>For MRs into `main` branch</summary>
All PRs start as **draft**. If you open a non-draft PR, it will be automatically converted to draft.

Feel free to message or comment the @mcore-oncall to help accelerate your merge into main. The less complex your PR is, the faster it will be approved and merged!
#### Step 1: Mark PR as "Ready for Review"

#### (Step 1): Add PR label `Expert Review`
1. When your PR is ready, click **Ready for Review**.
2. An oncall reviewer is auto-assigned and expert reviewers are notified based on your changes.
- Some PRs may jump straight to step 2. This is determined by `.github/CODEOWNERS`.

#### (Step 2): Collect the expert reviewers reviews
:warning: Only mark as ready once merge-conflicts are resolved and the CI is passing.
Final Review might get declined if these requirements are not fulfilled.

1. Attach the `Expert Review` label when your PR is ready for review.
2. GitHub auto-assigns expert reviewers based on your changes. They will get notified and pick up your PR soon.
#### Step 2: Final Review

:warning: Only proceed to the next step once all reviewers have approved, merge-conflict are resolved and the CI is passing.
Final Review might get declined if these requirements are not fulfilled.
For PRs that change `megatron/core`, once all expert reviewers have approved, the `Final Review` label is applied **automatically** and final reviewers are assigned.

#### (Step 3): Final Review
For PRs outside `megatron/core`, this step is skipped.

1. Add `Final Review` label
2. GitHub auto-assigns final reviewers based on your changes. They will get notified and pick up your PR soon.
#### Step 3: Approved

#### (Optional Step 4): Cherry-pick into release branch
Once all required reviewers have approved, the `Approved` label is applied **automatically**.

If this PR also needs to be merged into `core_r*` release branches, after this PR has been merged, select `Cherry-pick` to open a new PR into the release branch.
### Merge

</details>
Any member of [mcore-engineers](https://github.com/orgs/NVIDIA/teams/mcore-engineers) will be able to merge your PR.

<details>
<summary>For MRs into `dev` branch</summary>
The proposed review process for `dev` branch is under active discussion.

MRs are mergable after one approval by either `eharper@nvidia.com` or `zijiey@nvidia.com`.
</details>

### Merging your PR

Any member of [core-adlr](https://github.com/orgs/teams/NVIDIA/core-adlr) and [`core-nemo`](https://github.com/orgs/teams/NVIDIA/core-nemo) will be able to merge your PR.
Loading
Loading