megatron-core 0.16.0rc0.dev101470__tar.gz → 0.16.0rc0.dev101524__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (366) hide show
  1. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/PKG-INFO +6 -6
  2. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/README.md +5 -5
  3. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/src/megatron_fsdp/param_and_grad_buffer.py +3 -0
  4. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/src/megatron_fsdp/uneven_dtensor.py +10 -1
  5. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/src/megatron_fsdp/utils.py +3 -6
  6. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fp4_utils.py +22 -0
  7. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_indices_converter.py +1 -2
  8. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_mla_yarn_rope_apply.py +1 -3
  9. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_pad_routing_map.py +5 -3
  10. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/communication_utils.py +1 -2
  11. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/contexts/attention_context/mamba_metadata.py +21 -1
  12. megatron_core-0.16.0rc0.dev101524/megatron/core/inference/contexts/dynamic_block_allocator.py +119 -0
  13. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/contexts/dynamic_context.py +361 -292
  14. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/data_parallel_inference_coordinator.py +63 -7
  15. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/engines/__init__.py +1 -1
  16. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/engines/dynamic_engine.py +668 -286
  17. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/engines/static_engine.py +7 -2
  18. megatron_core-0.16.0rc0.dev101524/megatron/core/inference/headers.py +28 -0
  19. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/inference_client.py +80 -22
  20. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/inference_request.py +222 -17
  21. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/sampling_params.py +1 -1
  22. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_controllers/text_generation_controller.py +372 -184
  23. megatron_core-0.16.0rc0.dev101524/megatron/core/inference/unified_memory.py +198 -0
  24. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/utils.py +55 -0
  25. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/embeddings/rope_utils.py +26 -25
  26. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/embeddings/yarn_rotary_pos_embedding.py +7 -4
  27. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/model_chunk_schedule_plan.py +5 -1
  28. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/gpt/fine_grained_callables.py +4 -1
  29. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/gpt/moe_module_specs.py +1 -9
  30. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mamba/mamba_layer_specs.py +16 -0
  31. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/optimizer/__init__.py +134 -173
  32. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/optimizer/cpu_offloading/hybrid_optimizer.py +1 -1
  33. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/optimizer/distrib_optimizer.py +2 -1
  34. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/optimizer/optimizer.py +1 -0
  35. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/optimizer/optimizer_config.py +57 -17
  36. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/optimizer_param_scheduler.py +20 -11
  37. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/package_info.py +1 -1
  38. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/parallel_state.py +1 -0
  39. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/safe_globals.py +2 -0
  40. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/ssm/mamba_block.py +7 -55
  41. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/ssm/mamba_hybrid_layer_allocation.py +4 -3
  42. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/ssm/mamba_layer.py +2 -0
  43. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/ssm/mamba_mixer.py +16 -11
  44. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/timers.py +15 -6
  45. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/libraries/huggingface_tokenizer.py +8 -3
  46. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/libraries/null_tokenizer.py +8 -0
  47. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/text_tokenizer.py +10 -6
  48. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/attention.py +44 -10
  49. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/cuda_graphs.py +17 -0
  50. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/dot_product_attention.py +8 -2
  51. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/fsdp_dtensor_checkpoint.py +44 -23
  52. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/experts.py +24 -20
  53. megatron_core-0.16.0rc0.dev101524/megatron/core/transformer/moe/fused_a2a.py +534 -0
  54. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/moe_layer.py +3 -3
  55. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/moe_utils.py +20 -3
  56. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/router.py +14 -6
  57. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/shared_experts.py +4 -2
  58. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/token_dispatcher.py +192 -30
  59. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/multi_latent_attention.py +12 -6
  60. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/multi_token_prediction.py +2 -0
  61. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/transformer_config.py +41 -8
  62. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/transformer_layer.py +3 -3
  63. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/utils.py +0 -3
  64. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/utils.py +182 -34
  65. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron_core.egg-info/PKG-INFO +6 -6
  66. megatron_core-0.16.0rc0.dev101470/megatron/core/inference/contexts/dynamic_block_allocator.py +0 -92
  67. megatron_core-0.16.0rc0.dev101470/megatron/core/inference/headers.py +0 -17
  68. megatron_core-0.16.0rc0.dev101470/megatron/core/inference/unified_memory.py +0 -127
  69. megatron_core-0.16.0rc0.dev101470/megatron/core/transformer/moe/fused_a2a.py +0 -264
  70. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/MANIFEST.in +0 -0
  71. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/README.md +0 -0
  72. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/__init__.py +0 -0
  73. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/activations.py +0 -0
  74. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/config.py +0 -0
  75. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/config_logger.py +0 -0
  76. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/__init__.py +0 -0
  77. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/bert_dataset.py +0 -0
  78. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/blended_dataset.py +0 -0
  79. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/blended_megatron_dataset_builder.py +0 -0
  80. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/blended_megatron_dataset_config.py +0 -0
  81. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/gpt_dataset.py +0 -0
  82. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/helpers.cpp +0 -0
  83. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/helpers.py +0 -0
  84. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/indexed_dataset.py +0 -0
  85. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/masked_dataset.py +0 -0
  86. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/megatron_dataset.py +0 -0
  87. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/megatron_tokenizer.py +0 -0
  88. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/multimodal_dataset.py +0 -0
  89. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/object_storage_utils.py +0 -0
  90. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/__init__.py +0 -0
  91. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/config/__init__.py +0 -0
  92. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/config/bert_embedders.py +0 -0
  93. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/config/config.py +0 -0
  94. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/config/gpt_chunk_datasets.py +0 -0
  95. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/config/tokenizers.py +0 -0
  96. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/db/__init__.py +0 -0
  97. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/db/build.py +0 -0
  98. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/db/dataset.py +0 -0
  99. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/db/utils.py +0 -0
  100. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/external_libs.py +0 -0
  101. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/index/__init__.py +0 -0
  102. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/index/build.py +0 -0
  103. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/index/factory.py +0 -0
  104. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/index/index.py +0 -0
  105. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/index/indexes/__init__.py +0 -0
  106. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/index/indexes/faiss_base.py +0 -0
  107. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/index/indexes/faiss_par_add.py +0 -0
  108. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/index/utils.py +0 -0
  109. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/index/validate.py +0 -0
  110. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/query/__init__.py +0 -0
  111. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/query/gpt_chunk_dataset.py +0 -0
  112. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/query/multi_split_gpt_dataset.py +0 -0
  113. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/query/query.py +0 -0
  114. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/query/retro_dataset.py +0 -0
  115. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/query/utils.py +0 -0
  116. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/utils.py +0 -0
  117. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/t5_dataset.py +0 -0
  118. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/utils.py +0 -0
  119. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/utils_s3.py +0 -0
  120. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/__init__.py +0 -0
  121. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/core.py +0 -0
  122. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/dict_utils.py +0 -0
  123. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/exchange_utils.py +0 -0
  124. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/mapping.py +0 -0
  125. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/optimizer.py +0 -0
  126. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/serialization.py +0 -0
  127. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/state_dict_utils.py +0 -0
  128. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/__init__.py +0 -0
  129. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/async_utils.py +0 -0
  130. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/base.py +0 -0
  131. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/cached_metadata_filesystem_reader.py +0 -0
  132. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/checkpointable.py +0 -0
  133. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/common.py +0 -0
  134. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/filesystem_async.py +0 -0
  135. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/fully_parallel.py +0 -0
  136. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/resharding.py +0 -0
  137. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/state_dict_saver.py +0 -0
  138. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/tensorstore.py +0 -0
  139. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/torch.py +0 -0
  140. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/two_stage.py +0 -0
  141. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/zarr.py +0 -0
  142. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/tensor_aware_state_dict.py +0 -0
  143. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/utils.py +0 -0
  144. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/validation.py +0 -0
  145. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/__init__.py +0 -0
  146. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/data_parallel_base.py +0 -0
  147. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/distributed_data_parallel.py +0 -0
  148. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/distributed_data_parallel_config.py +0 -0
  149. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/finalize_model_grads.py +0 -0
  150. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/__init__.py +0 -0
  151. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/mcore_fsdp_adapter.py +0 -0
  152. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/src/__init__.py +0 -0
  153. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/src/megatron_fsdp/__init__.py +0 -0
  154. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/src/megatron_fsdp/distributed_data_parallel_config.py +0 -0
  155. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/src/megatron_fsdp/fully_shard.py +0 -0
  156. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/src/megatron_fsdp/megatron_fsdp.py +0 -0
  157. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/src/megatron_fsdp/package_info.py +0 -0
  158. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/param_and_grad_buffer.py +0 -0
  159. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/reduce_scatter_with_fp32_accumulation.py +0 -0
  160. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/torch_fully_sharded_data_parallel.py +0 -0
  161. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/torch_fully_sharded_data_parallel_config.py +0 -0
  162. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/energy_monitor.py +0 -0
  163. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/enums.py +0 -0
  164. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/__init__.py +0 -0
  165. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/data_type.py +0 -0
  166. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/export_config.py +0 -0
  167. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/model_type.py +0 -0
  168. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/__init__.py +0 -0
  169. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/engine_builder/__init__.py +0 -0
  170. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/engine_builder/trtllm_engine_builder.py +0 -0
  171. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/model_to_trllm_mapping/__init__.py +0 -0
  172. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/model_to_trllm_mapping/default_conversion_dict.py +0 -0
  173. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/trt_model_config.py +0 -0
  174. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/trt_model_type.py +0 -0
  175. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/trtllm_helper.py +0 -0
  176. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/trtllm_layers.py +0 -0
  177. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/trtllm_weights_converter/__init__.py +0 -0
  178. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/trtllm_weights_converter/distributed_trtllm_model_weights_converter.py +0 -0
  179. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/trtllm_weights_converter/single_device_trtllm_model_weights_converter.py +0 -0
  180. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/trtllm_weights_converter/utils.py +0 -0
  181. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/extensions/__init__.py +0 -0
  182. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/extensions/kitchen.py +0 -0
  183. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/extensions/transformer_engine.py +0 -0
  184. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/extensions/transformer_engine_spec_provider.py +0 -0
  185. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fp8_utils.py +0 -0
  186. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/full_cuda_graph.py +0 -0
  187. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/__init__.py +0 -0
  188. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_bias_dropout.py +0 -0
  189. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_bias_geglu.py +0 -0
  190. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_bias_gelu.py +0 -0
  191. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_bias_swiglu.py +0 -0
  192. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_cross_entropy.py +0 -0
  193. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_layer_norm.py +0 -0
  194. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_softmax.py +0 -0
  195. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_weighted_squared_relu.py +0 -0
  196. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/hyper_comm_grid.py +0 -0
  197. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/__init__.py +0 -0
  198. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/async_stream.py +0 -0
  199. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/common_inference_params.py +0 -0
  200. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/contexts/__init__.py +0 -0
  201. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/contexts/attention_context/metadata_base.py +0 -0
  202. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/contexts/attention_context/mha_metadata.py +0 -0
  203. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/contexts/base_context.py +0 -0
  204. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/contexts/fused_kv_append_kernel.py +0 -0
  205. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/contexts/static_context.py +0 -0
  206. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/engines/abstract_engine.py +0 -0
  207. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/engines/mcore_engine.py +0 -0
  208. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/model_inference_wrappers/__init__.py +0 -0
  209. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/model_inference_wrappers/abstract_model_inference_wrapper.py +0 -0
  210. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/model_inference_wrappers/gpt/__init__.py +0 -0
  211. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/model_inference_wrappers/gpt/gpt_inference_wrapper.py +0 -0
  212. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/model_inference_wrappers/inference_wrapper_config.py +0 -0
  213. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/model_inference_wrappers/multimodal/vlm_inference_wrapper.py +0 -0
  214. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/model_inference_wrappers/t5/__init__.py +0 -0
  215. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/model_inference_wrappers/t5/t5_inference_wrapper.py +0 -0
  216. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/scheduler.py +0 -0
  217. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_controllers/__init__.py +0 -0
  218. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_controllers/encoder_decoder_text_generation_controller.py +0 -0
  219. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_controllers/simple_text_generation_controller.py +0 -0
  220. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_controllers/vlm_text_generation_controller.py +0 -0
  221. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_server/__init__.py +0 -0
  222. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_server/endpoints/common.py +0 -0
  223. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_server/endpoints/completions.py +0 -0
  224. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_server/run_mcore_engine.py +0 -0
  225. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_server/text_generation_server.py +0 -0
  226. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_server/tokenization.py +0 -0
  227. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference_params.py +0 -0
  228. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/jit.py +0 -0
  229. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/model_parallel_config.py +0 -0
  230. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/T5/__init__.py +0 -0
  231. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/T5/t5_model.py +0 -0
  232. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/T5/t5_spec.py +0 -0
  233. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/__init__.py +0 -0
  234. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/backends.py +0 -0
  235. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/bert/__init__.py +0 -0
  236. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/bert/bert_layer_specs.py +0 -0
  237. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/bert/bert_lm_head.py +0 -0
  238. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/bert/bert_model.py +0 -0
  239. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/bert/pooler.py +0 -0
  240. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/__init__.py +0 -0
  241. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/embeddings/__init__.py +0 -0
  242. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/embeddings/language_model_embedding.py +0 -0
  243. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/embeddings/relative_pos_embedding.py +0 -0
  244. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/embeddings/rotary_pos_embedding.py +0 -0
  245. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/language_module/__init__.py +0 -0
  246. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/language_module/language_module.py +0 -0
  247. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/vision_module/__init__.py +0 -0
  248. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/vision_module/vision_module.py +0 -0
  249. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/gpt/__init__.py +0 -0
  250. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/gpt/gpt_layer_specs.py +0 -0
  251. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/gpt/gpt_model.py +0 -0
  252. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/gpt/heterogeneous/heterogeneous_layer_specs.py +0 -0
  253. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/huggingface/__init__.py +0 -0
  254. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/huggingface/clip_model.py +0 -0
  255. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/huggingface/module.py +0 -0
  256. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/huggingface/qwen_model.py +0 -0
  257. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mamba/__init__.py +0 -0
  258. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mamba/mamba_model.py +0 -0
  259. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mimo/__init__.py +0 -0
  260. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mimo/config/__init__.py +0 -0
  261. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mimo/config/base_configs.py +0 -0
  262. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mimo/model/__init__.py +0 -0
  263. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mimo/model/base.py +0 -0
  264. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mimo/submodules/audio.py +0 -0
  265. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mimo/submodules/base.py +0 -0
  266. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mimo/submodules/vision.py +0 -0
  267. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/multimodal/__init__.py +0 -0
  268. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/multimodal/context_parallel.py +0 -0
  269. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/multimodal/llava_model.py +0 -0
  270. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/multimodal/llava_spec.py +0 -0
  271. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/retro/__init__.py +0 -0
  272. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/retro/base_attention.py +0 -0
  273. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/retro/config.py +0 -0
  274. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/retro/decoder_attention.py +0 -0
  275. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/retro/decoder_spec.py +0 -0
  276. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/retro/encoder_attention.py +0 -0
  277. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/retro/encoder_spec.py +0 -0
  278. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/retro/model.py +0 -0
  279. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/retro/utils.py +0 -0
  280. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/vision/__init__.py +0 -0
  281. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/vision/clip_vit_model.py +0 -0
  282. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/vision/multimodal_projector.py +0 -0
  283. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/vision/radio.py +0 -0
  284. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/vision/vit_layer_specs.py +0 -0
  285. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/msc_utils.py +0 -0
  286. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/nccl_allocator.py +0 -0
  287. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/num_microbatches_calculator.py +0 -0
  288. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/optimizer/clip_grads.py +0 -0
  289. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/optimizer/cpu_offloading/__init__.py +0 -0
  290. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/optimizer/grad_scaler.py +0 -0
  291. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/packed_seq_params.py +0 -0
  292. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/pipeline_parallel/__init__.py +0 -0
  293. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/pipeline_parallel/bridge_communicator.py +0 -0
  294. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/pipeline_parallel/combined_1f1b.py +0 -0
  295. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/pipeline_parallel/p2p_communication.py +0 -0
  296. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/pipeline_parallel/schedules.py +0 -0
  297. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/pipeline_parallel/utils.py +0 -0
  298. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/post_training/__init__.py +0 -0
  299. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/post_training/modelopt/__init__.py +0 -0
  300. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/post_training/modelopt/gpt/__init__.py +0 -0
  301. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/post_training/modelopt/gpt/model_specs.py +0 -0
  302. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/post_training/modelopt/gpt/state_dict_hooks.py +0 -0
  303. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/post_training/modelopt/layers.py +0 -0
  304. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/post_training/modelopt/mamba/__init__.py +0 -0
  305. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/post_training/modelopt/mamba/model_specs.py +0 -0
  306. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/process_groups_config.py +0 -0
  307. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/quantization/__init__.py +0 -0
  308. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/quantization/quant_config.py +0 -0
  309. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/quantization/utils.py +0 -0
  310. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/requirements.txt +0 -0
  311. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/rerun_state_machine.py +0 -0
  312. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/ssm/__init__.py +0 -0
  313. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/ssm/mamba_context_parallel.py +0 -0
  314. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/ssm/mlp_layer.py +0 -0
  315. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/ssm/triton_cache_manager.py +0 -0
  316. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tensor_parallel/__init__.py +0 -0
  317. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tensor_parallel/cross_entropy.py +0 -0
  318. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tensor_parallel/data.py +0 -0
  319. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tensor_parallel/inference_layers.py +0 -0
  320. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tensor_parallel/layers.py +0 -0
  321. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tensor_parallel/mappings.py +0 -0
  322. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tensor_parallel/random.py +0 -0
  323. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tensor_parallel/utils.py +0 -0
  324. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/__init__.py +0 -0
  325. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/base_tokenizer.py +0 -0
  326. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/megatron_tokenizer.py +0 -0
  327. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/__init__.py +0 -0
  328. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/libraries/__init__.py +0 -0
  329. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/libraries/abstract_tokenizer.py +0 -0
  330. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/libraries/bytelevel_tokenizer.py +0 -0
  331. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/libraries/chat_template.py +0 -0
  332. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/libraries/megatron_hf_tokenizer.py +0 -0
  333. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/libraries/sentencepiece_tokenizer.py +0 -0
  334. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/libraries/tiktoken_tokenizer.py +0 -0
  335. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/models/__init__.py +0 -0
  336. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/models/bert_tokenizer.py +0 -0
  337. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/models/default_tokenizer.py +0 -0
  338. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/models/gpt_tokenizer.py +0 -0
  339. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/models/mamba_tokenizer.py +0 -0
  340. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/models/retro_tokenizer.py +0 -0
  341. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/models/t5_tokenizer.py +0 -0
  342. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/utils/build_tokenizer.py +0 -0
  343. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/__init__.py +0 -0
  344. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/custom_layers/__init__.py +0 -0
  345. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/custom_layers/transformer_engine.py +0 -0
  346. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/enums.py +0 -0
  347. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/heterogeneous/heterogeneous_config.py +0 -0
  348. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/heterogeneous/linear_replacements.py +0 -0
  349. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/identity_op.py +0 -0
  350. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/mlp.py +0 -0
  351. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/module.py +0 -0
  352. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/__init__.py +0 -0
  353. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/grouped_gemm_util.py +0 -0
  354. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/upcycling_utils.py +0 -0
  355. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/pipeline_parallel_layer_layout.py +0 -0
  356. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/spec_utils.py +0 -0
  357. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/torch_layer_norm.py +0 -0
  358. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/torch_norm.py +0 -0
  359. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/transformer_block.py +0 -0
  360. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron_core.egg-info/SOURCES.txt +0 -0
  361. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron_core.egg-info/dependency_links.txt +0 -0
  362. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron_core.egg-info/requires.txt +0 -0
  363. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/megatron_core.egg-info/top_level.txt +0 -0
  364. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/pyproject.toml +0 -0
  365. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/setup.cfg +0 -0
  366. {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101524}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: megatron-core
3
- Version: 0.16.0rc0.dev101470
3
+ Version: 0.16.0rc0.dev101524
4
4
  Summary: Megatron Core - a library for efficient and scalable training of transformer based models
5
5
  Author-email: NVIDIA <nemo-toolkit@nvidia.com>
6
6
  Maintainer-email: NVIDIA <nemo-toolkit@nvidia.com>
@@ -175,7 +175,7 @@ pip install --no-build-isolation .[mlm,dev]
175
175
 
176
176
  ```
177
177
  Megatron-LM/
178
- ├── megatron/
178
+ ├── megatron/
179
179
  │ ├── core/ # Megatron Core (kernels, parallelism, building blocks)
180
180
  │ │ ├── models/ # Transformer models
181
181
  │ │ ├── transformer/ # Transformer building blocks
@@ -204,7 +204,7 @@ Megatron-LM/
204
204
 
205
205
  - **Training state-of-the-art foundation models** at scale with cutting-edge performance on latest NVIDIA hardware
206
206
  - **Research teams** exploring new architectures and training techniques
207
- - **Learning distributed training** concepts and best practices
207
+ - **Learning distributed training** concepts and best practices
208
208
  - **Quick experimentation** with proven model configurations
209
209
 
210
210
  **What you get:**
@@ -213,7 +213,7 @@ Megatron-LM/
213
213
  - End-to-end examples from data prep to evaluation
214
214
  - Research-focused tools and utilities
215
215
 
216
- ### Megatron Core: Composable Library
216
+ ### Megatron Core: Composable Library
217
217
 
218
218
  **Composable library** with GPU-optimized building blocks for custom training frameworks.
219
219
 
@@ -246,7 +246,7 @@ Megatron-LM/
246
246
  - **[Megatron Bridge](https://github.com/NVIDIA-NeMo/Megatron-Bridge)** - Training library with bidirectional Hugging Face ↔ Megatron checkpoint conversion, flexible training loops, and production-ready recipes
247
247
  - **[NeMo RL](https://github.com/NVIDIA-NeMo/RL)** - Scalable toolkit for efficient reinforcement learning with RLHF, DPO, and other post-training methods
248
248
  - **[NeMo Framework](https://docs.nvidia.com/nemo-framework/user-guide/latest/overview.html)** - Enterprise framework with cloud-native support and end-to-end examples
249
- - **[TensorRT Model Optimizer (ModelOpt)](https://github.com/NVIDIA/TensorRT-Model-Optimizer)** - Model optimization toolkit for quantization, pruning, and distillation
249
+ - **[TensorRT Model Optimizer (ModelOpt)](https://github.com/NVIDIA/TensorRT-Model-Optimizer)** - Model optimization toolkit for quantization, pruning, distillation, speculative decoding, and more. Checkout end-to-end examples in [examples/post_training/modelopt](./examples/post_training/modelopt/).
250
250
 
251
251
  **Compatible with:** [Hugging Face Accelerate](https://github.com/huggingface/accelerate), [Colossal-AI](https://github.com/hpcaitech/ColossalAI), [DeepSpeed](https://github.com/microsoft/DeepSpeed)
252
252
 
@@ -333,7 +333,7 @@ Our codebase efficiently trains models from 2B to 462B parameters across thousan
333
333
  **Benchmark Configuration:**
334
334
 
335
335
  - **Vocabulary size**: 131,072 tokens
336
- - **Sequence length**: 4096 tokens
336
+ - **Sequence length**: 4096 tokens
337
337
  - **Model scaling**: Varied hidden size, attention heads, and layers to achieve target parameter counts
338
338
  - **Communication optimizations**: Fine-grained overlapping with DP (`--overlap-grad-reduce`, `--overlap-param-gather`), TP (`--tp-comm-overlap`), and PP (enabled by default)
339
339
 
@@ -99,7 +99,7 @@ pip install --no-build-isolation .[mlm,dev]
99
99
 
100
100
  ```
101
101
  Megatron-LM/
102
- ├── megatron/
102
+ ├── megatron/
103
103
  │ ├── core/ # Megatron Core (kernels, parallelism, building blocks)
104
104
  │ │ ├── models/ # Transformer models
105
105
  │ │ ├── transformer/ # Transformer building blocks
@@ -128,7 +128,7 @@ Megatron-LM/
128
128
 
129
129
  - **Training state-of-the-art foundation models** at scale with cutting-edge performance on latest NVIDIA hardware
130
130
  - **Research teams** exploring new architectures and training techniques
131
- - **Learning distributed training** concepts and best practices
131
+ - **Learning distributed training** concepts and best practices
132
132
  - **Quick experimentation** with proven model configurations
133
133
 
134
134
  **What you get:**
@@ -137,7 +137,7 @@ Megatron-LM/
137
137
  - End-to-end examples from data prep to evaluation
138
138
  - Research-focused tools and utilities
139
139
 
140
- ### Megatron Core: Composable Library
140
+ ### Megatron Core: Composable Library
141
141
 
142
142
  **Composable library** with GPU-optimized building blocks for custom training frameworks.
143
143
 
@@ -170,7 +170,7 @@ Megatron-LM/
170
170
  - **[Megatron Bridge](https://github.com/NVIDIA-NeMo/Megatron-Bridge)** - Training library with bidirectional Hugging Face ↔ Megatron checkpoint conversion, flexible training loops, and production-ready recipes
171
171
  - **[NeMo RL](https://github.com/NVIDIA-NeMo/RL)** - Scalable toolkit for efficient reinforcement learning with RLHF, DPO, and other post-training methods
172
172
  - **[NeMo Framework](https://docs.nvidia.com/nemo-framework/user-guide/latest/overview.html)** - Enterprise framework with cloud-native support and end-to-end examples
173
- - **[TensorRT Model Optimizer (ModelOpt)](https://github.com/NVIDIA/TensorRT-Model-Optimizer)** - Model optimization toolkit for quantization, pruning, and distillation
173
+ - **[TensorRT Model Optimizer (ModelOpt)](https://github.com/NVIDIA/TensorRT-Model-Optimizer)** - Model optimization toolkit for quantization, pruning, distillation, speculative decoding, and more. Checkout end-to-end examples in [examples/post_training/modelopt](./examples/post_training/modelopt/).
174
174
 
175
175
  **Compatible with:** [Hugging Face Accelerate](https://github.com/huggingface/accelerate), [Colossal-AI](https://github.com/hpcaitech/ColossalAI), [DeepSpeed](https://github.com/microsoft/DeepSpeed)
176
176
 
@@ -257,7 +257,7 @@ Our codebase efficiently trains models from 2B to 462B parameters across thousan
257
257
  **Benchmark Configuration:**
258
258
 
259
259
  - **Vocabulary size**: 131,072 tokens
260
- - **Sequence length**: 4096 tokens
260
+ - **Sequence length**: 4096 tokens
261
261
  - **Model scaling**: Varied hidden size, attention heads, and layers to achieve target parameter counts
262
262
  - **Communication optimizations**: Fine-grained overlapping with DP (`--overlap-grad-reduce`, `--overlap-param-gather`), TP (`--tp-comm-overlap`), and PP (enabled by default)
263
263
 
@@ -2782,6 +2782,9 @@ class GradReducePipeline:
2782
2782
  outer_fsdp_group_grad_reduce (bool, optional): Whether to reduce gradients
2783
2783
  across outer-DP groups. Defaults to False.
2784
2784
  """
2785
+ # Sort parameters by their bucket IDs to ensure a deterministic processing order.
2786
+ # Performing reduce-scatter operations out of order can lead to hangs.
2787
+ params = sorted(list(params), key=lambda x: self.buffer.param_to_param_group[x])
2785
2788
  for param in params:
2786
2789
  bucket_id = self.buffer.param_to_param_group[param]
2787
2790
  param_group = self.buffer.parameter_groups[bucket_id]
@@ -25,6 +25,8 @@ from torch.distributed.checkpoint.metadata import (
25
25
  from torch.distributed.checkpoint.planner import TensorWriteData, WriteItem, WriteItemType
26
26
  from torch.distributed.tensor.placement_types import Replicate, Shard, _StridedShard
27
27
 
28
+ from .utils import get_mesh_names
29
+
28
30
 
29
31
  def gather_and_compute_chunk_metadata(dtensor: DTensor) -> ChunkStorageMetadata:
30
32
  """
@@ -272,7 +274,14 @@ def gather_uneven_dtensor_to_full_tensor(
272
274
  if not device_mesh.mesh_dim_names:
273
275
  process_group = device_mesh.get_group()
274
276
  else:
275
- process_group = device_mesh._flatten().get_group()
277
+ # Check if the fully-flattened mesh exists first.
278
+ full_flattened_mesh_dim_name = "_".join(device_mesh.mesh_dim_names)
279
+ if full_flattened_mesh_dim_name in get_mesh_names(device_mesh):
280
+ # Retrieve the existing flattened DeviceMesh ProcessGroup.
281
+ process_group = device_mesh[full_flattened_mesh_dim_name].get_group()
282
+ else:
283
+ # Create the _-separated flattened DeviceMesh ProcessGroup.
284
+ process_group = device_mesh._flatten().get_group()
276
285
 
277
286
  # Collect chunk metadata for uneven shards (update if missing)
278
287
  if not hasattr(dtensor._local_tensor, "__create_chunk_list__"):
@@ -167,13 +167,10 @@ def get_mesh_names(device_mesh: Optional[DeviceMesh] = None) -> list[str]:
167
167
  submesh_dim_name
168
168
  for child_mesh, root_mesh in _mesh_resources.child_to_root_mapping.items()
169
169
  for submesh_dim_name in (child_mesh.mesh_dim_names or [])
170
- if root_mesh == device_mesh
170
+ # Add flattened or other unaccounted for children of the root mesh.
171
+ if root_mesh == device_mesh and submesh_dim_name not in mesh_dim_names
171
172
  ]
172
- # Combine without duplicate dimensions.
173
- for dim_name in submesh_dim_names:
174
- if dim_name not in mesh_dim_names:
175
- mesh_dim_names.append(dim_name)
176
- return mesh_dim_names
173
+ return mesh_dim_names + submesh_dim_names
177
174
 
178
175
 
179
176
  def contains_submesh(
@@ -48,6 +48,28 @@ def is_nvfp4tensor(tensor: torch.Tensor) -> bool:
48
48
  return HAVE_TE_FP4_TENSOR_CLASS and isinstance(tensor, FP4_TENSOR_CLASS)
49
49
 
50
50
 
51
+ def get_fp4_align_size(fp4_recipe: Fp4Recipe) -> int:
52
+ """
53
+ Get the alignment size required for FP4 GEMM.
54
+ FP4 GEMM requires Blackwell and later architectures.
55
+
56
+ The value 32 is a hardware requirement: TMA (Tensor Memory Accelerator) requires
57
+ a 16-byte aligned address for efficient memory access. Since FP4 uses 4 bits per value,
58
+ 16 bytes (128 bits) corresponds to 32 FP4 values. Therefore, the alignment size for FP4
59
+ is 32. With this alignment, NVFP4 GEMM can be performed efficiently.
60
+
61
+ Note that since we are also random hadamard transform for NVFP4 training, we want
62
+ fused group nvfp4 quantize plus hadamard transform. Hadamard transform will leverage
63
+ tensor core instructions for better performance, while group quantize kernels also
64
+ prefer a more aligned size in token dimension M. Therefore, we apply align size 64
65
+ here for better performance in MOE.
66
+
67
+ Paper link: https://arxiv.org/pdf/2509.25149
68
+ """
69
+ # pylint: disable=unused-argument
70
+ return 64
71
+
72
+
51
73
  def dequantize_fp4_tensor(fp4_tensor: torch.Tensor) -> torch.Tensor:
52
74
  """Dequantize a fp4 tensor to a higher precision tensor."""
53
75
  if is_te_min_version("2.7.0.dev0"):
@@ -6,7 +6,7 @@ from unittest.mock import MagicMock
6
6
  import torch
7
7
  from packaging import version
8
8
 
9
- from megatron.core.utils import experimental_fn, null_decorator
9
+ from megatron.core.utils import null_decorator
10
10
 
11
11
  try:
12
12
  import triton
@@ -279,7 +279,6 @@ class IndicesToMultihot(torch.autograd.Function):
279
279
  return None, grad_probs_indices, None, None
280
280
 
281
281
 
282
- @experimental_fn(introduced_with_version='0.11.0rc0')
283
282
  def fused_indices_to_multihot(indices, probs_indices, num_of_local_experts):
284
283
  """Convert moe topk indices to multihot representation.
285
284
 
@@ -6,7 +6,7 @@ from unittest.mock import MagicMock
6
6
  import torch
7
7
  from packaging import version
8
8
 
9
- from megatron.core.utils import experimental_fn, null_decorator
9
+ from megatron.core.utils import null_decorator
10
10
 
11
11
  try:
12
12
  import triton
@@ -324,7 +324,6 @@ class ApplyMLARotaryEmbQ(torch.autograd.Function):
324
324
  return grad, None, None, None, None, None, None, None, None
325
325
 
326
326
 
327
- @experimental_fn(introduced_with_version="0.13.0")
328
327
  def fused_apply_mla_rope_for_q(
329
328
  t: torch.Tensor,
330
329
  cos: torch.Tensor,
@@ -733,7 +732,6 @@ class ApplyMLARotaryEmbKV(torch.autograd.Function):
733
732
  return d_kv, d_emb, None, None, None, None, None, None, None, None, None
734
733
 
735
734
 
736
- @experimental_fn(introduced_with_version="0.13.0")
737
735
  def fused_apply_mla_rope_for_kv(
738
736
  kv: torch.Tensor,
739
737
  k_pos_emb: torch.Tensor,
@@ -1,10 +1,12 @@
1
- # Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.
1
+ # Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2
+
2
3
  from unittest.mock import MagicMock
3
4
 
4
5
  import torch
5
6
  from packaging import version
6
7
 
7
- from megatron.core.utils import experimental_fn, null_decorator
8
+ from megatron.core.jit import jit_fuser
9
+ from megatron.core.utils import null_decorator
8
10
 
9
11
  try:
10
12
  import triton
@@ -68,7 +70,7 @@ def _pad_routing_map_kernel(
68
70
  tl.store(output_row_ptr + token_indices, output_row, mask=token_mask)
69
71
 
70
72
 
71
- @experimental_fn(introduced_with_version="0.13.0")
73
+ @jit_fuser
72
74
  def fused_pad_routing_map(routing_map: torch.Tensor, pad_multiple: int) -> torch.Tensor:
73
75
  """Fused version of pad_routing_map.
74
76
  Args:
@@ -71,8 +71,7 @@ def broadcast_from_last_pipeline_stage(
71
71
  tensor.shape
72
72
  ), f"Expected tensor of shape {size} but got {list(tensor.shape)}"
73
73
  assert dtype == tensor.dtype, f"Expected tensor of type {dtype} but got {tensor.dtype}"
74
- _is_cuda(tensor)
75
- assert tensor.is_contiguous()
74
+ _is_cuda_contiguous(tensor)
76
75
  else:
77
76
  tensor = torch.empty(size, dtype=dtype, device=torch.cuda.current_device())
78
77
 
@@ -1,8 +1,28 @@
1
1
  # Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2
2
 
3
+ from dataclasses import dataclass
4
+ from typing import List, Optional, Tuple
5
+
3
6
  import torch
4
7
 
5
8
 
9
+ @dataclass
10
+ class MambaInferenceStateConfig:
11
+ """Config for initializing Mamba model inference state tensors."""
12
+
13
+ layer_type_list: List[str]
14
+ """
15
+ A list of strings that indicates the layer type (Mamba / Attention / MLP) for each layer.
16
+ See `megatron/core/ssm/mamba_hybrid_layer_allocation.py` for the list of symbols.
17
+ """
18
+
19
+ mamba_conv_states_shape: Tuple[int]
20
+ """Mamba conv states shape per request."""
21
+
22
+ mamba_ssm_states_shape: Tuple[int]
23
+ """Mamba ssm states shape per request."""
24
+
25
+
6
26
  class MambaMetadata:
7
27
  """Manages the metadata tensors required for Mamba layers during inference."""
8
28
 
@@ -64,7 +84,7 @@ class MambaMetadata:
64
84
  """
65
85
  self.request_to_mamba_state_idx_cudagraph_only[0:num_active_requests] = active_mamba_indices
66
86
 
67
- def allocate_slot(self) -> int:
87
+ def allocate_slot(self) -> Optional[int]:
68
88
  """
69
89
  Allocates a new slot for a request in the Mamba state buffers.
70
90
 
@@ -0,0 +1,119 @@
1
+ # Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.
2
+
3
+ from typing import Optional
4
+
5
+ import torch
6
+ from torch import Tensor
7
+
8
+
9
+ class BlockAllocator:
10
+ """Allocator that manages blocks of memory for the KV cache.
11
+
12
+ This allocator is responsible for:
13
+ - Initializing a pool of block IDs
14
+ - Allocating blocks from the pool
15
+ - Releasing blocks back to the pool
16
+
17
+ Args:
18
+ context (DynamicInferenceContext): Dynamic inference context.
19
+ active_count (int): Total number of active blocks available in the buffer.
20
+ The full buffer size is 2*active_count, to accommodate an equal-size
21
+ space for paused requests that live on the CPU.
22
+ """
23
+
24
+ def __init__(self, context: "DynamicInferenceContext", total_count: int):
25
+
26
+ self.context = context
27
+
28
+ active_count = (total_count - 1) // 2 # -1 for dummy_block_idx (see below)
29
+ active_count = max(1, active_count) # need at least one block
30
+ self.total_count = 2 * active_count + 1 # +1 for dummy_block_idx
31
+ self.total_avail = self.total_count - 1 # -1 for dummy_block_idx
32
+ self.active_count = active_count
33
+ self.paused_count = self.total_count - self.active_count - 1 # -1 for dummy_block_idx
34
+ self.dummy_block_idx = self.total_count - 1
35
+
36
+ # Initialize block pool as a "stack" data structure
37
+ self.block_bag = torch.arange(
38
+ self.total_count, dtype=torch.int32, device=torch.cuda.current_device()
39
+ )
40
+
41
+ def __str__(self):
42
+ return (
43
+ f"total avail {self.total_avail} / {self.total_count - 1}"
44
+ f"; active {self.active_count}"
45
+ )
46
+
47
+ def get_active_used(self):
48
+ """Compute number of active blocks used."""
49
+ return (
50
+ self.context.request_kv_block_counts[
51
+ self.context.paused_request_count : self.context.total_request_count
52
+ ]
53
+ .sum()
54
+ .item()
55
+ )
56
+
57
+ def get_paused_used(self):
58
+ """Compute number of paused blocks used."""
59
+ return (
60
+ self.context.request_kv_block_counts[: self.context.paused_request_count].sum().item()
61
+ )
62
+
63
+ def get_active_avail(self):
64
+ """Compute number of active blocks available."""
65
+ return self.active_count - self.get_active_used()
66
+
67
+ def get_paused_avail(self):
68
+ """Compute number of paused blocks available."""
69
+ return self.paused_count - self.get_paused_used()
70
+
71
+ def is_memory_available(self, num_blocks: int) -> bool:
72
+ """Check if memory blocks are available.
73
+
74
+ Args:
75
+ num_blocks (int): Number of blocks to check.
76
+
77
+ Return:
78
+ (bool) Is memory available?
79
+ """
80
+ return self.get_active_avail() >= num_blocks
81
+
82
+ def allocate_memory_blocks(self, num_blocks: int) -> Optional[Tensor]:
83
+ """Allocate memory blocks if available, else return None.
84
+
85
+ Args:
86
+ num_blocks (int): Number of blocks to allocate.
87
+
88
+ Return:
89
+ (Optional[Tensor]) Allocated block IDs.
90
+ """
91
+ if self.is_memory_available(num_blocks):
92
+ self.total_avail -= num_blocks
93
+ block_ids = self.block_bag[self.total_avail : (self.total_avail + num_blocks)]
94
+ assert num_blocks == block_ids.numel()
95
+ return block_ids
96
+ else:
97
+ return None
98
+
99
+ def release_memory_blocks(self, blocks: Tensor) -> None:
100
+ """Release memory blocks.
101
+
102
+ Args:
103
+ blocks (Tensor): Block IDs to release.
104
+
105
+ Return:
106
+ None
107
+ """
108
+ num_blocks = blocks.size(dim=0)
109
+ self.block_bag[self.total_avail : (self.total_avail + num_blocks)] = blocks
110
+ self.total_avail += num_blocks
111
+
112
+ def reset(self) -> None:
113
+ """Reset the allocator to initial state.
114
+
115
+ This resets the available block count to the entire memory pool
116
+ (except for the dummy block).
117
+ """
118
+
119
+ self.total_avail = self.total_count - 1