Download Latest Version NVIDIA Megatron Core 0.20.0 source code.zip (19.6 MB) Google Add to Preferred Sources
Home / core_v0.20.0
Name Modified Size InfoDownloads / Week
Parent folder
NVIDIA Megatron Core 0.20.0 source code.tar.gz 2026-10-27 17.2 MB
NVIDIA Megatron Core 0.20.0 source code.zip 2026-10-27 19.6 MB
README.md 2026-10-27 126.6 kB
Totals: 3 Items   36.9 MB 0

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
Source: README.md, updated 2026-10-27