github NVIDIA/Megatron-LM core_v0.20.0
NVIDIA Megatron Core 0.20.0

3 hours ago

MoE

  • DeepEP v2 dispatcher: adds an experimental DeepEP v2 backend for the flex token dispatcher (#5153).
  • NCCL EP MXFP8 communication (experimental): adds MXFP8 dispatch-forward and combine-backward communication to the NCCL EP backend (#6524).
  • NCCL EP eager mode: now NCCL EP supports both eager mode and full-iteration graph mode (#6229).
  • ShortcutMoE: adds shortcut-connected routing in HybridStack and overlaps expert all-to-all communication with paired attention or Mamba computation; CUDA graphs are not supported (#6959).

Model Architecture and Support

  • DeepSeek V4: fully supported by the next-gen HybridModel class (#6403, #6404, #6405, #7469).
  • Manifold-constrained hyper-connections (mHC): adds fused mHC connections to HybridModel, including pipeline and virtual-pipeline parallel support (#6401, #7336).
  • Gated Delta Product (GDP): adds GDP layers and model-building support for hybrid architectures (#6074).
  • Wide residual streams: adds streamwise residual connections, selective residual-stream recomputation, and integration with MTP and MIMO; currently requires PP=1 and CUDA graphs disabled (#6716, #6805, #6855, #7440).
  • MTP-only training: adds a mode that freezes the base model and trains only Multi-Token Prediction heads (#7021).

Parallelism

  • Megatron-FSDP v2 integration: adds the experimental Megatron Core adapter and Megatron Bridge, with context, expert, pipeline, and hybrid data-parallel sharding support; the adapter requires TP=1 and expert TP=1 (#5865, #6450, #6486, #7220, #6873).
  • Megatron-FSDP v2 checkpointing: adds PyTorch distributed checkpoint save/load for model and optimizer state; optimizer checkpointing currently excludes expert-parallel layouts (#6024, #6215).
  • Megatron-FSDP v2 supports hybrid FSDP.
    • The user can specify different ZeRO levels for inter-nvlink domains and intra-nvlink domains.
    • The user can specify different configs for the dense section and the MoE section.
  • Generalized Tensor Parallelism (GTP): adds configurable batch/sequence partitioning, opt-in latent-projection sharding, and MTP support (#7748, #6383, #6242).

Performance and Memory

  • Determinism: multi-release effort, please read our blog post to learn more
  • Megatron-FSDP v2 CUDA graphs: adds full-iteration graph capture and replay for supported dense-model configurations (#7075).
  • Fused GDN execution: adds Transformer Engine fused GDN and opt-in preprocessing fusion for convolution, layout transforms, normalization, and gates (#7583, #5532).
  • MLA and MoE kernel optimizations: adds fused MLA Q up-projection, RoPE, and MXFP8 quantization for supported SM100 configurations, vectorized MLA projection copies, and fused shared-expert/residual additions after MoE combine (#6213, #7957, #7943).
  • Weighted checkpoint merging: adds CPU-only weighted merging of compatible, same-layout torch_dist checkpoints (#5114).
  • Training observability: adds optional OpenTelemetry traces and metrics for training, pipeline communication, gradient synchronization, and checkpointing (#6415, #6438).

Precision and Optimizers

  • Megatron-FSDP v2 mixed precision: enables MXFP8 compute and quantized parameter gathers through the adapter, alongside mixed-precision optimizer support (#7588, #7114, #6506).
  • Selective FP32 execution: adds FP32 handling for selected tensors and their optimizer/checkpoint lifecycle, plus an option to compute language-model output logits in FP32 (#5929, #6252).
  • Distributed Muon improvements: adds layer-sharded Muon computation across TP and GTP-rematerialization ranks and an optional Triton SYRK path for Newton-Schulz iterations (#6683, #6381).
  • DeepSeek-V3 NVFP4 training: adds NVFP4 support including FP4 quantization in active MTP layers (#7328).

Inference

  • GDN and GDP dynamic inference: adds GDN serving and extends GDP inference with CUDA graphs, chunked prefill, prefix caching, and speculative decoding (#6499, #6595, #6711, #6780, #7245).
  • Prefill-Decode Disaggregation: adds NCCL and NIXL KV-cache transfer paths and SSM-state handoff primitives for prefill/decode disaggregation (#5861, #6222, #6584).
  • Batch-Invariant MoE inference: adds batch-invariant BF16/MXFP8 execution paths, including vLLM fused MoE and MXFP8 expert GEMMs (#6521, #7302, #7562).
  • Token checkpointing and staging: adds engine hooks to preprocess requests and stage completed token payloads (#7015), extends staged records with compact prompt IDs and media tensors for multimodal NRL training (#7557), and moves staging off the inference loop so slow checkpoint writes do not stall decoding (#8169).
  • Expert Tensor Parallel: #4743 supports ETP in the inference engine.
  • ShortcutMoE Inference CG: #7772 adds CG support for shortcut MoE, GDP, and wide residuals.
  • Inference Service Features and Resiliency: #7828 makes seeded sampling independent of batching, request movement, and other requests’ RNG consumption, #6916 aborts generation when HTTP clients disconnect, preventing orphaned requests from consuming all serving capacity, and large-scale / concurrency optimizations with frontend-coordinator-engine data transfer and replicas in#6497 and #6223.

Datasets

  • DP-balanced sequence packing: adds variable-length dataset scheduling, THD-format batch fetching with padding masks, and training-loop integration to balance packed batches across data-parallel ranks (#5903, #6625, #6684, #6742).

Multimodal

  • Multimodal (Vision) Inference: #6260 adds image modality support to the dynamic inference engine, #6809 adds video inference support, vision-embedding caching, media-affinity routing, and media-safe prefix hashes; #7598 adds multi-turn expanded-prefix stitching; #7839 serves MIMO-trained VLM checkpoints.
  • Heterogeneous MIMO extensions: adds GTP, non-colocated context parallelism, configurable input-projection placement, and model-declared weight refit (#6570, #7435, #6843, #7367).
  • RoPE audio encoder: adds dense and packed execution modes with NeMo checkpoint compatibility (#7066).
Changelog Details
  • fix(ci): AUT-1080 retry live NCCL watchdog timeouts by @svcnemo-autobot :: PR: #6054
  • Prevent coordinator crash if an engine disconnects by @tdene :: PR: #6025
  • Make nightly sync checks advisory by @Phlip79 :: PR: #5713
  • test(optimizer): MCORE-560 cover MoE gradient zero counts by @svcnemo-autobot :: PR: #6050
  • RL: fix logging issues from failed rollouts by @tdene :: PR: #6061
  • chore(ci): AUT-1135 pin GitHub Actions to commit SHAs by @svcnemo-autobot :: PR: #6100
  • chore(deps): AUT-1080 pin merged NeMo Run cancellation fix by @svcnemo-autobot :: PR: #6110
  • chore: AUT-1142 bump package versions by @svcnemo-autobot :: PR: #6120
  • test(inference): mark prefix caching CUDA graph test flaky by @ko3n1g :: PR: #6131
  • Make BertModel lm_head optional. by @bbuschkaemper :: PR: #5690
  • ci: AUT-1141 skip MBridge dispatch for docs-only changes by @svcnemo-autobot :: PR: #6116
  • Fix gradient counting for muon+expert biases by @philipcmonk :: PR: #6099
  • test(inference): MCORE-561 trust FP8 metadata in DeepSeek checkpoints by @svcnemo-autobot :: PR: #6049
  • Allow the MInf sync API to run serve() by @tdene :: PR: #6123
  • ci: fix test notifications for weekly/release tests by @balasaajay :: PR: #6055
  • Add disaggregated KV transfer backends by @nvcsathe :: PR: #5861
  • Reorganize a few docs by @Phlip79 :: PR: #6109
  • Perf: skip per-param copy_ dispatch in the MXFP8 param copy-back by @fanshiqing :: PR: #6094
  • test: add async scheduling inference coverage by @lmcafee-nvidia :: PR: #6104
  • test(ci): AUT-1173 set functional tests to ft_launcher by @svcnemo-autobot :: PR: #6128
  • Fix --freeze-all-layers for new model builder path + unit tests by @AAnoosheh :: PR: #5926
  • fix(tests): prefer staged release assets by @ko3n1g :: PR: #6149
  • Fix inference overflow into dummy blocks by @tdene :: PR: #5950
  • Rebind MFSDP v2 sharded grads once per gradient reduction by @wujingyue :: PR: #6041
  • Fix Megatron FSDP optimizer under-update by @wujingyue :: PR: #5976
  • Normalize MFSDP data-parallel axes at fully_shard by @wujingyue :: PR: #6067
  • Fix MLA dynamic inference decode flag by @cuichenx :: PR: #4902
  • Add Agent Compose package and runtime interface skeleton by @ISEEKYAN :: PR: #5937
  • [fix] Fix GTP full-iteration CUDA-graph capture regression by @prajwal1210 :: PR: #6077
  • Harden dynamic prefix cache allocation - mamba mostly by @wdykas :: PR: #6091
  • ci(cache): AUT-1188 harden container cache selection by @svcnemo-autobot :: PR: #6160
  • ci(nvskills): AUT-1188 fix reusable workflow startup failure by @svcnemo-autobot :: PR: #6162
  • Add MFSDP runtime schedule design by @wujingyue :: PR: #6031
  • Feature/enable inference optimized qwen moe by @utkarsh530 :: PR: #5700
  • Bs invar moe by @wdykas :: PR: #4871
  • chore: update pytest version to 9.1.1 in pyproject.toml and uv.lock by @balasaajay :: PR: #6170
  • Fix LRU block accounting for resumed requests by @lmcafee-nvidia :: PR: #5995
  • [Main] update moe single weight unit test by @zhongbozhu :: PR: #6035
  • fix ckpt conversion issue by @dimapihtar :: PR: #6151
  • Add determinism developer documentation by @Connor-XY :: PR: #5718
  • Add MFSDP v2 MCore integration with FullyShardedOptimizer by @wujingyue :: PR: #5865
  • Add streaming replies for dynamic engine by @nvcsathe :: PR: #5727
  • deps: Update urllib3 to version 2.7.0 by @balasaajay :: PR: #6182
  • deps: Update black dependency to version 26.3.0 by @balasaajay :: PR: #6180
  • Add meta-parameter support by @wujingyue :: PR: #5369
  • Fix tied parameters by @wujingyue :: PR: #6164
  • chore(ci): AUT-1231 bump preflight workflow template by @svcnemo-autobot :: PR: #6198
  • Clarify single communication stream benefits by @wujingyue :: PR: #6177
  • Bump black version in pre-commit config to match pyproject.toml by @xuantengh :: PR: #6201
  • set weights_only=True by @dimapihtar :: PR: #6150
  • [fix] Give same-key GTP chain neighbours distinct gather buffers by @fanshiqing :: PR: #6207
  • Fix gradient reduction issue when EP=1, EP=TP, and EGTP != GTP by @philipcmonk :: PR: #6080
  • Apply black 26.3.0 formatting to four files it now reformats by @deepakn94 :: PR: #6210
  • Add context-parallel causal conv1d support by @Mellonta :: PR: #5917
  • Refactor TE fused ops integration into mixin by @CarlosGomes98 :: PR: #4630
  • [feat] Add reduce-scatter-with-fp32-accumulation support for GTP by @fanshiqing :: PR: #6200
  • chore(ci): AUT-1298 bump community workflow to v1.8.7 by @svcnemo-autobot :: PR: #6219
  • fix: pretrain_hybrid.py --help by @paulwambergue :: PR: #6211
  • refactor(ci): migrate triage consumer to Cerno by @thomasdhc :: PR: #6250
  • Validate NIXL CUDA transports and share transfer agents by @wdykas :: PR: #6221
  • Add prefix-cache lifecycle hooks by @nvcsathe :: PR: #5860
  • Make Bridge Communicator aware of GTP by @yashaswikarnati :: PR: #6263
  • Fix GTP reduce-scatter overlap across local CUDA graphs by @JF-D :: PR: #6060
  • revert(dist_checkpointing): AUT-1325 remove streaming checkpoint dequantization by @svcnemo-autobot :: PR: #6275
  • avoid circular dependency usage between mcore and modelopt- #5644 by @dimapihtar :: PR: #6247
  • Update DEEPEP_COMMIT in Dockerfile.ci.dev to commit de0dd1… by @balasaajay :: PR: #6261
  • revert: revert community-bot bump to v1.8.7 (5adbee2) by @kajalj22 :: PR: #6288
  • [fix] Cleanup usage of pg_collection in gtp by @fanshiqing :: PR: #6234
  • [Copy to main] Update Nemotron 3 Super GB200 release config by @svcnvidia-nemo-ci :: PR: #6282
  • Revert "Add Agent Compose package and runtime interface skeleton" by @Phlip79 :: PR: #6292
  • Release MFSDP storage after model deletion by @wujingyue :: PR: #6230
  • Document MFSDP optimizer design by @wujingyue :: PR: #6186
  • Handle checkpoint and text-only batches in MIMO encoder prefetch by @yashaswikarnati :: PR: #6039
  • Revert "avoid circular dependency usage between mcore and modelopt- #5644" by @Phlip79 :: PR: #6302
  • Fix multimodal MTP loss masking for modality tokens by @kevjshih :: PR: #6010
  • Replace lazy MFSDP context initialization with an explicit scope by @wujingyue :: PR: #6190
  • chore(ci): bump community workflow to v1.8.8 by @ko3n1g :: PR: #6322
  • fix(moe): free activations immediately in full recompute mode by @liuyun7345 :: PR: #5197
  • Allocate main_grad on the reduce-scatter stream by @wujingyue :: PR: #6187
  • Encapsulate symmetric-memory AVG in DBuffer by @wujingyue :: PR: #6169
  • fix(ci): remove community workflow PAT by @ko3n1g :: PR: #6350
  • Add multimodal argument and config plumbing by @matthieule :: PR: #6332
  • Fix FSDP activation recompute prefetch by @shjwudp :: PR: #6153
  • Add Nemotron 3.5 Lightning GB200 nightly test by @Phlip79 :: PR: #6312
  • Exit non-zero when --exit-on-missing-checkpoint triggers by @shanmugamr1992 :: PR: #6321
  • Divide expert gradients by the expert-parallel size by @wujingyue :: PR: #5956
  • [feat] GTP+MTP by @fanshiqing :: PR: #6242
  • fix(mtp): scatter the MTP embedding when the model's embedding does not by @DanialTaheri :: PR: #6256
  • Apply the layerwise param layout on the ModelBuilder DDP path by @deepakn94 :: PR: #6286
  • test: AUT-1363 prevent recipe fetch-token exposure by @svcnemo-autobot :: PR: #6364
  • fix(ci): AUT-1396 use one global external queue worker by @svcnemo-autobot :: PR: #6366
  • Add generic interface for SSM inference by @santhnm2 :: PR: #5382
  • Add PyTorch DCP checkpoint save/load for MFSDP v2 by @ahmadki :: PR: #6024
  • Skip save-side sharding validation via --no-ckpt-load-validate-sharding-integrity by @asolergi-nv :: PR: #5554
  • [feat] opt-in GTP_remat sharding support for 'moe-latent-proj' by @fanshiqing :: PR: #6383
  • Support RL eval-only runs by @tdene :: PR: #6043
  • fix(ci): redact sensitive environment values from test output by @ko3n1g :: PR: #6406
  • Add --muon-use-syrk option for Triton SYRK kernel in Newton-Schulz by @deepakn94 :: PR: #6381
  • Add 1-node GB200 functional test for checkpoint load with load_optim=False by @asolergi-nv :: PR: #6347
  • Selective-FP32 runtime and native-FP32 optimizer checkpoint lifecycle by @FDecaYed :: PR: #5929
  • Update docstring for moe_router_topk_scaling_factor by @JavaZeroo :: PR: #2178
  • Add --ckpt-drop-redundant-extra-state to skip persisting redundant TE _extra_state by @asolergi-nv :: PR: #5552
  • Bump FLA to 0.5.1 and integrate GDN2 kernels by @xuantengh :: PR: #5765
  • Add construction-scoped MFSDP v2 fully shard options by @wujingyue :: PR: #6127
  • Support explicit Hugging Face finetune data files in finetune.sh by @jenchen13 :: PR: #6413
  • Add megatron.core.telemetry base layer and observability guide by @deepakn94 :: PR: #6415
  • [NCCL EP] Support eager mode and overflow handling by @YangFei1990 :: PR: #6229
  • Gate expensive work behind log levels by @shurkat-nvidia :: PR: #5805
  • Fixes for SP + MTP all-gathers by @santhnm2 :: PR: #5748
  • TE Layernorm dtype guard with fp32 residuals by @mkhona-nvidia :: PR: #6272
  • Treat LayerWise bucket_size as a soft minimum and fill would-be padding with real parameters by @deepakn94 :: PR: #5415
  • Gated Delta Product (GDP) implementation by @devnkong :: PR: #6074
  • fix(mfsdp): refresh V2 compute weights after optimizer step by @wujingyue :: PR: #6336
  • [core] Clarify GPT output_processor callback contract by @chengcuiping :: PR: #5739
  • Validate MFSDP module phase transitions by @wujingyue :: PR: #6359
  • Refine MFSDP v2 configuration validation by @wujingyue :: PR: #6333
  • Add hybrid layer config definitions by @Phlip79 :: PR: #6410
  • Propagate RL runtime config updates to module configs by @Phlip79 :: PR: #6423
  • [fix] GTP+recompute: keep adjacent GTP recompute weights off the same gather buffer by @fanshiqing :: PR: #6407
  • Add MFSDP v2 design document by @wujingyue :: PR: #6431
  • ci(auth): treat svcnemo-autobot as internal by @ko3n1g :: PR: #6436
  • Make core-nemo fallback owner for top-level files by @Phlip79 :: PR: #6358
  • Add mixed-precision (FP32) LM output logits by @mkhona-nvidia :: PR: #6252
  • Eliminate the ShardedObject all_gather_object on the FullyParallel load path by @asolergi-nv :: PR: #5551
  • GTP + PartialCG: Classify latent projections for partial CUDA graphs by @JF-D :: PR: #6446
  • Balance LayerWise optimizer shards by Newton-Schulz cost, not parameter size by @deepakn94 :: PR: #6379
  • Suppress noisy external-library log lines on non-rank-0 processes by @deepakn94 :: PR: #5590
  • feat(ci): enhance triage script to assign on-call assignee dynamically by @balasaajay :: PR: #6469
  • Skip attention mask materialization in RL training by @tdene :: PR: #5885
  • Avoid unnecessary MoE router host synchronization by @JF-D :: PR: #6432
  • Refactor GDP dynamic inference onto the shared SSM interface by @santhnm2 :: PR: #6443
  • test(fsdp): mark default overlap check flaky by @wujingyue :: PR: #6493
  • Paged stashing no longer assumes single layer config by @Phlip79 :: PR: #6419
  • Respect profile_ranks on log interval memory snapshots by @maanug-nv :: PR: #6354
  • Add unit tests for GDP inference by @santhnm2 :: PR: #6505
  • feat(fsdp): support expert parallelism in MFSDP v2 adapter by @wujingyue :: PR: #6450
  • [fix] fix GTP+DCP ckpt saving/loading for GDP module by @fanshiqing :: PR: #6503
  • Complete clamped SwiGLU across expert paths by @FDecaYed :: PR: #5940
  • RL: unify rollout generation into one pipeline by @tdene :: PR: #6495
  • Avoid passing -1 sentinels into inference kernels by @tdene :: PR: #6481
  • RL: bound per-env wandb keys to the char limit by @tdene :: PR: #6477
  • Remove torch cuda empty cache by @shurkat-nvidia :: PR: #5678
  • [fix] GTP+DDP potential data-race: publish DDP params before GTP prefetch reads them by @fanshiqing :: PR: #6388
  • Cover symmetric memory in CUDA graph test by @wujingyue :: PR: #5987
  • Fix tool call reasoning boundary by @nvcsathe :: PR: #6411
  • Update release notes page by @Phlip79 :: PR: #6520
  • Update Nemotron 3.5 Lightning golden values by @Phlip79 :: PR: #6445
  • test(fsdp): verify optimizer CUDA graphs in v2 by @wujingyue :: PR: #6498
  • Handle hidden chunked prefill during async overlap by @lmcafee-nvidia :: PR: #6442
  • Thread socket argument through MInf API by @tdene :: PR: #6513
  • fix(ci): prevent queue stalls and stale merge-group runs by @ko3n1g :: PR: #6523
  • Clean up SSM ops directory structure by @santhnm2 :: PR: #6444
  • Add read/write ledger for bulky inference metadata by @tdene :: PR: #6125
  • Streaming tool call deltas support by @nvcsathe :: PR: #6226
  • save tokenizer assets inside torch_dist checkpoint by @dimapihtar :: PR: #6280
  • ci: Do not upload docker oci artifact attestations by @chtruong814 :: PR: #6542
  • fix(ci): AUT-1427 skip Claude labeling for external authors by @svcnemo-autobot :: PR: #6398
  • docs: Add 0.19.0 to version picker by @chtruong814 :: PR: #6536
  • Miscellaneous fixes to the RL loop by @tdene :: PR: #6044
  • Track DBuffer allocation stream by @wujingyue :: PR: #6441
  • Fix hidden checkpoint parameter handling in local CUDA graphs by @JF-D :: PR: #6373
  • Add disaggregated KV state handoff by @wdykas :: PR: #6222
  • [Main] Support device-init grouped linear module too with when not using TE opfuser by @zhongbozhu :: PR: #6000
  • fix(datasets): use len(lengths) for default modes in multimodal add_document by @winklemad :: PR: #5726
  • Fix argument order in multi-chunk MoE upcycling state dict conversion by @mlzoo :: PR: #5442
  • fix: AUT-1501 abort when SSO list download fails by @svcnemo-autobot :: PR: #6516
  • ci: AUT-1408 replace cicd PAT with GitHub App tokens by @svcnemo-autobot :: PR: #6360
  • Fix missing golden values updates by @janEbert :: PR: #6528
  • Support HFSDP deferred DP-outer gradient reduction by @Achyuthan-S :: PR: #5972
  • Fix redundant contiguous() call in save_dist_checkpoint_full by @Chasing1020 :: PR: #5751
  • Cache the FullyParallel save distribution on disk (--ckpt-pg-tensors-cache-path) by @asolergi-nv :: PR: #5553
  • cp: build: bump transformer-engine to 2.17.1 by @svcnemo-autobot :: PR: #6433
  • Autotune RL lag by @tdene :: PR: #4127
  • fix(gtp+mtp): zero the placeholder wgrad when zero_out_wgrad is set by @fanshiqing :: PR: #6565
  • Enable context parallelism for RL training by @tdene :: PR: #5882
  • docs(version-picker): preserve 0.19.0 and add patch releases by @ko3n1g :: PR: #6578
  • test(mfsdp): cover v2 training-step peak memory by @wujingyue :: PR: #6551
  • Complete explicit GTP RNG seeding by @yashaswikarnati :: PR: #6569
  • fix(core): warn on invalid RANK env values by @fallintoplace :: PR: #4993
  • build(container): support non-root CI execution by @ko3n1g :: PR: #6421
  • Add flash-linear-attention GDP kernels by @santhnm2 :: PR: #6538
  • Re-enable group filtering in RL by @tdene :: PR: #5824
  • Instrument Megatron-LM with OpenTelemetry traces and metrics by @deepakn94 :: PR: #6438
  • Release all high-precision init value in CPU host memory by @xrennvidia :: PR: #6507
  • Explicit safe MLA RoPE primitives and consumers by @FDecaYed :: PR: #5944
  • [Split 1/N of #3430] feat(mHC): basic pytorch implementation of manifold hyper connection by @Connor-XY :: PR: #4531
  • ci: Update workflow to include NeMo RL testing by @balasaajay :: PR: #6548
  • Add data-schedule utilities and GPTDatasetConfig fields for sequence packing by @ilml :: PR: #5903
  • Enhance optimizer state loading with runtime overrides by @yhgalaxy :: PR: #3720
  • test(mfsdp): cover v2 training memory by @wujingyue :: PR: #6567
  • fix(ci): avoid JET expansion of HOME in setup scripts by @balasaajay :: PR: #6599
  • RL: isolate placeholder rollouts from GRPO rewards by @tdene :: PR: #6475
  • Enable GTP for heterogeneous MIMO training by @yashaswikarnati :: PR: #6570
  • tests: Update cerno.yml with linear issue status by @balasaajay :: PR: #6304
  • test(mfsdp): separate overlap test by @wujingyue :: PR: #6591
  • GDP perf optimizations by @xrennvidia :: PR: #6553
  • RL: compress per-token staleness metrics by @tdene :: PR: #6376
  • Guard against divide/multiply by 0 in RL task distribution by @tdene :: PR: #4362
  • fix(ci): route scoped tokens through community bot by @ko3n1g :: PR: #6632
  • fix(tests): restrict result extraction to rank zero by @ko3n1g :: PR: #6620
  • test(mfsdp): separate memory tests by @wujingyue :: PR: #6568
  • Support PackedSeqParams CP CG as in #2282 by @tdene :: PR: #6571
  • Use named module logger in dynamic inference engine by @ArEsKay3 :: PR: #6001
  • Correct the split-PR skill's stacking rules for copy-pr-bot CI by @ilml :: PR: #6593
  • [MFSDPv1] Fix gradient sharding / allocation schedule with ZeRO-2, and fix wgrad accumulate fusion for ZeRO-1. by @cspades :: PR: #6357
  • fix(gtp+grad-reduce-in-fp32): emit the wgrad in main_grad's dtype so the reduce-scatter honours FP32 by @fanshiqing :: PR: #6624
  • Honor high-priority streams in MIMO topology by @yashaswikarnati :: PR: #6604
  • ci: Remove scheduled CI workflow by @chtruong814 :: PR: #6640
  • fix(ci): request pull request permission for queue comments by @ko3n1g :: PR: #6641
  • Remove core teams from FSDP owners by @Phlip79 :: PR: #6623
  • Add THD-format per-rank batch fetch with padding mask for sequence packing by @ilml :: PR: #6625
  • Share prefill in sequence packing by @tdene :: PR: #5887
  • Add opt-in MFSDP unified communication stream by @wujingyue :: PR: #6563
  • tests: allow trusted TE pickle extra state in affected tests by @maanug-nv :: PR: #6602
  • Reflect #4440 onto GPT models, not just hybrid by @tdene :: PR: #6476
  • Support no-shard, ZeRO-1, and ZeRO-2 in MFSDP v2 by @Autumn1998 :: PR: #6137
  • Optimize MIMO pipeline communication by @yashaswikarnati :: PR: #6606
  • Add hybrid SSM state handoff by @wdykas :: PR: #6584
  • Checkpoint shared storage when inputs are returned by @CarlosGomes98 :: PR: #4497
  • Remove leading NaN iteration times from golden values by @balasaajay :: PR: #6539
  • Add script-transfer procedure to GPT-to-Hybrid migration skill by @guihong-nv :: PR: #6251
  • Add varlen dataset schema-detection and message-converter helpers by @ilml :: PR: #5908
  • MXfp8 Inference Fixes and clean up by @wdykas :: PR: #6588
  • ci: centralize container builds and add cache population workflow by @balasaajay :: PR: #6646
  • tokenizers simplification by @dimapihtar :: PR: #6622
  • ci: Change copy-pr-bot update schedule to 9 a.m. UTC by @chtruong814 :: PR: #6669
  • Support mixed-precision optimizers in MFSDP v2 by @wujingyue :: PR: #6506
  • ci: AUT-1606 bump release library to v1.8.10 by @svcnemo-autobot :: PR: #6678
  • Add CUDA graph support for GDP dynamic inference by @santhnm2 :: PR: #6595
  • Pass process groups to GDP projections by @yashaswikarnati :: PR: #6687
  • Fix fused MLA and MTP checkpointing for Megatron-FSDP. by @rapatel :: PR: #6271
  • fix: prevent local CUDA graph stream aliasing by @JF-D :: PR: #6643
  • Share MFSDP gradient completion hook by @wujingyue :: PR: #6695
  • Fix LayerWise buffer routing to respect use_muon = False by @kwangjunahn :: PR: #6642
  • remove unused dist_checkpointing code by @dimapihtar :: PR: #6663
  • Add HybridModel MTP loss control by @Phlip79 :: PR: #6119
  • Add VLM support to the dynamic-batching inference server by @RPrenger :: PR: #6260
  • ci: AUT-1616 assign root build files to CI owners by @svcnemo-autobot :: PR: #6710
  • Scope activation offload summaries to model ranks by @yashaswikarnati :: PR: #6652
  • Add DP-balanced sequence-packing scheduler and wrap_data_iterator entry point by @ilml :: PR: #6684
  • Fix Refit Cache for mamba by @wdykas :: PR: #6672
  • Add GDN dynamic inference by @anlthms :: PR: #6499
  • [NCCL EP] Add MXFP8 dispatch support by @YangFei1990 :: PR: #6524
  • ci: isolate tokenizer metadata writes by @chtruong814 :: PR: #6718
  • ci: prioritize baseline cache for merge groups by @chtruong814 :: PR: #6721
  • fix(moe): broadcast padding mask for expert bias counts by @cuichenx :: PR: #6114
  • rl: add durable rollout bank for completed groups by @lauradang :: PR: #6352
  • fix: ensure GTP params are ready before CUDA graph replay by @JF-D :: PR: #6525
  • Reduce eval loss over the GTP-remat-inclusive data-parallel group by @deepakn94 :: PR: #6717
  • GTP+Muon: support 'blockwise' and 'distributed' tp_mode by @deepakn94 :: PR: #6380
  • build: AUT-1615 add torch-memory-saver dev dependency by @svcnemo-autobot :: PR: #6701
  • Apply precision configs to MIMO modalities by @yashaswikarnati :: PR: #6745
  • [FSDP] Reject post-wrap load_state_dict(assign=True) in MFSDP V2 by @chengcuiping :: PR: #6203
  • Preserve pinned host memory for CPU-offloaded FP32 params by @Orange-Lv :: PR: #4547
  • Forward rotary_base and rope_scaling_factor to LLaVAModel in the VLM builders by @adityaghai07 :: PR: #6586
  • Remove MFSDP DTensor availability shim by @wujingyue :: PR: #6752
  • Use DTensor placements for DBuffer by @wujingyue :: PR: #6744
  • Count MoE aux-loss contributors explicitly in hybrid models and repeated-MTP layers by @deepakn94 :: PR: #6748
  • Fix bugs in re-sharding DistributedOptimizer state in torch_dist checkpoint by @deepakn94 :: PR: #5077
  • RL: refill all-placeholder groups by @tdene :: PR: #6480
  • feat(determinism): Make the channel-last conv1d deterministic by @ZhiyuLi-Nvidia :: PR: #6655
  • Move stacked PR merge checks to AGENTS.md by @wujingyue :: PR: #6758
  • add gigatoken support for hf tokenizers by @dimapihtar :: PR: #6514
  • Move MFSDP placements to the API boundary by @wujingyue :: PR: #5971
  • fix: avoid requiring GTP for CUDA graph stream warning by @JF-D :: PR: #6765
  • Keep MIMO gradient normalization on device by @yashaswikarnati :: PR: #6724
  • Add chunked prefill support for GDP dynamic inference by @santhnm2 :: PR: #6711
  • fix: refresh TE fused MLP DDP hooks dynamically by @nvegesna-netizen :: PR: #6132
  • Refresh Nemotron3 Super GB200 golden values. by @Phlip79 :: PR: #6644
  • Add THD support to CP causal convolution by @Mellonta :: PR: #6550
  • Preserve observed golden values during extraction by @Phlip79 :: PR: #6771
  • bump emerging optimizers to v0.3.0 by @FDecaYed :: PR: #5321
  • [GTP] Preserve forward-prefetch dependencies across local CUDA graphs by @JF-D :: PR: #6696
  • fix(gtp+dcp): elect the shard writer from the caller's process group by @fanshiqing :: PR: #6775
  • Use Shard for MFSDP public placements by @wujingyue :: PR: #6751
  • Identity chat template bug fix in sft_tokenizer by @devnkong :: PR: #6682
  • avoid circular dependency usage between mcore and modelopt by @dimapihtar :: PR: #6324
  • [GTP] Symmetric Memory Registration for the GTP/EGTP ReduceScatter path by @prajwal1210 :: PR: #6535
  • ci: use base PR cache as fallback by @chtruong814 :: PR: #6774
  • fix(gtp+muon): strip GTP_remat alignment padding before Muon orthogonalization by @fanshiqing :: PR: #6740
  • Add hidden state mixing to multi-token prediction by @YanivDorGalron :: PR: #6566
  • Batch-invariance generation with vLLM fused-MoE backend at improved performance by @utkarsh530 :: PR: #6521
  • Allow precomputed token positions in MIMO embedding alignment by @yashaswikarnati :: PR: #6728
  • Auto TP mode for per-weight GTP mode selection in Dist Muon (dense only) by @Arcana-2236 :: PR: #6664
  • Add option to skip Muon for MoE routers by @mkhona-nvidia :: PR: #6504
  • Support heterogeneous DDP overlap in multimodal model training by @yashaswikarnati :: PR: #6284
  • ci: grant cache workflow permissions by @chtruong814 :: PR: #6784
  • Route custom process groups through GDP and latent MoE checkpoints by @yashaswikarnati :: PR: #6781
  • Support MIMO GTP checkpoint resume by @yashaswikarnati :: PR: #6743
  • fix(num_zeros logging with gtp padding): exclude GTP alignment padding from num_zeros accounting by @fanshiqing :: PR: #6778
  • Scope layerwise optimizer collectives to be per module for mulitmodal mimo training by @yashaswikarnati :: PR: #6192
  • Fix: Skip JIT warmup when fusion is disabled via arguments by @kisseternity :: PR: #2827
  • fix: initialize dense local CUDA graph state by @nvegesna-netizen :: PR: #6167
  • Support CP layout conversion in hybrid models by @Mellonta :: PR: #6764
  • Fix premature termination of persistent ckpt worker by @shurkat-nvidia :: PR: #6767
  • CP layout integration by @Mellonta :: PR: #6776
  • fix: make local CUDA graph outputs pipeline-safe by @nvegesna-netizen :: PR: #6168
  • Update Q3 Roadmap Links by @Phlip79 :: PR: #6830
  • [Inference] Fix deadlock when initializing ZMQ communication between inference engine ranks. by @cspades :: PR: #6779
  • Add test for layer-wise optimizer bucket params on single DP rank by @Rohithmatham12 :: PR: #5257
  • Batch invariant nvls by @wdykas :: PR: #6806
  • M2n refit backend by @wdykas :: PR: #6712
  • Remove Modelopt loading fn by @AAnoosheh :: PR: #5405
  • ci: Set provenance: false during docker build by @chtruong814 :: PR: #6849
  • ci: bump Cerno commit to f0cf5b7 by @thomasdhc :: PR: #6817
  • Group linked profiler events by @wujingyue :: PR: #6651
  • feat(refit): expose mutable MXFP8 destinations by @wdykas :: PR: #6826
  • skill: Update SKILL to calculate per-model percentage changes by @balasaajay :: PR: #6866
  • (GTP+CP) Give CP higher rank-locality priority than GTP_remat on the dense axis by @fanshiqing :: PR: #6868
  • Disable TE CUDA graph parameter gradient clones by @buptzyb :: PR: #5893
  • Add docstring guidance by @janEbert :: PR: #6884
  • Prevent overwriting matched prefix cache blocks with recomputed KV by @santhnm2 :: PR: #6895
  • Reject request-supplied chat templates in /v1/chat/completions by @shanmugamr1992 :: PR: #6818
  • Add sequence_packing_scheduler config field, CLI arg, and validation by @ilml :: PR: #5902
  • fix(inference): preserve batch invariance for Nemotron Nano by @wdykas :: PR: #6893
  • Rename all mimo args to have mimo-* prefix by @yashaswikarnati :: PR: #6894
  • Add optional norm before the LatentMoE up projection by @deepakn94 :: PR: #6879
  • Gtp refit support by @wdykas :: PR: #6133
  • [Main] Fix Numerical issue for GTP + Muon + MXFP8 param gather + use layerwise optimizer layout by @zhongbozhu :: PR: #6754
  • Add unfused SBHD compressed sparse attention by @FDecaYed :: PR: #6400
  • Add fused mHC support for HybridModel by @FDecaYed :: PR: #6401
  • Inference: Make vLLM expert GEMM buffers persistent for CUDA Graphing by @adistomar :: PR: #6618
  • Mamba: Bug Fix for No Intermediate State Case by @adistomar :: PR: #6598
  • Add mock SFT dataset and varlen dataset family by @ilml :: PR: #6734
  • ci: split long-running unit tests by @balasaajay :: PR: #6896
  • Don't destroy the default process group in the EP test cleanup by @wujingyue :: PR: #6906
  • [Inference] Support video modality in Megatron-Inference. by @cspades :: PR: #6809
  • Mask MIMO MTP prediction paths that cross modality tokens by @kevjshih :: PR: #6770
  • Pass process groups to param norm logging and support multiple modules by @yashaswikarnati :: PR: #6726
  • RL: add per-step rollout bank metrics by @lauradang :: PR: #6769
  • Add inference tests that saturate the KV cache by @shanmugamr1992 :: PR: #6722
  • Add prefix caching support for GDP dynamic inference by @santhnm2 :: PR: #6780
  • Mxfp8 refit bounded memory by @wdykas :: PR: #6878
  • ci: AUT-2161 route external jobs through ephemeral v2 by @svcnemo-autobot :: PR: #6909
  • test(ssm): AUT-2174 mark GDN padding coverage flaky by @svcnemo-autobot :: PR: #6954
  • Deprecate Model-Optimizer Checkpoint Import for Megatron-Bridge [OMNIML-5298] by @jenchen13 :: PR: #6900
  • Inference: Add FlashInfer routed MXFP8 MoE with bounded decode capacity by @mathemakitten :: PR: #6864
  • Enable async scheduling by default for dynamic inference by @lmcafee-nvidia :: PR: #6851
  • Fix Mamba prefix cache clamp for < 2 token chunk edge case by @santhnm2 :: PR: #6930
  • ci: update transformer-engine version to 2.18.0 by @balasaajay :: PR: #6917
  • fix(resharding): initialize NCCL on idle ranks by @wdykas :: PR: #6955
  • Remove obsolete P2P shape synchronization by @gerayking :: PR: #6919
  • Refactor hybrid layers to use per-layer configs by @Phlip79 :: PR: #6313
  • test: update SSM test to set manual seed to handle flaky failures by @balasaajay :: PR: #6961
  • fix(optimizer): support MFSDP v2 gradient clipping across dense and expert meshes by @wujingyue :: PR: #6489
  • test: add GDP hybrid dynamic-inference functional tests (GB200 + H100) by @shanmugamr1992 :: PR: #6526
  • feat(inference): add HYBRID cuda-graph sizing and make it the default by @sidsingh-nvidia :: PR: #6667
  • Support destination CP in non-colocated bridge communicator by @yashaswikarnati :: PR: #5720
  • GDP CP Support by @Mellonta :: PR: #6815
  • feat(fsdp): expose HSDP and HFSDP through the MFSDP v2 adapter by @wujingyue :: PR: #6873
  • Add configurable server evaluation defaults by @nvcsathe :: PR: #6195
  • Add MFSDP v2 expert sharding strategy by @Autumn1998 :: PR: #6798
  • Fix MFSDP v2 meta-device initialization by @Autumn1998 :: PR: #6799
  • Refactor FSDP gradient readiness countdown by @wujingyue :: PR: #6957
  • Pre-Fetch DP-Outer AG post-optimizer step by @Randl :: PR: #5985
  • fix: preserve repeated GTP parameter uses by @JF-D :: PR: #6862
  • Move raw multimodal Tensors to CUDA before inference request checkpoint recomp. by @cspades :: PR: #6976
  • Integrate sequence-packing scheduler into training loop and wire varlen dataset into GPT pretraining by @ilml :: PR: #6742
  • Inference: Scale HTTP frontends with DP size and take tokenization off the event loop by @sidsingh-nvidia :: PR: #6223
  • Don't assert an address across DBuffer storage release and reallocate by @wujingyue :: PR: #6968
  • Exclude cuBLAS workspaces from the MFSDP peak-memory bound by @wujingyue :: PR: #6936
  • (feat) gtp+cpu-init support for dense-layers by @fanshiqing :: PR: #6986
  • docs: update MFSDP public shard placement by @wujingyue :: PR: #6979
  • Guard FlashAttention 4 import by installed distribution by @hershg :: PR: #6964
  • validate data-parallel sharding strategies by @wujingyue :: PR: #6983
  • fix(fsdp): reuse persistent model-weight storage by @wujingyue :: PR: #6962
  • Sync yaml VPP pipeline-parallel-size check with arguments.py by @amanyagami :: PR: #6732
  • Remove obsolete FusedAdam empty parameter workaround by @wujingyue :: PR: #7002
  • Add deterministic training to docs by @Phlip79 :: PR: #7034
  • Abort inference requests when the HTTP client disconnects by @santhnm2 :: PR: #6916
  • fix: synchronize grouped MLP params before norm by @nvegesna-netizen :: PR: #6654
  • Fix dead CHANGELOG badge link in README by @pengfaming :: PR: #6945
  • Reuse persistent main-grad storage by @wujingyue :: PR: #7001
  • [main] fix padding mask docstring by @HaochenYuan :: PR: #5599
  • ci: Fix typo in linear_issue_status value by @balasaajay :: PR: #7032
  • docs: clarify ModelOpt post-training workflows by @jenchen13 :: PR: #7025
  • Add GDP decode prepare kernel by @santhnm2 :: PR: #6997
  • Add current prefix-cache pairwise coverage and fixes by @lmcafee-nvidia :: PR: #7031
  • Support multiple CP layout batch views and fix THD+CP bug in MTP by @Mellonta :: PR: #6912
  • Avoid emitting NaN / Inf logprobs out of inference by @tdene :: PR: #6993
  • Megatron-FSDP: shard expert and non-expert parameters by different strategies by @rapatel :: PR: #6594
  • Fix crash when partitioning BlendedDataset batches across context-parallel ranks by @deepakn94 :: PR: #5531
  • Fix TE activation op mapping to select ReGLU/ReLU for F.relu by @adityaghai07 :: PR: #5999
  • Inference: Fixes for large scale and concurrency by @sidsingh-nvidia :: PR: #6497
  • TanH Sq-relu and SiTU GLU by @abhinav-khattar :: PR: #7003
  • Handle Transformer Engine delayed gradients in MFSDP by @wujingyue :: PR: #6697
  • Fix TP=1 tensor-parallel gather autograd view by @fwerkor :: PR: #6657
  • Add per-module MFSDP prefetch budgets by @wujingyue :: PR: #6905
  • Add HybridModel architecture guidance by @Phlip79 :: PR: #6938
  • Add flag to disable KV cache scale clamp to ModelOpt export [OMNIML-5819] by @jenchen13 :: PR: #7024
  • Restore the batch schema bridge for hybrid CP sub-samples by @ilml :: PR: #6820
  • Add MTP-only training mode by @YanivDorGalron :: PR: #7021
  • Move MTP inference code to separate mixin class by @santhnm2 :: PR: #7056
  • Add a MFSDP v2 port of the deepseek_proxy_fsdp_ep2_fsdp2 functional test by @wujingyue :: PR: #7041
  • build: AUT-2212 move torch-memory-saver to inference extra by @svcnemo-autobot :: PR: #7068
  • perf(refit): reduce MXFP8 conversion overhead by @wdykas :: PR: #6952
  • Add current async scheduling pairwise coverage and fixes by @lmcafee-nvidia :: PR: #7053
  • test: clarify DeepSeek proxy MFSDP v1 names by @wujingyue :: PR: #7073
  • Add support for fused Q Up-Proj GEMM/RoPE/Quant by @chaseblock :: PR: #6213
  • test(refit): cover DSA models and enable M2N CI by @wdykas :: PR: #6998
  • Golden deepseek_proxy_mfsdp_v2_ep2 against its own output; enable determinism by @wujingyue :: PR: #7069
  • ci: Enhance CI env to check functional tests label by @balasaajay :: PR: #7072
  • Validate num_attention_heads is divisible by num_query_groups in TransformerConfig by @huthvincent :: PR: #5756
  • chore(checkpointing): remove dead load_biencoder_checkpoint and _add_biencoder_args by @Anai-Guo :: PR: #6975
  • Fix runtime CP group handling in attention for hybrid CP by @ilml :: PR: #6821
  • fix(test): AUT-2220 preserve golden value precision by @svcnemo-autobot :: PR: #7087
  • fix: restore each rank's own RNG state on checkpoint load by @ZhiyuLi-Nvidia :: PR: #6858
  • Add CuTeDSL GDP chunkwise context parallelism by @Mellonta :: PR: #7038
  • Expose MFSDP v2 custom-schedule lifecycle by @shjwudp :: PR: #6484
  • Fix FSDP mixed-precision reset for fixed buffers by @jeffnvidia :: PR: #6924
  • add raise_on_error argument by @dimapihtar :: PR: #7110
  • Add native DeepSeek-V4 hybrid attention orchestration by @FDecaYed :: PR: #6402
  • fix: AUT-2228 route partial reruns to the current attempt by @svcnemo-autobot :: PR: #7142
  • Use metadata dp_cp_group for the tied-embeddings replica_id by @going-song :: PR: #6888
  • Keep RerunDataIterator wrapping on the hybrid CP data iterator by @ilml :: PR: #6822
  • ci: AUT-2245 set CUDA major for lockfile updates by @svcnemo-autobot :: PR: #7151
  • fix(MoE): Preserve exact expert token counts for expert-bias updates by @JF-D :: PR: #7081
  • ci: AUT-2250 retry transient coverage artifact uploads by @svcnemo-autobot :: PR: #7159
  • Enter both autocast and fp8 contexts in combined 1F1B execution by @huthvincent :: PR: #5761
  • Derive MFSDP v2 checkpoint chunk metadata from the parameter layout by @ahmadki :: PR: #6214
  • Add Slack reminders for re-requested reviews by @Phlip79 :: PR: #7071
  • Propagate rope_scaling_factor from args to GPT model construction by @Alvorecer721 :: PR: #6306
  • ci(pr-review): extract review prompts into a non-activating skill by @ko3n1g :: PR: #7170
  • First pass at comprehensive user guide by @shanmugamr1992 :: PR: #5325
  • Support FP4 in 1F1B A2A overlap by @dingqingy-nv :: PR: #6135
  • RL: prevent unnecessary entry into inference mode by @tdene :: PR: #4125
  • Document signing rewritten commits by @wujingyue :: PR: #7037
  • Test SFTTokenizer token loss masking by @jenchen13 :: PR: #7023
  • Refactor MFSDP parameter group initialization by @wujingyue :: PR: #7175
  • Assert the runtime-CP group contract both ways by @ilml :: PR: #6825
  • Support full-iteration CUDA graphs with MFSDP v2 by @wujingyue :: PR: #7075
  • fix(gtp): correct expert gradient scaling for GTP/EGTP mismatch (non-per-token-loss) by @fanshiqing :: PR: #7165
  • Fix MFSDP v2 precision-aware optimizer gradient clipping by @wujingyue :: PR: #7074
  • fix(ci): AUT-2260 mirror DCO status before merge queue by @svcnemo-autobot :: PR: #7210
  • Re-derive quantized params from FP32 main params on checkpoint load by @Connor-XY :: PR: #6666
  • Fix order local refit copies after source updates by @Sunt-ing :: PR: #6823
  • fix(moe): keep precision-overridden grouped experts off the op-fuser path by @fanshiqing :: PR: #7212
  • Select kernel backends through BackendSpecProvider, not HAVE_* flags by @guihong-nv :: PR: #6766
  • Enable NCCL EP tests by @YangFei1990 :: PR: #7195
  • Fix Transformer Engine API documentation link by @wujingyue :: PR: #7225
  • fix: Do not pass is_first_microbatch to TE when it is not maintained by @ZhiyuLi-Nvidia :: PR: #6965
  • Restore FusedAdam empty-shard workarounds for TE < 2.18 by @wujingyue :: PR: #7216
  • Deduplicate MFSDP context post-backward hooks by @wujingyue :: PR: #7196
  • Raise NotImplementedError from InferenceInterface.base_generate by @YeonwooSung :: PR: #7124
  • chore: Update base image to 26.08 by @balasaajay :: PR: #6991
  • Support independent HSDP instances for expert parameters by @Autumn1998 :: PR: #7012
  • Add attn_logit_softcapping config, plumbed to TE and local attention by @nvegesna-netizen :: PR: #6590
  • Fix QAD checkpoint and dataset loading by @jenchen13 :: PR: #7137
  • Run mFSDP v1 functional tests nightly by @wujingyue :: PR: #7244
  • fix: AUT-2254 support mHC in experimental MoE transformer layers by @svcnemo-autobot :: PR: #7235
  • test(determinism): add kernel replay tests and a PR coverage gate by @Connor-XY :: PR: #7148
  • Allow context parallelism with MFSDP v2 by @wujingyue :: PR: #7220
  • Re-enable prefill CUDA graphs by @santhnm2 :: PR: #7243
  • Mark non-final microbatches for MFSDP v2 hybrid data parallelism by @wujingyue :: PR: #7186
  • test(inference): cover long coordinator replies by @svcnemo-autobot :: PR: #7240
  • Support FP4 tensors in the MoE paged activation stash by @michal2409 :: PR: #7026
  • Add block-atomic DBuffer placement by @wujingyue :: PR: #6978
  • fix(muon): split the fully-gathered QKV tensor before orthogonalizing under GTP by @fanshiqing :: PR: #7117
  • Separate DBuffer layout construction from allocation by @wujingyue :: PR: #7257
  • test: enforce full-precision deterministic functional goldens by @Connor-XY :: PR: #7217
  • fix(resharding): bound NCCL refit P2P groups to avoid kernel-plan spl… by @wdykas :: PR: #7189
  • Fix token count dtype for fused MoE auxiliary loss which requires int64 by @zhongbozhu :: PR: #7183
  • Fix FlashInfer NVLS routing buffer race by @wdykas :: PR: #7263
  • Handle NVRx installs without package version by @tylerpoon :: PR: #7247
  • Add multimodal vision token utilities by @tylerpoon :: PR: #7249
  • Add DeepSeek-V3 NVFP4 training support by @denys-fridman :: PR: #6841
  • Fused GDN attention support by @ksivaman :: PR: #6645
  • ci: Revert recently merged changes as they cause CI unit test failures. by @balasaajay :: PR: #7326
  • Harden dynamic inference request lifecycle handling by @lmcafee-nvidia :: PR: #7256
  • Multimodal: add tokenizer path by @faradawn :: PR: #3466
  • fix(determinism): Separate the MoE aux-loss fusion flag so --deterministic-mode guards only the op that breaks it by @ZhiyuLi-Nvidia :: PR: #6967
  • fix: make GTP weight rematerialization work end-to-end with tied embeddings and inference resharding by @shanmugamr1992 :: PR: #6940
  • [GTP] Symmetric memory registration to use custom VMM allocator by @prajwal1210 :: PR: #6956
  • Add refit codeowners by @wdykas :: PR: #7330
  • ci: Update golden value for hybrid_dynamic_inference_tp1_pp1_dp8_583m_chunked_prefill by @chtruong814 :: PR: #7334
  • Add Style Guide by @Phlip79 :: PR: #7179
  • Fix GTP checkpoint load failing across different GTP degrees by @fanshiqing :: PR: #7293
  • Add implementation for ShortcutMoE by @jiemingz :: PR: #6959
  • Do not modify MLA spec at runtime for down proj fusion by @janEbert :: PR: #7304
  • Fix MFSDP v2 parameter metadata preservation by @Autumn1998 :: PR: #7230
  • Memory and perf fix for Tanh-Sq-Relu and FP32 logits output by @xrennvidia :: PR: #7229
  • add gigatoken support for Multimodal & SFT tokenizers by @dimapihtar :: PR: #7209
  • Fix file link by @janEbert :: PR: #7298
  • Add hybrid layer spec guidelines by @janEbert :: PR: #7314
  • Add fused SBHD compressed sparse attention by @FDecaYed :: PR: #6404
  • Fix inferred MFSDP communication unit cap by @jeffnvidia :: PR: #7134
  • Use five repeats for Lightning nightly test by @Phlip79 :: PR: #7364
  • Consolidate megatron/training code owners by @Phlip79 :: PR: #7366
  • Fix MTP CP-boundary roll to communicate on the context-parallel process group by @liding-nv :: PR: #6746
  • Do not modify GDN2 spec at runtime by @janEbert :: PR: #7311
  • Rename DBuffer.get_local_tensor to get_tensor_view by @wujingyue :: PR: #7261
  • Resolve the GTP remat group through the multi-module collection by @deepakn94 :: PR: #7356
  • Descend nested ChainedOptimizers when walking MIMO optimizer state by @deepakn94 :: PR: #7355
  • ci(dco): gate every pull-request head and leave merge-queue refs alone by @ko3n1g :: PR: #7365
  • Skip param norm for frozen parameters by @yashaswikarnati :: PR: #7369
  • Disable grad norm check for optimizer CG by @vasunvidia :: PR: #5857
  • test: AUT-2318 require only the logging flags a functional test actually validate by @svcnemo-autobot :: PR: #7346
  • Fix GitHub-to-Slack email resolution across recent commits by @Phlip79 :: PR: #7377
  • Weighted Checkpoint Merging & WSM Support by @eric-tramel :: PR: #5114
  • De-duplicate per-rank log output in large training jobs by @deepakn94 :: PR: #7361
  • test: refresh chunked-prefill prompt logprob goldens by @lmcafee-nvidia :: PR: #7397
  • fix(determinism): Pin the Triton autotune cache to one shared directory under --deterministic-mode by @ZhiyuLi-Nvidia :: PR: #6966
  • Default expert sharding strategies to their non-expert counterparts by @wujingyue :: PR: #7277
  • feat(multimodal): AUT-2316 reapply vision token utilities by @svcnemo-autobot :: PR: #7329
  • ci: Drop --deterministic-mode from weekly fp8 tp_comm_overlap test by @asolergi-nv :: PR: #7350
  • Fix ChainedOptimizer step sync when a chained member is itself chained by @deepakn94 :: PR: #7354
  • Megatron-FSDP: Hybrid FSDP over replicated weights, single-rank reduction and bucket padding fixes by @rapatel :: PR: #6773
  • Make MIMO vision encoder attention backend configurable by @yashaswikarnati :: PR: #7362
  • Keep dynamic vision metadata on CPU by @yashaswikarnati :: PR: #7363
  • Pass the process-group collection to MTP's input projections by @deepakn94 :: PR: #7403
  • Callback system by @maanug-nv :: PR: #5610
  • Add HybridModel DeepSeek-V4 layer construction by @FDecaYed :: PR: #6405
  • Exit training at a batch-size transition instead of continuing by @deepakn94 :: PR: #7357
  • Add pre-commit DCO check hook by @janEbert :: PR: #7406
  • ci: Update smoke test rules to skip execution for non-scheduled runs by @balasaajay :: PR: #7187
  • fix(ci): let the DCO gate be republished instead of only refreshed in place by @ko3n1g :: PR: #7408
  • docs: remove broad functional test guidance by @chtruong814 :: PR: #7429
  • Add shard plan/owner-based compute planning API for MFSDP v2 by @janEbert :: PR: #6597
  • Tensor Metrics 1: Add framework for training metrics by @philipcmonk :: PR: #6647
  • ci: Skip full-test PRs when disabled by @chtruong814 :: PR: #7437
  • ci: Use testmon to select unit-tests based on changes in the PR + cache diff by @balasaajay :: PR: #6934
  • fix(logging): reset log accumulators when the first iteration is on a boundary by @ZhiyuLi-Nvidia :: PR: #7092
  • Silence the GroupedGemmWgradBlockScaledAPI logger on non-rank-0 ranks by @deepakn94 :: PR: #7414
  • Fix dataloader checkpoint rank indexing and write ordering by @deepakn94 :: PR: #7413
  • Let single-rank logging cover more than global rank 0 by @deepakn94 :: PR: #7360
  • perf(determinism): stop filling uninitialized memory under --deterministic-mode by @ZhiyuLi-Nvidia :: PR: #7093
  • docs: Remove CI test selection label guidance by @balasaajay :: PR: #7456
  • [inference] Fix slow request serialization for raw Tensors, and expand vision caching scope. by @cspades :: PR: #7352
  • Fix NCCL M2N validation for implicit default process groups by @wdykas :: PR: #7433
  • Move MTP architecture validation into model constructors by @Phlip79 :: PR: #7370
  • Give the EP=1 inference dispatchers the metadata the EP>1 path sets by @sidsingh-nvidia :: PR: #7426
  • Tensor Metrics 2: Expose MCore tensors through observation hooks by @philipcmonk :: PR: #6648
  • Add option to run MIMO input projections on LLM ranks by @yashaswikarnati :: PR: #6843
  • test(moe): add DeepSeek proxy test for optimizer CUDA graph capture by @gautham-kollu :: PR: #7407
  • Pipe TE/inference/CG RNG tracker args to MIMO's set_random_seed by @yashaswikarnati :: PR: #7401
  • MIMO isolation cleanup for ShortCutMoE by @jiemingz :: PR: #7402
  • fix(moe): select the MoE grouped-GEMM path from TE's distributed-weight support by @fanshiqing :: PR: #7318
  • fix(inference): sample via Gumbel-max exponential race in fp32 by @sidsingh-nvidia :: PR: #7182
  • Support selective MXFP8 inference precision by @wdykas :: PR: #7300
  • Fix Muon’s scaling when distributed GTP tensors contain alignment padding by @kwangjunahn :: PR: #7236
  • Create TrainState dataclass by @maanug-nv :: PR: #7447
  • ci: preserve dependency build cache across README changes by @chtruong814 :: PR: #7347
  • Fix one-shot stream causing FSDP memory leaks by @shjwudp :: PR: #6885
  • fix(ci): repair Testmon baseline checkpoint workers by @balasaajay :: PR: #7454
  • Add KV cache for MTP head Attention layer by @santhnm2 :: PR: #7033
  • Add option to skip MIMO bridge shape and backward communication by @yashaswikarnati :: PR: #6792
  • Add VLM loading functionality to gpt_dynamic_inference_with_coordinator.py by @mathemakitten :: PR: #7409
  • test(gtp): probe the bare FP8 copy_ instead of requiring it to raise by @fanshiqing :: PR: #7477
  • Tensor Metrics 3: Add tensor metric definitions by @philipcmonk :: PR: #7471
  • Re-include arguments.py in training review and fix RL tests path in CODEOWNERS by @asolergi-nv :: PR: #7479
  • [Inference] Fall back to prompt_token_ids when compact ids are absent in prefix stitching by @ArEsKay3 :: PR: #7312
  • Support MXFP8 batch invariance for inference and TE grouped training by @wdykas :: PR: #7302
  • Add QuantizedDBuffer for MXFP8 plane storage by @wujingyue :: PR: #7265
  • Add multimodal tokenizer conversation formats by @tylerpoon :: PR: #7248
  • Track finite packed SFT datasets and metrics by @tylerpoon :: PR: #7252
  • Support multimodal metadata and vision context parallelism by @tylerpoon :: PR: #7315
  • chore(deps): AUT-2357 stabilize Transformer Engine 2.19 bump by @svcnemo-autobot :: PR: #7379
  • MInf: Add hooks to preprocess and stage by @tdene :: PR: #7015
  • Stop warn_single_rank from re-arming every other warning by @deepakn94 :: PR: #7451
  • fix(tests): stop the PP-agnostic model from shadowing SwigluFactoryModel by @Anai-Guo :: PR: #7273
  • Two small fixes (re. FP32-output-logit&residuals) from Nemotron by @kwangjunahn :: PR: #7480
  • Support packed multimodal inputs in Super hybrid models by @tylerpoon :: PR: #7253
  • Remove mcore async by @dimapihtar :: PR: #7052
  • Fix multimodal placeholder token generation loophole. by @cspades :: PR: #7491
  • Integrate MFSDP v2 with fine-grained 1F1B scheduling by @shjwudp :: PR: #7112
  • [TE] Preemptively support TE fused CE overwrite_input=True in MCore. by @cspades :: PR: #7309
  • chore(docker): AUT-2322 bump DeepEP hybrid-ep pin to 10d4dd73 by @svcnemo-autobot :: PR: #7358
  • Match vLLM's tool-call parsing in the Qwen3-Coder parser by @sidsingh-nvidia :: PR: #7320
  • wire mimo non-colcoated cp>1 in the training loop by @liding-nv :: PR: #7435
  • Add speculative decoding support for GDP by @santhnm2 :: PR: #7245
  • [main] moe(perf): Pre-GDR kernel fusion by @yuzhongw-nvidia :: PR: #5532
  • refactor(training): construct configuration before runtime initialization by @cuichenx :: PR: #7418
  • Initialize multimodal models from language checkpoints by @tylerpoon :: PR: #7316
  • Refresh H100 T5 local-norm goldens with full precision by @Connor-XY :: PR: #7439
  • ci: Configure Transformer Engine CUDA targets for GitHub builds by @balasaajay :: PR: #7532
  • ci: Configure selective unit testing with a repository variable by @balasaajay :: PR: #7559
  • test(moe): enable GroupedMLP fusion in optimizer graph recipe by @Connor-XY :: PR: #7495
  • fix(MTP's memory): Reuse the GTP wgrad send buffer across a weight's repeated backwards by @fanshiqing :: PR: #7470
  • Add HybridModel hash MoE routing by @FDecaYed :: PR: #6403
  • Enable tanh srelu fused path by @wanyingw :: PR: #7496
  • Integrate MXFP8 weights into MFSDP by @wujingyue :: PR: #7114
  • [Inference] Fix an unsafe fork for frontend replicas and support Nemotron VL vision preprocessing. by @cspades :: PR: #7556
  • Add the Energon multimodal SFT data pipeline by @tylerpoon :: PR: #7254
  • fix(fusions): compose caller mask with sliding-window mask instead of dropping it by @yuweih205 :: PR: #7040
  • Log unit test failures before distributed teardown by @maanug-nv :: PR: #7572
  • Match inference performance comparisons to benchmark metadata by @Connor-XY :: PR: #7438
  • fix(checkpoint): initialize converter process groups by @janbernloehr :: PR: #7027
  • fix(checkpoint): preserve target weight shard args by @janbernloehr :: PR: #7028
  • test: enable optimizer CUDA graphs in hybrid MFSDP v2 test by @wujingyue :: PR: #7446
  • MInf: hand compact prompt ids and media tensors to the payload stager by @lauradang :: PR: #7557
  • test: report absolute and relative golden-value errors by @Connor-XY :: PR: #7321
  • Wire packed metadata and Super models into multimodal SFT by @tylerpoon :: PR: #7255
  • Fix Muon retaining unused CPU weight initializers by @yashaswikarnati :: PR: #7527
  • Enable Pipeline Parallelism Support for M-FSDP v2 by @shjwudp :: PR: #6486
  • ci: bump preflight workflows to v1.11.0 by @ko3n1g :: PR: #7618
  • feat(gtp): collapses output_layer's repeated wgrad reduce-scatters into one per iteration by @fanshiqing :: PR: #7573
  • fix(gtp-ut): fix cross-file state leaks and CI world-size mismatch in unit tests by @fanshiqing :: PR: #7580
  • [0/4] Add residual-connection and streamwise operator primitives by @kwangjunahn :: PR: #7579
  • save run_config.yaml inside checkpoint dir by @dimapihtar :: PR: #7344
  • Rename FSDP Flat placement to RowAtomic by @wujingyue :: PR: #7539
  • test: Exercise rank-specific inputs in MFSDP SGD parity by @wujingyue :: PR: #7566
  • Honor all model-declared EOS tokens and generation_config sampling defaults by @sidsingh-nvidia :: PR: #7191
  • Clarify signed commit guidance for mcore-engineers by @wujingyue :: PR: #7597
  • feat(optimizer): AUT-2316 reapply DeepSeek-V3 NVFP4 training support by @svcnemo-autobot :: PR: #7328
  • Add the option to layer-shard Muon computation among TP x GTP-remat ranks by @wanyingw :: PR: #6683
  • fix: Fix routing map autograd aliasing bug for alltoall dispatcher by @guyueh1 :: PR: #7610
  • build: bump nvidia-resiliency-ext to 0.7.0 by @balasaajay :: PR: #7589
  • [0.5/4] Add streamwise wide-residual connection modules by @kwangjunahn :: PR: #7599
  • fix(mfsdp): reuse generated subclasses across module instances by @wujingyue :: PR: #7612
  • Warm up training kernels before model initialization by @JF-D :: PR: #7635
  • feat: Enable MXFP8 through the MFSDP v2 MCore adapter by @wujingyue :: PR: #7588
  • [1/4] Integrate streamwise wide residuals with HybridStack by @kwangjunahn :: PR: #6716
  • fix(mimo): omit encoder bridges from LLM-only provider by @yashaswikarnati :: PR: #7541
  • [DCP V2 1/4] Define the runtime dynamic-CP group contract by @xiaoyao0115 :: PR: #7045
  • Support MIMO refit through model-declared modules by @wdykas :: PR: #7367
  • test: split SSM fusion tests and skip costly variants by @balasaajay :: PR: #7655
  • fix(tests): synchronize GTP process-group teardown by @balasaajay :: PR: #7656
  • perf(docker): parallelize TE, DeepEP, and nccl_m2n compiles in the CI container (opt-in) by @ko3n1g :: PR: #7661
  • [inference] Fix multimodal prefix-stitching. by @cspades :: PR: #7598
  • ci: use native CPU runners for amd64 and arm64 container builds by @balasaajay :: PR: #7492
  • ci(pr-review): redirect /claude review comments to /review by @ko3n1g :: PR: #7675
  • Fix multimodal dataloader restoration during full-dataset resume by @tylerpoon :: PR: #7639
  • Fix global token-weighted SFT evaluation loss by @xiaoyao0115 :: PR: #7207
  • [inference/multimodal/tp] Fix multi-image/multi-video RadioViT TP race condition. by @cspades :: PR: #7665
  • fix(ci): refresh buffered GRPO timing baselines and correct RL golden linting by @Connor-XY :: PR: #7411
  • Enable Transformer Engine fused cross entropy by @eagle705 :: PR: #7339
  • Fix GDN model builder for MTP in GPT model by @zhongbozhu :: PR: #7626
  • Fix MTP attention layer counting in FLOPs estimates by @zhongbozhu :: PR: #7607
  • refactor(training): make ProfilingConfig authoritative by @cuichenx :: PR: #7568
  • [1.5/4] Support FP32 execution for streamwise wide residuals by @kwangjunahn :: PR: #7600
  • fix(cuda-graphs): skip deprecated CUDAGraph.register_generator_state() on PyTorch >= 2.14; stream CI rank logs by @asolergi-nv :: PR: #7348
  • fix(dist_checkpointing): pass only dtype to torch.empty in load_tensors_metadata by @michal2409 :: PR: #7620
  • Remove tuples as state-dictionary key type from distributed optimizer. Limit key-types to str or int by @ankurv-nvidia :: PR: #7080
  • Add explicit rank segments and per-placement builders to GlobalLayout by @XiaodaNV :: PR: #7670
  • [2/4] Add selective replay for wide-residual streams by @kwangjunahn :: PR: #6805
  • Use default profiler activities throughout MFSDP v2 tests by @wujingyue :: PR: #7726
  • Deduplicate GTP-replicated params with the optimizer's own GTP group by @deepakn94 :: PR: #7359
  • [inference] Remove multimodal media byte limit. by @cspades :: PR: #7702
  • Fix convert-torch-dist-to-fsdp-dtensor for hybrid Gated-DeltaProduct checkpoints by @ahmadki :: PR: #7674
  • build: update Transformer Engine to release 2.20 tip by @balasaajay :: PR: #7683
  • Fix MFSDP v2 CUDA graph test optimizer cleanup by @wujingyue :: PR: #7729
  • Add an RLConfig section to the training config by @tdene :: PR: #7430
  • [3/4] Support wide residual streams with MTP and MIMO by @kwangjunahn :: PR: #6855
  • Serialize callable model-config fields by @tdene :: PR: #7571
  • [4/4] Support wide residual streams with Shortcut MoE by @kwangjunahn :: PR: #7440
  • Support multi-axis views and all-gathers in DBuffer by @wujingyue :: PR: #7633
  • ci: Clean up weekly checkpoints after two weeks by @balasaajay :: PR: #7796
  • ci: Run the full GB200 nightly matrix on GB300 by @balasaajay :: PR: #7536
  • Fix Mamba state progression across cached prefill continuations by @wdykas :: PR: #7714
  • Ensure unit tests can run independently by @tdene :: PR: #7797
  • Add TensorAtomic placement support and uneven collectives to DBuffer by @XiaodaNV :: PR: #7671
  • fix(inference): normalize Qwen3 tool function names by @wdykas :: PR: #7753
  • Fix Mamba snapshot indices for partial prefill chunks by @wdykas :: PR: #7755
  • Enable LLaVAModel to build a hybrid model + small precision fix by @mathemakitten :: PR: #7799
  • Nemotron checkpoint loading and inference-focused fixes by @mathemakitten :: PR: #7752
  • Enable serializing quantization RecipeConfig by @maanug-nv :: PR: #7590
  • Fix RADIO temporal grouping with host-list image sizes by @liding-nv :: PR: #7760
  • [MCore] Enable dense routing maps for Flex dispatch by @harryzhou2000 :: PR: #6615
  • Build TensorAtomic layouts in MFSDP from context owner assignments by @XiaodaNV :: PR: #7672
  • docs: add low-precision training guide (#4997) by @nathon-lee :: PR: #5037
  • fix(inference): return null content when reasoning has no final answer by @wdykas :: PR: #7749
  • Fix fused MLA Q-RoPE in-place load/store races by @Sunt-ing :: PR: #5963
  • Add dual-mode RoPE audio encoder by @desh2608 :: PR: #7066
  • perf(moe): fuse batch-invariant permute and MXFP8 quantization by @CharlesXu-HQ :: PR: #7660
  • Add unit tests for dynamic_text_gen_server by @tdene :: PR: #4112
  • Fix nonowner cleanup of shared checkpoint test directories by @Connor-XY :: PR: #7548
  • Add a CI ratchet for global process-group reads in megatron/core by @Connor-XY :: PR: #6258
  • Fix custom Hybrid test process-group creation order by @Connor-XY :: PR: #7546
  • fix(inference): re-salt unprefilled requests when resuming after refit by @wdykas :: PR: #7891
  • build: update Transformer Engine to the 2.20 branch tip by @balasaajay :: PR: #7894
  • Save quantization RecipeConfig in checkpoint yaml by @maanug-nv :: PR: #7701
  • refactor(training): migrate LoggerConfig by @cuichenx :: PR: #7587
  • fix(cuda-graphs): prime RNG capture states at full-iteration capture start by @malay-nagda :: PR: #7885
  • add more run config related tests by @dimapihtar :: PR: #7887
  • fix join_paths by @dimapihtar :: PR: #7741
  • Flatten the GDP decode output with reshape, not view by @santhnm2 :: PR: #7842
  • Move reusable MIMO encoder wrappers into Megatron-Core by @liding-nv :: PR: #7855
  • Load MIMO-trained VLM checkpoints into LLaVAModel for dynamic inference by @mathemakitten :: PR: #7839
  • mark hybrid_nanov3_3b_perf_gb200_4gpu as flaky by @dimapihtar :: PR: #7916
  • build: install Mixture of Kittens in the ARM64 dev Docker image by @balasaajay :: PR: #7696
  • Widen paged-stash copy/pop kernel launches by @sraman-rgb :: PR: #7897
  • save train state for checkpoints by @dimapihtar :: PR: #7516
  • Replace explicit inference scheduling clamp with safe max_seqlen_q guard by @santhnm2 :: PR: #7905
  • Support scale learning in MCore by @rohansjoshi :: PR: #7802
  • perf(checkpointing): describe prepended-axis shards with the checkpointable path by @LiRunGuo :: PR: #7287
  • fix(inference): bitwise train/generation parity for batch-invariant hybrid MoE models by @YigongQin :: PR: #7562
  • Offset the per-head bounds mask by the head block in fused MLA RoPE by @huthvincent :: PR: #6890
  • ci: Always run mapped unit tests for changed source dirs under Testmon by @balasaajay :: PR: #7824
  • [inference] Add include_stop_str_in_output support in (chat_)completions. by @cspades :: PR: #7933
  • fix(gtp): fence wgrad scratch reuse across streams by @JF-D :: PR: #7927
  • Detect lazy CUDA graph generator registration at runtime by @ksivaman :: PR: #7800
  • refactor(training): migrate RNGConfig by @cuichenx :: PR: #7591
  • [DCP V2 2/4] Make MoE losses runtime dynamic-CP aware by @xiaoyao0115 :: PR: #7046
  • Strip every generation EOS from detokenized output by @santhnm2 :: PR: #7938
  • Avoid repeated dataclass creation in MFSDP layout validation by @wujingyue :: PR: #7853
  • SHARP barrier uses the replicate DP-CP group by @michal2409 :: PR: #7547
  • Declare the residual on the pre-MLP norm of the fused MLA spec by @sraman-rgb :: PR: #7942
  • fix(moe): remove redundant deterministic unpermute allocation by @liuyun7345 :: PR: #7096
  • build(deps): AUT-2495 upgrade frozen uv lockfile by @svcnemo-autobot :: PR: #7936
  • skip moe_act recompute path when grad is disabled by @raghulasokan :: PR: #7030
  • Separate VLM inference server out of core by @mathemakitten :: PR: #7949
  • Clean up docs navigation by @Phlip79 :: PR: #7956
  • Fix agent skills by @janEbert :: PR: #7982
  • fix: clear stale gradients in HybridDeviceOptimizer by @Sunt-ing :: PR: #6871
  • fix: Synchronize delayed weight gradients in MFSDP v2 by @wujingyue :: PR: #7854
  • Relax TE Op Fuser Env Var Assert NVTE_CUTEDSL_FUSED_GROUPED_MLP by @zhongbozhu :: PR: #7499
  • ci: paginate test queue workflow runs by @balasaajay :: PR: #7959
  • fix(moe): disable HybridEP custom allgather to avoid silent routing corruption by @ZhiyuLi-Nvidia :: PR: #7771
  • fix: prevent fused softmax from ignoring sliding-window attention by @DhineshPonnarasan :: PR: #7850
  • Fix 32-bit input offsets in batch-invariant weighted SwiGLU by @arcusbuilds :: PR: #7651
  • fix: refresh relocated parameters after all-gather by @anlthms :: PR: #7448
  • MFSDP v2 owner planning: reword from "plan" to "layout" by @janEbert :: PR: #7977
  • Copy MLA's down-projection slices with a vectorized kernel by @sraman-rgb :: PR: #7957
  • Read RL configs from the RL config container by @tdene :: PR: #7821
  • Add packed THD context parallelism for DSv4 by @FDecaYed :: PR: #7469
  • build: remove Nsight Systems EFA metrics plugin from dev image by @balasaajay :: PR: #7953
  • ci: Fail linting on training imports from Megatron Core by @balasaajay :: PR: #7903
  • Use generic get_language_model function to extract LM from multimodal models by @santhnm2 :: PR: #7940
  • Make the global process-group usage check report-only by @Connor-XY :: PR: #7986
  • Add DeepEP v2 flex dispatcher backend by @Autumn1998 :: PR: #5153
  • Accept iterable inputs in GlobalLayout constructor by @wujingyue :: PR: #7993
  • refactor: Centralize MFSDP context construction by @wujingyue :: PR: #7895
  • Expose rank and tensor ranges in GlobalLayout by @wujingyue :: PR: #7963
  • Fix vocab-parallel MTP loss for TP>1 by @tdene :: PR: #7682
  • Bump nvidia-modelopt minimum to 0.47 by @chadvoegele :: PR: #7628
  • fix(mtp): preserve padding masks and handle empty auxiliary loss by @cuichenx :: PR: #7611
  • Require dist optimizer with --fp4-param-gather by @tdene :: PR: #8009
  • refactor(inference): separate runtime setup from training state by @cuichenx :: PR: #7792
  • fix(gtp): clear dummy gradients before DDP readiness by @JF-D :: PR: #7467
  • test(mfsdp): separate parameter, optimizer, and context tests by @wujingyue :: PR: #6633
  • build: update development PyTorch image to 26.09 by @balasaajay :: PR: #7725
  • Re-add fused GDN TransformerEngine integration by @ksivaman :: PR: #7583
  • Resolve the checkpoint iteration on every rank in the MIMO load check by @santhnm2 :: PR: #7941
  • Make Triton autotune configuration selection deterministic by @Connor-XY :: PR: #6076
  • [Parallel to mistral #652] Fuse standalone GDP and MoE kernels. by @jupiterepoch :: PR: #7841
  • Extract MFSDP context and centralize module metadata by @wujingyue :: PR: #6369
  • Fuse the shared-expert and residual adds after the MoE combine by @sraman-rgb :: PR: #7943
  • Support DCP checkpointing for the Megatron-FSDP v2 optimizer by @ahmadki :: PR: #6215
  • Add DSA indexer weights projection precision controls by @buptzyb :: PR: #6842
  • test: Mark GDN2 and MoE overlap cases flaky in dev by @balasaajay :: PR: #8120
  • ci: Narrow Testmon cache compatibility inputs by @balasaajay :: PR: #8001
  • feat(inference): support request-local sampling seeds by @wdykas :: PR: #7828
  • build: update Transformer Engine to release_v2.20.2-nemo tip by @balasaajay :: PR: #8036
  • ci: Route H100 CI across AWS and Singapore GCP runners by @chtruong814 :: PR: #8102
  • fix(inference): enforce request token stops and preserve finish reasons by @wdykas :: PR: #7747
  • Add megatron/core/ops with its contributor guide and shared helpers (1/4) by @guihong-nv :: PR: #7380
  • RL: Compute logprobs from vocab-parallel logits by @tdene :: PR: #7431
  • Run the EP dummy MTP forwards through the inference context by @santhnm2 :: PR: #8040
  • Reuse GlobalLayout in owner planning by @wujingyue :: PR: #7966
  • Serve VLM checkpoints saved without training args from CLI args by @santhnm2 :: PR: #8041
  • Add mHC pipeline and virtual-pipeline support by @jingqiny-99 :: PR: #7336
  • Add owner-compute P2P gather/scatter by @janEbert :: PR: #7432
  • test: refresh NanoV3 GB200 batch128 performance baseline by @guihong-nv :: PR: #8173
  • Add configurable batch and sequence partitioning within GTP_remat by @Mellonta :: PR: #7748
  • Skip unit tests that need more ranks than the launch provides by @santhnm2 :: PR: #8171
  • Remove nemotron3_super_release_g200 golden data by @Phlip79 :: PR: #8174
  • cp: build: install cuBLAS 13.8.1 in the dev CI image (7685) into core_r0.20.0 by @ko3n1g :: PR: #8208
  • cp: build: install cudnn-frontend from feat/1.29.0-megatron in CI dev image (8176) into core_r0.20.0 by @ko3n1g :: PR: #8256
  • cp: Fix aux-loss token-count tensor creation under CUDA graph capture (8217) into core_r0.20.0 by @ko3n1g :: PR: #8291
  • build: update AnyIO to address CVE-2026-63374 by @balasaajay :: PR: #8228
  • cp: Run nemotron Lightning functional tests in deterministic mode (8201) into core_r0.20.0 by @ZhiyuLi-Nvidia :: PR: #8350
  • cp: Fix Torch GDN recurrent state allocation during CUDA graph capture (8322) into core_r0.20.0 by @ko3n1g :: PR: #8349
  • cp: refactor(checkpoint): re-architect CheckpointWithoutOutput internals (8334) into core_r0.20.0 by @ko3n1g :: PR: #8364
  • build: update Pillow to 13.0.0 on core_r0.20.0 by @balasaajay :: PR: #8386
  • build: require patched virtualenv on core_r0.20.0 by @balasaajay :: PR: #8456
  • build: fix filelock CVE-2026-112940 on core_r0.20.0 by @balasaajay :: PR: #8481
  • docs: set Megatron Core 0.20.0 release documentation by @balasaajay :: PR: #8577
  • fix(ci): AUT-1080 retry live NCCL watchdog timeouts (#6054) by @svcnemo-autobot
  • Prevent coordinator crash if an engine disconnects (#6025) by @tdene
  • Make nightly sync checks advisory (#5713) by @Phlip79
  • RL: fix logging issues from failed rollouts (#6061) by @tdene
  • test(optimizer): MCORE-560 cover MoE gradient zero counts (#6050) by @svcnemo-autobot
  • Make BertModel lm_head optional. (#5690) by @bbuschkaemper
  • ci: AUT-1141 skip MBridge dispatch for docs-only changes (#6116) by @svcnemo-autobot
  • chore(ci): AUT-1135 pin GitHub Actions to commit SHAs (#6100) by @svcnemo-autobot
  • Fix gradient counting for muon+expert biases (#6099) by @philipcmonk
  • chore(deps): AUT-1080 pin merged NeMo Run cancellation fix (#6110) by @svcnemo-autobot
  • chore: AUT-1142 bump package versions (#6120) by @svcnemo-autobot
  • test(inference): mark prefix caching CUDA graph test flaky (#6131) by @ko3n1g
  • test(inference): MCORE-561 trust FP8 metadata in DeepSeek checkpoints (#6049) by @svcnemo-autobot
  • ci: fix test notifications for weekly/release tests (#6055) by @balasaajay
  • Allow the MInf sync API to run serve() (#6123) by @tdene
  • Add disaggregated KV transfer backends (#5861) by @nvcsathe
  • Reorganize a few docs (#6109) by @Phlip79
  • Perf: skip per-param copy_ dispatch in the MXFP8 param copy-back (#6094) by @fanshiqing
  • test: add async scheduling inference coverage (#6104) by @lmcafee-nvidia
  • test(ci): AUT-1173 set functional tests to ft_launcher (#6128) by @svcnemo-autobot
  • Fix --freeze-all-layers for new model builder path + unit tests (#5926) by @AAnoosheh
  • Fix inference overflow into dummy blocks (#5950) by @tdene
  • fix(tests): prefer staged release assets (#6149) by @ko3n1g
  • Fix Megatron FSDP optimizer under-update (#5976) by @wujingyue
  • Rebind MFSDP v2 sharded grads once per gradient reduction (#6041) by @wujingyue
  • Fix MLA dynamic inference decode flag (#4902) by @cuichenx
  • Normalize MFSDP data-parallel axes at fully_shard (#6067) by @wujingyue
  • Add Agent Compose package and runtime interface skeleton (#5937) by @ISEEKYAN
  • Fix GTP full-iteration CUDA-graph capture regression (#6077) by @prajwal1210
  • Harden dynamic prefix cache allocation - mamba mostly (#6091) by @wdykas
  • ci(cache): AUT-1188 harden container cache selection (#6160) by @svcnemo-autobot
  • ci(nvskills): AUT-1188 fix reusable workflow startup failure (#6162) by @svcnemo-autobot
  • Add MFSDP runtime schedule design (#6031) by @wujingyue
  • Feature/enable inference optimized qwen moe (#5700) by @utkarsh530
  • Bs invar moe (#4871) by @wdykas
  • chore: update pytest version to 9.1.1 in pyproject.toml and uv.lock (#6170) by @balasaajay
  • Fix LRU block accounting for resumed requests (#5995) by @lmcafee-nvidia
  • [Main] update moe single weight unit test (#6035) by @zhongbozhu
  • fix ckpt conversion issue (#6151) by @dimapihtar
  • Add determinism developer documentation (#5718) by @Connor-XY
  • Add MFSDP v2 MCore integration with FullyShardedOptimizer (#5865) by @wujingyue
  • Add streaming replies for dynamic engine (#5727) by @nvcsathe
  • deps: Update urllib3 to version 2.7.0 (#6182) by @balasaajay
  • deps: Update black dependency to version 26.3.0 (#6180) by @balasaajay
  • Add meta-parameter support (#5369) by @wujingyue
  • Fix tied parameters (#6164) by @wujingyue
  • chore(ci): AUT-1231 bump preflight workflow template (#6198) by @svcnemo-autobot
  • Clarify single communication stream benefits (#6177) by @wujingyue
  • Bump black version in pre-commit config to match pyproject.toml (#6201) by @xuantengh
  • set weights_only=True (#6150) by @dimapihtar
  • [fix] Give same-key GTP chain neighbours distinct gather buffers (#6207) by @fanshiqing
  • Fix gradient reduction issue when EP=1, EP=TP, and EGTP != GTP (#6080) by @philipcmonk
  • Apply black 26.3.0 formatting to four files it now reformats (#6210) by @deepakn94
  • Add context-parallel causal conv1d support (#5917) by @Mellonta
  • Refactor TE fused ops integration into mixin (#4630) by @CarlosGomes98
  • [feat] Add reduce-scatter-with-fp32-accumulation support for GTP (#6200) by @fanshiqing
  • chore(ci): AUT-1298 bump community workflow to v1.8.7 (#6219) by @svcnemo-autobot
  • fix: pretrain_hybrid.py --help (#6211) by @paulwambergue
  • refactor(ci): migrate triage consumer to Cerno (#6250) by @thomasdhc
  • Validate NIXL CUDA transports and share transfer agents (#6221) by @wdykas
  • Add prefix-cache lifecycle hooks (#5860) by @nvcsathe
  • Make Bridge Communicator aware of GTP (#6263) by @yashaswikarnati
  • Fix GTP reduce-scatter overlap across local CUDA graphs (#6060) by @JF-D
  • revert(dist_checkpointing): AUT-1325 remove streaming checkpoint dequantization (#6275) by @svcnemo-autobot
  • avoid circular dependency usage between mcore and modelopt- #5644 (#6247) by @dimapihtar
  • Update DEEPEP_COMMIT in Dockerfile.ci.dev to commit de0dd1… (#6261) by @balasaajay
  • [GTP] Cleanup usage of pg_collection in gtp (#6234) by @fanshiqing
  • revert: revert community-bot bump to v1.8.7 (5adbee2) (#6288) by @kajalj22
  • [Copy to main] Update Nemotron 3 Super GB200 release config (#6282) by @svcnvidia-nemo-ci
  • Revert "Add Agent Compose package and runtime interface skeleton" (#6292) by @Phlip79
  • Release MFSDP storage after model deletion (#6230) by @wujingyue
  • Document MFSDP optimizer design (#6186) by @wujingyue
  • Handle checkpoint and text-only batches in MIMO encoder prefetch (#6039) by @yashaswikarnati
  • Revert "avoid circular dependency usage between mcore and modelopt- #5644" (#6302) by @Phlip79
  • Fix multimodal MTP loss masking for modality tokens (#6010) by @kevjshih
  • Replace lazy MFSDP context initialization with an explicit scope (#6190) by @wujingyue
  • chore(ci): bump community workflow to v1.8.8 (#6322) by @ko3n1g
  • fix(moe): free activations immediately in full recompute mode (#5197) by @liuyun7345
  • Allocate main_grad on the reduce-scatter stream (#6187) by @wujingyue
  • Encapsulate symmetric-memory AVG in DBuffer (#6169) by @wujingyue
  • fix(ci): remove community workflow PAT (#6350) by @ko3n1g
  • Add multimodal argument and config plumbing (#6332) by @matthieule
  • Fix FSDP activation recompute prefetch (#6153) by @shjwudp
  • Add Nemotron 3.5 Lightning GB200 nightly test (#6312) by @Phlip79
  • Exit non-zero when --exit-on-missing-checkpoint triggers (#6321) by @shanmugamr1992
  • Divide expert gradients by the expert-parallel size (#5956) by @wujingyue
  • [feat] GTP+MTP (#6242) by @fanshiqing
  • fix(mtp): scatter the MTP embedding when the model's embedding does not (#6256) by @DanialTaheri
  • Apply the layerwise param layout on the ModelBuilder DDP path (#6286) by @deepakn94
  • test: AUT-1363 prevent recipe fetch-token exposure (#6364) by @svcnemo-autobot
  • fix(ci): AUT-1396 use one global external queue worker (#6366) by @svcnemo-autobot
  • Add generic interface for SSM inference (#5382) by @santhnm2
  • Add PyTorch DCP checkpoint save/load for MFSDP v2 (#6024) by @ahmadki
  • Skip save-side sharding validation via --no-ckpt-load-validate-sharding-integrity (#5554) by @asolergi-nv
  • chore(beep boop 🤖): Bump (main) (2026-08-10) by @github-actions[bot]
  • feat(gtp): opt-in GTP_remat sharding support for 'moe-latent-proj' (#6383) by @fanshiqing
  • Support RL eval-only runs (#6043) by @tdene
  • fix(ci): redact sensitive environment values from test output (#6406) by @ko3n1g
  • Add --muon-use-syrk option for Triton SYRK kernel in Newton-Schulz (#6381) by @deepakn94
  • Add 1-node GB200 functional test for checkpoint load with load_optim=False (#6347) by @asolergi-nv
  • Selective-FP32 runtime and native-FP32 optimizer checkpoint lifecycle (#5929) by @FDecaYed
  • Add --ckpt-drop-redundant-extra-state to skip persisting redundant TE _extra_state (#5552) by @asolergi-nv
  • Bump FLA to 0.5.1 and integrate GDN2 kernels (#5765) by @xuantengh
  • Update docstring for moe_router_topk_scaling_factor (#2178) by @JavaZeroo
  • Add construction-scoped MFSDP v2 fully shard options (#6127) by @wujingyue
  • Support explicit Hugging Face finetune data files in finetune.sh (#6413) by @jenchen13
  • Add megatron.core.telemetry base layer and observability guide (#6415) by @deepakn94
  • [NCCL EP] Support eager mode and overflow handling (#6229) by @YangFei1990
  • Gate expensive work behind log levels (#5805) by @shurkat-nvidia
  • Fixes for SP + MTP all-gathers (#5748) by @santhnm2
  • TE Layernorm dtype guard with fp32 residuals (#6272) by @mkhona-nvidia
  • Treat LayerWise bucket_size as a soft minimum and fill would-be padding with real parameters (#5415) by @deepakn94
  • Gated Delta Product (GDP) implementation (#6074) by @devnkong
  • fix(mfsdp): refresh V2 compute weights after optimizer step (#6336) by @wujingyue
  • [core] Clarify GPT output_processor callback contract (#5739) by @chengcuiping
  • Validate MFSDP module phase transitions (#6359) by @wujingyue
  • Refine MFSDP v2 configuration validation (#6333) by @wujingyue
  • Add hybrid layer config definitions (#6410) by @Phlip79
  • Propagate RL runtime config updates to module configs (#6423) by @Phlip79
  • [fix] GTP+recompute: keep adjacent GTP recompute weights off the same gather buffer (#6407) by @fanshiqing
  • Add MFSDP v2 design document (#6431) by @wujingyue
  • Make core-nemo fallback owner for top-level files (#6358) by @Phlip79
  • ci(auth): treat svcnemo-autobot as internal (#6436) by @ko3n1g
  • Add mixed-precision (FP32) LM output logits (#6252) by @mkhona-nvidia
  • Eliminate the ShardedObject all_gather_object on the FullyParallel load path (#5551) by @asolergi-nv
  • GTP + PartialCG: Classify latent projections for partial CUDA graphs (#6446) by @JF-D
  • Balance LayerWise optimizer shards by Newton-Schulz cost, not parameter size (#6379) by @deepakn94
  • Suppress noisy external-library log lines on non-rank-0 processes (#5590) by @deepakn94
  • feat(ci): enhance triage script to assign on-call assignee dynamically (#6469) by @balasaajay
  • Skip attention mask materialization in RL training (#5885) by @tdene
  • Avoid unnecessary MoE router host synchronization (#6432) by @JF-D
  • Refactor GDP dynamic inference onto the shared SSM interface (#6443) by @santhnm2
  • test(fsdp): mark default overlap check flaky (#6493) by @wujingyue
  • Paged stashing no longer assumes single layer config (#6419) by @Phlip79
  • Respect profile_ranks on log interval memory snapshots (#6354) by @maanug-nv
  • Add unit tests for GDP inference (#6505) by @santhnm2
  • [fix] fix GTP+DCP ckpt saving/loading for GDP module (#6503) by @fanshiqing
  • feat(fsdp): support expert parallelism in MFSDP v2 adapter (#6450) by @wujingyue
  • Complete clamped SwiGLU across expert paths (#5940) by @FDecaYed
  • RL: unify rollout generation into one pipeline (#6495) by @tdene
  • Avoid passing -1 sentinels into inference kernels (#6481) by @tdene
  • RL: bound per-env wandb keys to the char limit (#6477) by @tdene
  • Remove torch cuda empty cache (#5678) by @shurkat-nvidia
  • [fix] GTP+DDP potential data-race: publish DDP params before GTP prefetch reads them (#6388) by @fanshiqing
  • Cover symmetric memory in CUDA graph test (#5987) by @wujingyue
  • Fix tool call reasoning boundary (#6411) by @nvcsathe
  • test(fsdp): verify optimizer CUDA graphs in v2 (#6498) by @wujingyue
  • Update Nemotron 3.5 Lightning golden values (#6445) by @Phlip79
  • Handle hidden chunked prefill during async overlap (#6442) by @lmcafee-nvidia
  • Thread socket argument through MInf API (#6513) by @tdene
  • Update release notes page (#6520) by @Phlip79
  • Clean up SSM ops directory structure (#6444) by @santhnm2
  • Add read/write ledger for bulky inference metadata (#6125) by @tdene
  • fix(ci): prevent queue stalls and stale merge-group runs (#6523) by @ko3n1g
  • Streaming tool call deltas support (#6226) by @nvcsathe
  • save tokenizer assets inside torch_dist checkpoint (#6280) by @dimapihtar
  • fix(ci): AUT-1427 skip Claude labeling for external authors (#6398) by @svcnemo-autobot
  • docs: Add 0.19.0 to version picker (#6536) by @chtruong814
  • Miscellaneous fixes to the RL loop (#6044) by @tdene
  • Add disaggregated KV state handoff (#6222) by @wdykas
  • ci: Do not upload docker oci artifact attestations (#6542) by @chtruong814
  • Fix hidden checkpoint parameter handling in local CUDA graphs (#6373) by @JF-D
  • Track DBuffer allocation stream (#6441) by @wujingyue
  • [Main] Support device-init grouped linear module too with when not using TE opfuser (#6000) by @zhongbozhu
  • fix(datasets): use len(lengths) for default modes in multimodal add_document (#5726) by @winklemad
  • Fix argument order in multi-chunk MoE upcycling state dict conversion (#5442) by @mlzoo
  • ci: AUT-1408 replace cicd PAT with GitHub App tokens (#6360) by @svcnemo-autobot
  • fix: AUT-1501 abort when SSO list download fails (#6516) by @svcnemo-autobot
  • Fix missing golden values updates (#6528) by @janEbert
  • Support HFSDP deferred DP-outer gradient reduction (#5972) by @Achyuthan-S
  • Fix redundant contiguous() call in save_dist_checkpoint_full (#5751) by @Chasing1020
  • Cache the FullyParallel save distribution on disk (--ckpt-pg-tensors-cache-path) (#5553) by @asolergi-nv
  • cp: build: bump transformer-engine to 2.17.1 (#6433) by @svcnemo-autobot
  • Autotune RL lag (#4127) by @tdene
  • fix(gtp+mtp): zero the placeholder wgrad when zero_out_wgrad is set (#6565) by @fanshiqing
  • Enable context parallelism for RL training (#5882) by @tdene
  • test(mfsdp): cover v2 training-step peak memory (#6551) by @wujingyue
  • docs(version-picker): preserve 0.19.0 and add patch releases (#6578) by @ko3n1g
  • Complete explicit GTP RNG seeding (#6569) by @yashaswikarnati
  • fix(core): warn on invalid RANK env values (#4993) by @fallintoplace
  • build(container): support non-root CI execution (#6421) by @ko3n1g
  • Add flash-linear-attention GDP kernels (#6538) by @santhnm2
  • Re-enable group filtering in RL (#5824) by @tdene
  • Instrument Megatron-LM with OpenTelemetry traces and metrics (#6438) by @deepakn94
  • Release all high-precision init value in CPU host memory (#6507) by @xrennvidia
  • Explicit safe MLA RoPE primitives and consumers (#5944) by @FDecaYed
  • [Split 1/N of #3430] feat(mHC): basic pytorch implementation of manifold hyper connection (#4531) by @Connor-XY
  • ci: Update workflow to include NeMo RL testing (#6548) by @balasaajay
  • Add data-schedule utilities and GPTDatasetConfig fields for sequence packing (#5903) by @ilml
  • Enhance optimizer state loading with runtime overrides (#3720) by @yhgalaxy
  • test(mfsdp): cover v2 training memory (#6567) by @wujingyue
  • fix(ci): avoid JET expansion of HOME in setup scripts (#6599) by @balasaajay
  • RL: isolate placeholder rollouts from GRPO rewards (#6475) by @tdene
  • tests: Update cerno.yml with linear issue status (#6304) by @balasaajay
  • Enable GTP for heterogeneous MIMO training (#6570) by @yashaswikarnati
  • test(mfsdp): separate overlap test (#6591) by @wujingyue
  • GDP perf optimizations (#6553) by @xrennvidia
  • RL: compress per-token staleness metrics (#6376) by @tdene
  • Guard against divide/multiply by 0 in RL task distribution (#4362) by @tdene
  • test(mfsdp): separate memory tests (#6568) by @wujingyue
  • Support PackedSeqParams CP CG as in #2282 (#6571) by @tdene
  • Use named module logger in dynamic inference engine (#6001) by @ArEsKay3
  • fix(ci): route scoped tokens through community bot (#6632) by @ko3n1g
  • Correct the split-PR skill's stacking rules for copy-pr-bot CI (#6593) by @ilml
  • fix(tests): restrict result extraction to rank zero (#6620) by @ko3n1g
  • [MFSDPv1] Fix gradient sharding / allocation schedule with ZeRO-2, and fix wgrad accumulate fusion for ZeRO-1. (#6357) by @cspades
  • fix(gtp+grad-reduce-in-fp32): emit the wgrad in main_grad's dtype so the reduce-scatter honours FP32 (#6624) by @fanshiqing
  • Honor high-priority streams in MIMO topology (#6604) by @yashaswikarnati
  • Add THD-format per-rank batch fetch with padding mask for sequence packing (#6625) by @ilml
  • Share prefill in sequence packing (#5887) by @tdene
  • Add opt-in MFSDP unified communication stream (#6563) by @wujingyue
  • tests: allow trusted TE pickle extra state in affected tests (#6602) by @maanug-nv
  • Reflect #4440 onto GPT models, not just hybrid (#6476) by @tdene
  • ci: Remove scheduled CI workflow (#6640) by @chtruong814
  • fix(ci): request pull request permission for queue comments (#6641) by @ko3n1g
  • Remove core teams from FSDP owners (#6623) by @Phlip79
  • Support no-shard, ZeRO-1, and ZeRO-2 in MFSDP v2 (#6137) by @Autumn1998
  • Optimize MIMO pipeline communication (#6606) by @yashaswikarnati
  • Add hybrid SSM state handoff (#6584) by @wdykas
  • Checkpoint shared storage when inputs are returned (#4497) by @CarlosGomes98
  • Add script-transfer procedure to GPT-to-Hybrid migration skill (#6251) by @guihong-nv
  • Remove leading NaN iteration times from golden values (#6539) by @balasaajay
  • Add varlen dataset schema-detection and message-converter helpers (#5908) by @ilml
  • MXfp8 Inference Fixes and clean up (#6588) by @wdykas
  • ci: centralize container builds and add cache population workflow (#6646) by @balasaajay
  • tokenizers simplification (#6622) by @dimapihtar
  • ci: Change copy-pr-bot update schedule to 9 a.m. UTC (#6669) by @chtruong814
  • Support mixed-precision optimizers in MFSDP v2 (#6506) by @wujingyue
  • ci: AUT-1606 bump release library to v1.8.10 (#6678) by @svcnemo-autobot
  • Add CUDA graph support for GDP dynamic inference (#6595) by @santhnm2
  • Pass process groups to GDP projections (#6687) by @yashaswikarnati
  • Fix fused MLA and MTP checkpointing for Megatron-FSDP. (#6271) by @rapatel
  • fix: prevent local CUDA graph stream aliasing (#6643) by @JF-D
  • Share MFSDP gradient completion hook (#6695) by @wujingyue
  • Fix LayerWise buffer routing to respect use_muon = False (#6642) by @kwangjunahn
  • remove unused dist_checkpointing code (#6663) by @dimapihtar
  • Add HybridModel MTP loss control (#6119) by @Phlip79
  • Add VLM support to the dynamic-batching inference server (#6260) by @RPrenger
  • ci: AUT-1616 assign root build files to CI owners (#6710) by @svcnemo-autobot
  • Scope activation offload summaries to model ranks (#6652) by @yashaswikarnati
  • Add DP-balanced sequence-packing scheduler and wrap_data_iterator entry point (#6684) by @ilml
  • Fix Refit Cache for mamba (#6672) by @wdykas
  • Add GDN dynamic inference (#6499) by @anlthms
  • [NCCL EP] Add MXFP8 dispatch support (#6524) by @YangFei1990
  • fix(moe): broadcast padding mask for expert bias counts (#6114) by @cuichenx
  • rl: add durable rollout bank for completed groups (#6352) by @lauradang
  • fix: ensure GTP params are ready before CUDA graph replay (#6525) by @JF-D
  • Reduce eval loss over the GTP-remat-inclusive data-parallel group (#6717) by @deepakn94
  • build: AUT-1615 add torch-memory-saver dev dependency (#6701) by @svcnemo-autobot
  • GTP+Muon: support 'blockwise' and 'distributed' tp_mode (#6380) by @deepakn94
  • ci: isolate tokenizer metadata writes (#6718) by @chtruong814
  • ci: prioritize baseline cache for merge groups (#6721) by @chtruong814
  • Apply precision configs to MIMO modalities (#6745) by @yashaswikarnati
  • [FSDP] Reject post-wrap load_state_dict(assign=True) in MFSDP V2 (#6203) by @chengcuiping
  • Preserve pinned host memory for CPU-offloaded FP32 params (#4547) by @Orange-Lv
  • Forward rotary_base and rope_scaling_factor to LLaVAModel in the VLM builders (#6586) by @adityaghai07
  • Remove MFSDP DTensor availability shim (#6752) by @wujingyue
  • Use DTensor placements for DBuffer (#6744) by @wujingyue
  • Count MoE aux-loss contributors explicitly in hybrid models and repeated-MTP layers (#6748) by @deepakn94
  • Fix bugs in re-sharding DistributedOptimizer state in torch_dist checkpoint (#5077) by @deepakn94
  • RL: refill all-placeholder groups (#6480) by @tdene
  • feat(determinism): Make the channel-last conv1d deterministic (#6655) by @ZhiyuLi-Nvidia
  • Move stacked PR merge checks to AGENTS.md (#6758) by @wujingyue
  • add gigatoken support for hf tokenizers (#6514) by @dimapihtar
  • Move MFSDP placements to the API boundary (#5971) by @wujingyue
  • fix: avoid requiring GTP for CUDA graph stream warning (#6765) by @JF-D
  • Keep MIMO gradient normalization on device (#6724) by @yashaswikarnati
  • Add chunked prefill support for GDP dynamic inference (#6711) by @santhnm2
  • fix: refresh TE fused MLP DDP hooks dynamically (#6132) by @nvegesna-netizen
  • Refresh Nemotron3 Super GB200 golden values. (#6644) by @Phlip79
  • Add THD support to CP causal convolution (#6550) by @Mellonta
  • Preserve observed golden values during extraction (#6771) by @Phlip79
  • bump emerging optimizers to v0.3.0 (#5321) by @FDecaYed
  • [GTP] Preserve forward-prefetch dependencies across local CUDA graphs (#6696) by @JF-D
  • fix(gtp+dcp): elect the shard writer from the caller's process group (#6775) by @fanshiqing
  • Use Shard for MFSDP public placements (#6751) by @wujingyue
  • Identity chat template bug fix in sft_tokenizer (#6682) by @devnkong
  • avoid circular dependency usage between mcore and modelopt (#6324) by @dimapihtar
  • [GTP] Symmetric Memory Registration for the GTP/EGTP ReduceScatter path (#6535) by @prajwal1210
  • ci: use base PR cache as fallback (#6774) by @chtruong814
  • fix(gtp+muon): strip GTP_remat alignment padding before Muon orthogonalization (#6740) by @fanshiqing
  • Add hidden state mixing to multi-token prediction (#6566) by @YanivDorGalron
  • Batch-invariance generation with vLLM fused-MoE backend at improved performance (#6521) by @utkarsh530
  • Allow precomputed token positions in MIMO embedding alignment (#6728) by @yashaswikarnati
  • Auto TP mode for per-weight GTP mode selection in Dist Muon (dense only) (#6664) by @Arcana-2236
  • Add option to skip Muon for MoE routers (#6504) by @mkhona-nvidia
  • Support heterogeneous DDP overlap in multimodal model training (#6284) by @yashaswikarnati
  • ci: grant cache workflow permissions (#6784) by @chtruong814
  • Route custom process groups through GDP and latent MoE checkpoints (#6781) by @yashaswikarnati
  • Support MIMO GTP checkpoint resume (#6743) by @yashaswikarnati
  • fix(num_zeros logging with gtp padding): exclude GTP alignment padding from num_zeros accounting (#6778) by @fanshiqing
  • Scope layerwise optimizer collectives to be per module for mulitmodal mimo training (#6192) by @yashaswikarnati
  • Fix: Skip JIT warmup when fusion is disabled via arguments (#2827) by @kisseternity
  • fix: initialize dense local CUDA graph state (#6167) by @nvegesna-netizen
  • Support CP layout conversion in hybrid models (#6764) by @Mellonta
  • Fix premature termination of persistent ckpt worker (#6767) by @shurkat-nvidia
  • CP layout integration (#6776) by @Mellonta
  • fix: make local CUDA graph outputs pipeline-safe (#6168) by @nvegesna-netizen
  • Update Q3 Roadmap Links (#6830) by @Phlip79
  • [Inference] Fix deadlock when initializing ZMQ communication between inference engine ranks. (#6779) by @cspades
  • Add test for layer-wise optimizer bucket params on single DP rank (#5257) by @Rohithmatham12
  • Batch invariant nvls (#6806) by @wdykas
  • M2n refit backend (#6712) by @wdykas
  • Remove Modelopt loading fn (#5405) by @AAnoosheh
  • ci: Set provenance: false during docker build (#6849) by @chtruong814
  • ci: bump Cerno commit to f0cf5b7 (#6817) by @thomasdhc
  • Group linked profiler events (#6651) by @wujingyue
  • feat(refit): expose mutable MXFP8 destinations (#6826) by @wdykas
  • skill: Update SKILL to calculate per-model percentage changes (#6866) by @balasaajay
  • (GTP+CP) Give CP higher rank-locality priority than GTP_remat on the dense axis (#6868) by @fanshiqing
  • Disable TE CUDA graph parameter gradient clones (#5893) by @buptzyb
  • Add docstring guidance (#6884) by @janEbert
  • Prevent overwriting matched prefix cache blocks with recomputed KV (#6895) by @santhnm2
  • Reject request-supplied chat templates in /v1/chat/completions (#6818) by @shanmugamr1992
  • Add sequence_packing_scheduler config field, CLI arg, and validation (#5902) by @ilml
  • fix(inference): preserve batch invariance for Nemotron Nano (#6893) by @wdykas
  • Add optional norm before the LatentMoE up projection (#6879) by @deepakn94
  • Rename all mimo args to have mimo-* prefix (#6894) by @yashaswikarnati
  • Gtp refit support (#6133) by @wdykas
  • Add unfused SBHD compressed sparse attention (#6400) by @FDecaYed
  • [Main] Fix Numerical issue for GTP + Muon + MXFP8 param gather + use layerwise optimizer layout (#6754) by @zhongbozhu
  • Add fused mHC support for HybridModel (#6401) by @FDecaYed
  • Inference: Make vLLM expert GEMM buffers persistent for CUDA Graphing (#6618) by @adistomar
  • Mamba: Bug Fix for No Intermediate State Case (#6598) by @adistomar
  • Add mock SFT dataset and varlen dataset family (#6734) by @ilml
  • ci: split long-running unit tests (#6896) by @balasaajay
  • Don't destroy the default process group in the EP test cleanup (#6906) by @wujingyue
  • [Inference] Support video modality in Megatron-Inference. (#6809) by @cspades
  • Mask MIMO MTP prediction paths that cross modality tokens (#6770) by @kevjshih
  • Pass process groups to param norm logging and support multiple modules (#6726) by @yashaswikarnati
  • RL: add per-step rollout bank metrics (#6769) by @lauradang
  • Add inference tests that saturate the KV cache (#6722) by @shanmugamr1992
  • Add prefix caching support for GDP dynamic inference (#6780) by @santhnm2
  • ci: AUT-2161 route external jobs through ephemeral v2 (#6909) by @svcnemo-autobot
  • Mxfp8 refit bounded memory (#6878) by @wdykas
  • Deprecate Model-Optimizer Checkpoint Import for Megatron-Bridge [OMNIML-5298] (#6900) by @jenchen13
  • test(ssm): AUT-2174 mark GDN padding coverage flaky (#6954) by @svcnemo-autobot
  • Inference: Add FlashInfer routed MXFP8 MoE with bounded decode capacity (#6864) by @mathemakitten
  • Enable async scheduling by default for dynamic inference (#6851) by @lmcafee-nvidia
  • Fix Mamba prefix cache clamp for < 2 token chunk edge case (#6930) by @santhnm2
  • ci: update transformer-engine version to 2.18.0 (#6917) by @balasaajay
  • fix(resharding): initialize NCCL on idle ranks (#6955) by @wdykas
  • Remove obsolete P2P shape synchronization (#6919) by @gerayking
  • Refactor hybrid layers to use per-layer configs (#6313) by @Phlip79
  • test: update SSM test to set manual seed to handle flaky failures (#6961) by @balasaajay
  • fix(optimizer): support MFSDP v2 gradient clipping across dense and expert meshes (#6489) by @wujingyue
  • test: add GDP hybrid dynamic-inference functional tests (GB200 + H100) (#6526) by @shanmugamr1992
  • feat(inference): add HYBRID cuda-graph sizing and make it the default (#6667) by @sidsingh-nvidia
  • Support destination CP in non-colocated bridge communicator (#5720) by @yashaswikarnati
  • GDP CP Support (#6815) by @Mellonta
  • feat(fsdp): expose HSDP and HFSDP through the MFSDP v2 adapter (#6873) by @wujingyue
  • Add configurable server evaluation defaults (#6195) by @nvcsathe
  • Add MFSDP v2 expert sharding strategy (#6798) by @Autumn1998
  • Fix MFSDP v2 meta-device initialization (#6799) by @Autumn1998
  • Refactor FSDP gradient readiness countdown (#6957) by @wujingyue
  • Pre-Fetch DP-Outer AG post-optimizer step (#5985) by @Randl
  • fix: preserve repeated GTP parameter uses (#6862) by @JF-D
  • Move raw multimodal Tensors to CUDA before inference request checkpoint recomp. (#6976) by @cspades
  • Integrate sequence-packing scheduler into training loop and wire varlen dataset into GPT pretraining (#6742) by @ilml
  • Inference: Scale HTTP frontends with DP size and take tokenization off the event loop (#6223) by @sidsingh-nvidia
  • Don't assert an address across DBuffer storage release and reallocate (#6968) by @wujingyue
  • Exclude cuBLAS workspaces from the MFSDP peak-memory bound (#6936) by @wujingyue
  • (feat) gtp+cpu-init support for dense-layers (#6986) by @fanshiqing
  • docs: update MFSDP public shard placement (#6979) by @wujingyue
  • Guard FlashAttention 4 import by installed distribution (#6964) by @hershg
  • validate data-parallel sharding strategies (#6983) by @wujingyue
  • fix(fsdp): reuse persistent model-weight storage (#6962) by @wujingyue
  • Sync yaml VPP pipeline-parallel-size check with arguments.py (#6732) by @amanyagami
  • Remove obsolete FusedAdam empty parameter workaround (#7002) by @wujingyue
  • Add deterministic training to docs (#7034) by @Phlip79
  • fix(optimizer): detach FP32 model params before creating shards in DistributedOptimizer (#6982) by @Ultron09
  • Abort inference requests when the HTTP client disconnects (#6916) by @santhnm2
  • fix: synchronize grouped MLP params before norm (#6654) by @nvegesna-netizen
  • Fix dead CHANGELOG badge link in README (#6945) by @pengfaming
  • Reuse persistent main-grad storage (#7001) by @wujingyue
  • ci: Fix typo in linear_issue_status value (#7032) by @balasaajay
  • [main] fix padding mask docstring (#5599) by @HaochenYuan
  • docs: clarify ModelOpt post-training workflows (#7025) by @jenchen13
  • Add GDP decode prepare kernel (#6997) by @santhnm2
  • Add current prefix-cache pairwise coverage and fixes (#7031) by @lmcafee-nvidia
  • Support multiple CP layout batch views and fix THD+CP bug in MTP (#6912) by @Mellonta
  • Avoid emitting NaN / Inf logprobs out of inference (#6993) by @tdene
  • Megatron-FSDP: shard expert and non-expert parameters by different strategies (#6594) by @rapatel
  • Fix crash when partitioning BlendedDataset batches across context-parallel ranks (#5531) by @deepakn94
  • Fix TE activation op mapping to select ReGLU/ReLU for F.relu (#5999) by @adityaghai07
  • Inference: Fixes for large scale and concurrency (#6497) by @sidsingh-nvidia
  • TanH Sq-relu and SiTU GLU (#7003) by @abhinav-khattar
  • Handle Transformer Engine delayed gradients in MFSDP (#6697) by @wujingyue
  • Fix TP=1 tensor-parallel gather autograd view (#6657) by @fwerkor
  • Add per-module MFSDP prefetch budgets (#6905) by @wujingyue
  • Add flag to disable KV cache scale clamp to ModelOpt export [OMNIML-5819] (#7024) by @jenchen13
  • Add HybridModel architecture guidance (#6938) by @Phlip79
  • Restore the batch schema bridge for hybrid CP sub-samples (#6820) by @ilml
  • Add MTP-only training mode (#7021) by @YanivDorGalron
  • Move MTP inference code to separate mixin class (#7056) by @santhnm2
  • Add a MFSDP v2 port of the deepseek_proxy_fsdp_ep2_fsdp2 functional test (#7041) by @wujingyue
  • build: AUT-2212 move torch-memory-saver to inference extra (#7068) by @svcnemo-autobot
  • perf(refit): reduce MXFP8 conversion overhead (#6952) by @wdykas
  • Add current async scheduling pairwise coverage and fixes (#7053) by @lmcafee-nvidia
  • test: clarify DeepSeek proxy MFSDP v1 names (#7073) by @wujingyue
  • Add support for fused Q Up-Proj GEMM/RoPE/Quant (#6213) by @chaseblock
  • test(refit): cover DSA models and enable M2N CI (#6998) by @wdykas
  • Golden deepseek_proxy_mfsdp_v2_ep2 against its own output; enable determinism (#7069) by @wujingyue
  • ci: Enhance CI env to check functional tests label (#7072) by @balasaajay
  • Validate num_attention_heads is divisible by num_query_groups in TransformerConfig (#5756) by @huthvincent
  • chore(checkpointing): remove dead load_biencoder_checkpoint and _add_biencoder_args (#6975) by @Anai-Guo
  • fix(test): AUT-2220 preserve golden value precision (#7087) by @svcnemo-autobot
  • Fix runtime CP group handling in attention for hybrid CP (#6821) by @ilml
  • fix: restore each rank's own RNG state on checkpoint load (#6858) by @ZhiyuLi-Nvidia
  • Add CuTeDSL GDP chunkwise context parallelism (#7038) by @Mellonta
  • Expose MFSDP v2 custom-schedule lifecycle (#6484) by @shjwudp
  • Fix FSDP mixed-precision reset for fixed buffers (#6924) by @jeffnvidia
  • add raise_on_error argument (#7110) by @dimapihtar
  • Add native DeepSeek-V4 hybrid attention orchestration (#6402) by @FDecaYed
  • fix: AUT-2228 route partial reruns to the current attempt (#7142) by @svcnemo-autobot
  • Use metadata dp_cp_group for the tied-embeddings replica_id (#6888) by @going-song
  • Keep RerunDataIterator wrapping on the hybrid CP data iterator (#6822) by @ilml
  • ci: AUT-2245 set CUDA major for lockfile updates (#7151) by @svcnemo-autobot
  • fix(MoE): Preserve exact expert token counts for expert-bias updates (#7081) by @JF-D
  • ci: AUT-2250 retry transient coverage artifact uploads (#7159) by @svcnemo-autobot
  • Enter both autocast and fp8 contexts in combined 1F1B execution (#5761) by @huthvincent
  • Derive MFSDP v2 checkpoint chunk metadata from the parameter layout (#6214) by @ahmadki
  • Add Slack reminders for re-requested reviews (#7071) by @Phlip79
  • Propagate rope_scaling_factor from args to GPT model construction (#6306) by @Alvorecer721
  • ci(pr-review): extract review prompts into a non-activating skill (#7170) by @ko3n1g
  • First pass at comprehensive user guide (#5325) by @shanmugamr1992
  • Support FP4 in 1F1B A2A overlap (#6135) by @dingqingy-nv
  • RL: prevent unnecessary entry into inference mode (#4125) by @tdene
  • Document signing rewritten commits (#7037) by @wujingyue
  • Test SFTTokenizer token loss masking (#7023) by @jenchen13
  • Refactor MFSDP parameter group initialization (#7175) by @wujingyue
  • Assert the runtime-CP group contract both ways (#6825) by @ilml
  • Support full-iteration CUDA graphs with MFSDP v2 (#7075) by @wujingyue
  • fix(gtp): correct expert gradient scaling for GTP/EGTP mismatch (non-per-token-loss) (#7165) by @fanshiqing
  • Fix MFSDP v2 precision-aware optimizer gradient clipping (#7074) by @wujingyue
  • fix(ci): AUT-2260 mirror DCO status before merge queue (#7210) by @svcnemo-autobot
  • Re-derive quantized params from FP32 main params on checkpoint load (#6666) by @Connor-XY
  • Fix order local refit copies after source updates (#6823) by @Sunt-ing
  • fix(moe): keep precision-overridden grouped experts off the op-fuser … (#7212) by @fanshiqing
  • Select kernel backends through BackendSpecProvider, not HAVE_* flags (#6766) by @guihong-nv
  • Enable NCCL EP tests (#7195) by @YangFei1990
  • Fix Transformer Engine API documentation link (#7225) by @wujingyue
  • Restore FusedAdam empty-shard workarounds for TE < 2.18 (#7216) by @wujingyue
  • fix: Do not pass is_first_microbatch to TE when it is not maintained (#6965) by @ZhiyuLi-Nvidia
  • Deduplicate MFSDP context post-backward hooks (#7196) by @wujingyue
  • Raise NotImplementedError from InferenceInterface.base_generate (#7124) by @YeonwooSung
  • chore: Update base image to 26.08 (#6991) by @balasaajay
  • Support independent HSDP instances for expert parameters* (#7012) by @Autumn1998
  • Add attn_logit_softcapping config, plumbed to TE and local attention (#6590) by @nvegesna-netizen
  • Fix QAD checkpoint and dataset loading (#7137) by @jenchen13
  • Run mFSDP v1 functional tests nightly (#7244) by @wujingyue
  • fix: AUT-2254 support mHC in experimental MoE transformer layers (#7235) by @svcnemo-autobot
  • test(determinism): add kernel replay tests and a PR coverage gate (#7148) by @Connor-XY
  • Allow context parallelism with MFSDP v2 (#7220) by @wujingyue
  • Re-enable prefill CUDA graphs (#7243) by @santhnm2
  • Mark non-final microbatches for MFSDP v2 hybrid data parallelism (#7186) by @wujingyue
  • test(inference): cover long coordinator replies (#7240) by @svcnemo-autobot
  • Support FP4 tensors in the MoE paged activation stash (#7026) by @michal2409
  • Add block-atomic DBuffer placement (#6978) by @wujingyue
  • fix(muon): split the fully-gathered QKV tensor before orthogonalizing under GTP (#7117) by @fanshiqing
  • Separate DBuffer layout construction from allocation (#7257) by @wujingyue
  • test: enforce full-precision deterministic functional goldens (#7217) by @Connor-XY
  • Fix token count dtype for fused MoE auxiliary loss which requires int64 (#7183) by @zhongbozhu
  • fix(resharding): bound NCCL refit P2P groups to avoid kernel-plan spl… (#7189) by @wdykas
  • Handle NVRx installs without package version (#7247) by @tylerpoon
  • Fix FlashInfer NVLS routing buffer race (#7263) by @wdykas
  • Add DeepSeek-V3 NVFP4 training support (#6841) by @denys-fridman
  • Add multimodal vision token utilities (#7249) by @tylerpoon
  • Fused GDN attention support (#6645) by @ksivaman
  • Multimodal: add tokenizer path (#3466) by @faradawn
  • Harden dynamic inference request lifecycle handling (#7256) by @lmcafee-nvidia
  • fix(determinism): Separate the MoE aux-loss fusion flag so --deterministic-mode guards only the op that breaks it (#6967) by @ZhiyuLi-Nvidia
  • fix: make GTP weight rematerialization work end-to-end with tied embeddings and inference resharding (#6940) by @shanmugamr1992
  • ci: Revert recently merged changes as they cause CI unit test failures. (#7326) by @balasaajay
  • [GTP] Symmetric memory registration to use custom VMM allocator (#6956) by @prajwal1210
  • Add refit codeowners (#7330) by @wdykas
  • ci: Update golden value for hybrid_dynamic_inference_tp1_pp1_dp8_583m_chunked_prefill (#7334) by @chtruong814
  • Add Style Guide (#7179) by @Phlip79
  • Fix GTP checkpoint load failing across different GTP degrees (#7293) by @fanshiqing
  • Add implementation for ShortcutMoE (#6959) by @jiemingz
  • Do not modify MLA spec at runtime for down proj fusion (#7304) by @janEbert
  • Fix MFSDP v2 parameter metadata preservation (#7230) by @Autumn1998
  • add gigatoken support for Multimodal & SFT tokenizers (#7209) by @dimapihtar
  • Memory and perf fix for Tanh-Sq-Relu and FP32 logits output (#7229) by @xrennvidia
  • Fix file link (#7298) by @janEbert
  • Add hybrid layer spec guidelines (#7314) by @janEbert
  • Add fused SBHD compressed sparse attention (#6404) by @FDecaYed
  • Fix inferred MFSDP communication unit cap (#7134) by @jeffnvidia
  • Fix MTP CP-boundary roll to communicate on the context-parallel process group (#6746) by @liding-nv
  • Do not modify GDN2 spec at runtime (#7311) by @janEbert
  • Use five repeats for Lightning nightly test (#7364) by @Phlip79
  • Consolidate megatron/training code owners (#7366) by @Phlip79
  • Rename DBuffer.get_local_tensor to get_tensor_view (#7261) by @wujingyue
  • Resolve the GTP remat group through the multi-module collection (#7356) by @deepakn94
  • Descend nested ChainedOptimizers when walking MIMO optimizer state (#7355) by @deepakn94
  • ci(dco): gate every pull-request head and leave merge-queue refs alone (#7365) by @ko3n1g
  • Skip param norm for frozen parameters (#7369) by @yashaswikarnati
  • Disable grad norm check for optimizer CG (#5857) by @vasunvidia
  • test: AUT-2318 require only the logging flags a functional test actually validate (#7346) by @svcnemo-autobot
  • Fix GitHub-to-Slack email resolution across recent commits (#7377) by @Phlip79
  • Weighted Checkpoint Merging & WSM Support (#5114) by @eric-tramel
  • De-duplicate per-rank log output in large training jobs (#7361) by @deepakn94
  • test: refresh chunked-prefill prompt logprob goldens (#7397) by @lmcafee-nvidia
  • fix(determinism): Pin the Triton autotune cache to one shared directory under --deterministic-mode (#6966) by @ZhiyuLi-Nvidia
  • Default expert sharding strategies to their non-expert counterparts (#7277) by @wujingyue
  • feat(multimodal): AUT-2316 reapply vision token utilities (#7329) by @svcnemo-autobot
  • ci: Drop --deterministic-mode from weekly fp8 tp_comm_overlap test (#7350) by @asolergi-nv
  • Fix ChainedOptimizer step sync when a chained member is itself chained (#7354) by @deepakn94
  • Megatron-FSDP: Hybrid FSDP over replicated weights, single-rank reduction and bucket padding fixes (#6773) by @rapatel
  • Make MIMO vision encoder attention backend configurable (#7362) by @yashaswikarnati
  • Keep dynamic vision metadata on CPU (#7363) by @yashaswikarnati
  • Pass the process-group collection to MTP's input projections (#7403) by @deepakn94
  • Callback system (#5610) by @maanug-nv
  • Add HybridModel DeepSeek-V4 layer construction (#6405) by @FDecaYed
  • Exit training at a batch-size transition instead of continuing (#7357) by @deepakn94
  • Add shard plan/owner-based compute planning API for MFSDP v2 (#6597) by @janEbert
  • Tensor Metrics 1: Add framework for training metrics (#6647) by @philipcmonk
  • Silence the GroupedGemmWgradBlockScaledAPI logger on non-rank-0 ranks (#7414) by @deepakn94
  • Fix dataloader checkpoint rank indexing and write ordering (#7413) by @deepakn94
  • Add pre-commit DCO check hook (#7406) by @janEbert
  • ci: Update smoke test rules to skip execution for non-scheduled runs (#7187) by @balasaajay
  • fix(ci): let the DCO gate be republished instead of only refreshed in place (#7408) by @ko3n1g
  • docs: remove broad functional test guidance (#7429) by @chtruong814
  • ci: Skip full-test PRs when disabled (#7437) by @chtruong814
  • Let single-rank logging cover more than global rank 0 (#7360) by @deepakn94
  • perf(determinism): stop filling uninitialized memory under --deterministic-mode (#7093) by @ZhiyuLi-Nvidia
  • [inference] Fix slow request serialization for raw Tensors, and expand vision caching scope. (#7352) by @cspades
  • ci: Use testmon to select unit-tests based on changes in the PR (#6934) by @balasaajay
  • fix(logging): reset log accumulators when the first iteration is on a boundary (#7092) by @ZhiyuLi-Nvidia
  • test(moe): add DeepSeek proxy test for optimizer CUDA graph capture (#7407) by @gautham-kollu
  • Pipe TE/inference/CG RNG tracker args to MIMO's set_random_seed (#7401) by @yashaswikarnati
  • docs: Remove CI test selection label guidance (#7456) by @balasaajay
  • Fix NCCL M2N validation for implicit default process groups (#7433) by @wdykas
  • Move MTP architecture validation into model constructors (#7370) by @Phlip79
  • Give the EP=1 inference dispatchers the metadata the EP>1 path sets (#7426) by @sidsingh-nvidia
  • Tensor Metrics 2: Expose MCore tensors through observation hooks (#6648) by @philipcmonk
  • Add option to run MIMO input projections on LLM ranks (#6843) by @yashaswikarnati
  • MIMO isolation cleanup for ShortCutMoE (#7402) by @jiemingz
  • fix(moe): select the MoE grouped-GEMM path from TE's distributed-weight support (#7318) by @fanshiqing
  • fix(inference): sample via Gumbel-max exponential race in fp32 (#7182) by @sidsingh-nvidia
  • Support selective MXFP8 inference precision (#7300) by @wdykas
  • Fix Muon’s scaling when distributed GTP tensors contain alignment padding (#7236) by @kwangjunahn
  • Create TrainState dataclass (#7447) by @maanug-nv
  • ci: preserve dependency build cache across README changes (#7347) by @chtruong814
  • fix(ci): repair Testmon baseline checkpoint workers (#7454) by @balasaajay
  • Fix one-shot stream causing FSDP memory leaks (#6885) by @shjwudp
  • Add KV cache for MTP head Attention layer (#7033) by @santhnm2
  • Add option to skip MIMO bridge shape and backward communication (#6792) by @yashaswikarnati
  • Add VLM loading functionality to gpt_dynamic_inference_with_coordinator.py (#7409) by @mathemakitten
  • test(gtp): probe the bare FP8 copy_ instead of requiring it to raise (#7477) by @fanshiqing
  • Tensor Metrics 3: Add tensor metric definitions (#7471) by @philipcmonk
  • Re-include arguments.py in training review and fix RL tests path in CODEOWNERS (#7479) by @asolergi-nv
  • [Inference] Fall back to prompt_token_ids when compact ids are absent in prefix stitching (#7312) by @ArEsKay3
  • Support MXFP8 batch invariance for inference and TE grouped training (#7302) by @wdykas
  • Add QuantizedDBuffer for MXFP8 plane storage (#7265) by @wujingyue
  • Add multimodal tokenizer conversation formats (#7248) by @tylerpoon
  • Track finite packed SFT datasets and metrics (#7252) by @tylerpoon
  • Support multimodal metadata and vision context parallelism (#7315) by @tylerpoon
  • chore(deps): AUT-2357 stabilize Transformer Engine 2.19 bump (#7379) by @svcnemo-autobot
  • MInf: Add hooks to preprocess and stage (#7015) by @tdene
  • Stop warn_single_rank from re-arming every other warning (#7451) by @deepakn94
  • fix(tests): stop the PP-agnostic model from shadowing SwigluFactoryModel (#7273) by @Anai-Guo
  • Two small fixes (re. FP32-output-logit&residuals) from Nemotron (#7480) by @kwangjunahn
  • Support packed multimodal inputs in Super hybrid models (#7253) by @tylerpoon
  • Remove mcore async (#7052) by @dimapihtar
  • Fix multimodal placeholder token generation loophole. (#7491) by @cspades
  • Integrate MFSDP v2 with fine-grained 1F1B scheduling (#7112) by @shjwudp
  • [TE] Preemptively support TE fused CE overwrite_input=True in MCore. (#7309) by @cspades
  • chore(docker): AUT-2322 bump DeepEP hybrid-ep pin to 10d4dd73 (#7358) by @svcnemo-autobot
  • Match vLLM's tool-call parsing in the Qwen3-Coder parser (#7320) by @sidsingh-nvidia
  • wire mimo non-colcoated cp>1 in the training loop (#7435) by @liding-nv
  • Add speculative decoding support for GDP (#7245) by @santhnm2
  • [main] moe(perf): Pre-GDR kernel fusion (#5532) by @yuzhongw-nvidia
  • refactor(training): construct configuration before runtime initialization (#7418) by @cuichenx
  • Initialize multimodal models from language checkpoints (#7316) by @tylerpoon
  • Refresh H100 T5 local-norm goldens with full precision (#7439) by @Connor-XY
  • ci: Configure Transformer Engine CUDA targets for GitHub builds (#7532) by @balasaajay
  • ci: Configure selective unit testing with a repository variable (#7559) by @balasaajay
  • test(moe): enable GroupedMLP fusion in optimizer graph recipe (#7495) by @Connor-XY
  • fix(MTP's memory): Reuse the GTP wgrad send buffer across a weight's repeated backwards (#7470) by @fanshiqing
  • Add HybridModel hash MoE routing (#6403) by @FDecaYed
  • Enable tanh srelu fused path (#7496) by @wanyingw
  • Integrate MXFP8 weights into MFSDP (#7114) by @wujingyue
  • [Inference] Fix an unsafe fork for frontend replicas and support Nemotron VL vision preprocessing. (#7556) by @cspades
  • Add the Energon multimodal SFT data pipeline (#7254) by @tylerpoon
  • fix(fusions): compose caller mask with sliding-window mask instead of dropping it (#7040) by @yuweih205
  • Log unit test failures before distributed teardown (#7572) by @maanug-nv
  • Match inference performance comparisons to benchmark metadata (#7438) by @Connor-XY
  • fix(checkpoint): initialize converter process groups (#7027) by @janbernloehr
  • fix(checkpoint): preserve target weight shard args (#7028) by @janbernloehr
  • test: enable optimizer CUDA graphs in hybrid MFSDP v2 test (#7446) by @wujingyue
  • MInf: hand compact prompt ids and media tensors to the payload stager (#7557) by @lauradang
  • test: report absolute and relative golden-value errors (#7321) by @Connor-XY
  • Wire packed metadata and Super models into multimodal SFT (#7255) by @tylerpoon
  • Enable Pipeline Parallelism Support for M-FSDP v2 (#6486) by @shjwudp
  • Fix Muon retaining unused CPU weight initializers (#7527) by @yashaswikarnati
  • ci: bump preflight workflows to v1.11.0 (#7618) by @ko3n1g
  • feat(gtp): collapses output_layer's repeated wgrad reduce-scatters into one per iteration (#7573) by @fanshiqing
  • fix(gtp-ut): fix cross-file state leaks and CI world-size mismatch in unit tests (#7580) by @fanshiqing
  • [0/4] Add residual-connection and streamwise operator primitives (#7579) by @kwangjunahn
  • save run_config.yaml inside checkpoint dir (#7344) by @dimapihtar
  • Rename FSDP Flat placement to RowAtomic (#7539) by @wujingyue
  • test: Exercise rank-specific inputs in MFSDP SGD parity (#7566) by @wujingyue
  • Honor all model-declared EOS tokens and generation_config sampling defaults (#7191) by @sidsingh-nvidia
  • Clarify signed commit guidance for mcore-engineers (#7597) by @wujingyue
  • feat(optimizer): AUT-2316 reapply DeepSeek-V3 NVFP4 training support (#7328) by @svcnemo-autobot
  • Add the option to layer-shard Muon computation among TP x GTP-remat ranks (#6683) by @wanyingw
  • fix: Fix routing map autograd aliasing bug for alltoall dispatcher (#7610) by @guyueh1
  • build: bump nvidia-resiliency-ext to 0.7.0 (#7589) by @balasaajay
  • [0.5/4] Add streamwise wide-residual connection modules (#7599) by @kwangjunahn
  • fix(mfsdp): reuse generated subclasses across module instances (#7612) by @wujingyue
  • Warm up training kernels before model initialization (#7635) by @JF-D
  • feat: Enable MXFP8 through the MFSDP v2 MCore adapter (#7588) by @wujingyue
  • [1/4] Integrate streamwise wide residuals with HybridStack (#6716) by @kwangjunahn
  • fix(mimo): omit encoder bridges from LLM-only provider (#7541) by @yashaswikarnati
  • [DCP V2 1/4] Define the runtime dynamic-CP group contract (#7045) by @xiaoyao0115
  • Support MIMO refit through model-declared modules (#7367) by @wdykas
  • test: split SSM fusion tests and skip costly variants (#7655) by @balasaajay
  • fix(tests): synchronize GTP process-group teardown (#7656) by @balasaajay
  • perf(docker): parallelize TE, DeepEP, and nccl_m2n compiles in the CI container (opt-in) (#7661) by @ko3n1g
  • [inference] Fix multimodal prefix-stitching. (#7598) by @cspades
  • ci: use native CPU runners for amd64 and arm64 container builds (#7492) by @balasaajay
  • ci(pr-review): redirect /claude review comments to /review (#7675) by @ko3n1g
  • Fix multimodal dataloader restoration during full-dataset resume (#7639) by @tylerpoon
  • Fix global token-weighted SFT evaluation loss (#7207) by @xiaoyao0115
  • [inference/multimodal/tp] Fix multi-image/multi-video RadioViT TP race condition. (#7665) by @cspades
  • fix(ci): refresh buffered GRPO timing baselines and correct RL golden linting (#7411) by @Connor-XY
  • Enable Transformer Engine fused cross entropy (#7339) by @eagle705
  • Fix GDN model builder for MTP in GPT model (#7626) by @zhongbozhu
  • Fix MTP attention layer counting in FLOPs estimates (#7607) by @zhongbozhu
  • refactor(training): make ProfilingConfig authoritative (#7568) by @cuichenx
  • [1.5/4] Support FP32 execution for streamwise wide resi

Don't miss a new Megatron-LM release

NewReleases is sending notifications on new releases.