megatron-core 0.16.0rc0.dev101484__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 (362) hide show
  1. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/PKG-INFO +1 -1
  2. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/src/megatron_fsdp/uneven_dtensor.py +10 -1
  3. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/src/megatron_fsdp/utils.py +3 -6
  4. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_indices_converter.py +1 -2
  5. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_mla_yarn_rope_apply.py +1 -3
  6. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_pad_routing_map.py +1 -2
  7. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/contexts/dynamic_block_allocator.py +1 -0
  8. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/contexts/dynamic_context.py +9 -11
  9. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/data_parallel_inference_coordinator.py +48 -2
  10. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/engines/dynamic_engine.py +102 -21
  11. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/headers.py +3 -1
  12. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/inference_client.py +67 -19
  13. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/inference_request.py +2 -0
  14. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_controllers/text_generation_controller.py +128 -11
  15. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/unified_memory.py +51 -15
  16. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/embeddings/rope_utils.py +26 -25
  17. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/embeddings/yarn_rotary_pos_embedding.py +7 -4
  18. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/optimizer/distrib_optimizer.py +2 -1
  19. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/optimizer/optimizer.py +1 -0
  20. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/package_info.py +1 -1
  21. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/timers.py +15 -6
  22. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/dot_product_attention.py +8 -2
  23. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/fsdp_dtensor_checkpoint.py +44 -23
  24. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/transformer_config.py +2 -2
  25. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/utils.py +0 -3
  26. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/utils.py +9 -2
  27. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron_core.egg-info/PKG-INFO +1 -1
  28. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/MANIFEST.in +0 -0
  29. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/README.md +0 -0
  30. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/README.md +0 -0
  31. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/__init__.py +0 -0
  32. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/activations.py +0 -0
  33. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/config.py +0 -0
  34. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/config_logger.py +0 -0
  35. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/__init__.py +0 -0
  36. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/bert_dataset.py +0 -0
  37. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/blended_dataset.py +0 -0
  38. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/blended_megatron_dataset_builder.py +0 -0
  39. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/blended_megatron_dataset_config.py +0 -0
  40. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/gpt_dataset.py +0 -0
  41. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/helpers.cpp +0 -0
  42. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/helpers.py +0 -0
  43. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/indexed_dataset.py +0 -0
  44. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/masked_dataset.py +0 -0
  45. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/megatron_dataset.py +0 -0
  46. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/megatron_tokenizer.py +0 -0
  47. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/multimodal_dataset.py +0 -0
  48. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/object_storage_utils.py +0 -0
  49. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/__init__.py +0 -0
  50. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/config/__init__.py +0 -0
  51. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/config/bert_embedders.py +0 -0
  52. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/config/config.py +0 -0
  53. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/config/gpt_chunk_datasets.py +0 -0
  54. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/config/tokenizers.py +0 -0
  55. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/db/__init__.py +0 -0
  56. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/db/build.py +0 -0
  57. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/db/dataset.py +0 -0
  58. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/db/utils.py +0 -0
  59. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/external_libs.py +0 -0
  60. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/index/__init__.py +0 -0
  61. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/index/build.py +0 -0
  62. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/index/factory.py +0 -0
  63. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/index/index.py +0 -0
  64. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/index/indexes/__init__.py +0 -0
  65. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/index/indexes/faiss_base.py +0 -0
  66. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/index/indexes/faiss_par_add.py +0 -0
  67. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/index/utils.py +0 -0
  68. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/index/validate.py +0 -0
  69. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/query/__init__.py +0 -0
  70. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/query/gpt_chunk_dataset.py +0 -0
  71. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/query/multi_split_gpt_dataset.py +0 -0
  72. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/query/query.py +0 -0
  73. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/query/retro_dataset.py +0 -0
  74. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/query/utils.py +0 -0
  75. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/utils.py +0 -0
  76. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/t5_dataset.py +0 -0
  77. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/utils.py +0 -0
  78. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/utils_s3.py +0 -0
  79. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/__init__.py +0 -0
  80. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/core.py +0 -0
  81. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/dict_utils.py +0 -0
  82. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/exchange_utils.py +0 -0
  83. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/mapping.py +0 -0
  84. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/optimizer.py +0 -0
  85. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/serialization.py +0 -0
  86. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/state_dict_utils.py +0 -0
  87. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/__init__.py +0 -0
  88. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/async_utils.py +0 -0
  89. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/base.py +0 -0
  90. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/cached_metadata_filesystem_reader.py +0 -0
  91. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/checkpointable.py +0 -0
  92. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/common.py +0 -0
  93. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/filesystem_async.py +0 -0
  94. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/fully_parallel.py +0 -0
  95. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/resharding.py +0 -0
  96. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/state_dict_saver.py +0 -0
  97. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/tensorstore.py +0 -0
  98. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/torch.py +0 -0
  99. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/two_stage.py +0 -0
  100. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/zarr.py +0 -0
  101. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/tensor_aware_state_dict.py +0 -0
  102. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/utils.py +0 -0
  103. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/validation.py +0 -0
  104. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/__init__.py +0 -0
  105. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/data_parallel_base.py +0 -0
  106. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/distributed_data_parallel.py +0 -0
  107. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/distributed_data_parallel_config.py +0 -0
  108. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/finalize_model_grads.py +0 -0
  109. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/__init__.py +0 -0
  110. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/mcore_fsdp_adapter.py +0 -0
  111. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/src/__init__.py +0 -0
  112. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/src/megatron_fsdp/__init__.py +0 -0
  113. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/src/megatron_fsdp/distributed_data_parallel_config.py +0 -0
  114. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/src/megatron_fsdp/fully_shard.py +0 -0
  115. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/src/megatron_fsdp/megatron_fsdp.py +0 -0
  116. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/src/megatron_fsdp/package_info.py +0 -0
  117. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/src/megatron_fsdp/param_and_grad_buffer.py +0 -0
  118. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/param_and_grad_buffer.py +0 -0
  119. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/reduce_scatter_with_fp32_accumulation.py +0 -0
  120. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/torch_fully_sharded_data_parallel.py +0 -0
  121. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/torch_fully_sharded_data_parallel_config.py +0 -0
  122. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/energy_monitor.py +0 -0
  123. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/enums.py +0 -0
  124. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/__init__.py +0 -0
  125. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/data_type.py +0 -0
  126. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/export_config.py +0 -0
  127. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/model_type.py +0 -0
  128. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/__init__.py +0 -0
  129. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/engine_builder/__init__.py +0 -0
  130. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/engine_builder/trtllm_engine_builder.py +0 -0
  131. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/model_to_trllm_mapping/__init__.py +0 -0
  132. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/model_to_trllm_mapping/default_conversion_dict.py +0 -0
  133. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/trt_model_config.py +0 -0
  134. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/trt_model_type.py +0 -0
  135. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/trtllm_helper.py +0 -0
  136. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/trtllm_layers.py +0 -0
  137. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/trtllm_weights_converter/__init__.py +0 -0
  138. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/trtllm_weights_converter/distributed_trtllm_model_weights_converter.py +0 -0
  139. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/trtllm_weights_converter/single_device_trtllm_model_weights_converter.py +0 -0
  140. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/trtllm_weights_converter/utils.py +0 -0
  141. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/extensions/__init__.py +0 -0
  142. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/extensions/kitchen.py +0 -0
  143. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/extensions/transformer_engine.py +0 -0
  144. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/extensions/transformer_engine_spec_provider.py +0 -0
  145. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fp4_utils.py +0 -0
  146. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fp8_utils.py +0 -0
  147. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/full_cuda_graph.py +0 -0
  148. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/__init__.py +0 -0
  149. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_bias_dropout.py +0 -0
  150. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_bias_geglu.py +0 -0
  151. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_bias_gelu.py +0 -0
  152. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_bias_swiglu.py +0 -0
  153. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_cross_entropy.py +0 -0
  154. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_layer_norm.py +0 -0
  155. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_softmax.py +0 -0
  156. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_weighted_squared_relu.py +0 -0
  157. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/hyper_comm_grid.py +0 -0
  158. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/__init__.py +0 -0
  159. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/async_stream.py +0 -0
  160. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/common_inference_params.py +0 -0
  161. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/communication_utils.py +0 -0
  162. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/contexts/__init__.py +0 -0
  163. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/contexts/attention_context/mamba_metadata.py +0 -0
  164. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/contexts/attention_context/metadata_base.py +0 -0
  165. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/contexts/attention_context/mha_metadata.py +0 -0
  166. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/contexts/base_context.py +0 -0
  167. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/contexts/fused_kv_append_kernel.py +0 -0
  168. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/contexts/static_context.py +0 -0
  169. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/engines/__init__.py +0 -0
  170. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/engines/abstract_engine.py +0 -0
  171. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/engines/mcore_engine.py +0 -0
  172. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/engines/static_engine.py +0 -0
  173. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/model_inference_wrappers/__init__.py +0 -0
  174. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/model_inference_wrappers/abstract_model_inference_wrapper.py +0 -0
  175. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/model_inference_wrappers/gpt/__init__.py +0 -0
  176. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/model_inference_wrappers/gpt/gpt_inference_wrapper.py +0 -0
  177. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/model_inference_wrappers/inference_wrapper_config.py +0 -0
  178. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/model_inference_wrappers/multimodal/vlm_inference_wrapper.py +0 -0
  179. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/model_inference_wrappers/t5/__init__.py +0 -0
  180. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/model_inference_wrappers/t5/t5_inference_wrapper.py +0 -0
  181. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/sampling_params.py +0 -0
  182. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/scheduler.py +0 -0
  183. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_controllers/__init__.py +0 -0
  184. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_controllers/encoder_decoder_text_generation_controller.py +0 -0
  185. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_controllers/simple_text_generation_controller.py +0 -0
  186. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_controllers/vlm_text_generation_controller.py +0 -0
  187. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_server/__init__.py +0 -0
  188. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_server/endpoints/common.py +0 -0
  189. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_server/endpoints/completions.py +0 -0
  190. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_server/run_mcore_engine.py +0 -0
  191. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_server/text_generation_server.py +0 -0
  192. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_server/tokenization.py +0 -0
  193. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/utils.py +0 -0
  194. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference_params.py +0 -0
  195. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/jit.py +0 -0
  196. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/model_parallel_config.py +0 -0
  197. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/T5/__init__.py +0 -0
  198. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/T5/t5_model.py +0 -0
  199. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/T5/t5_spec.py +0 -0
  200. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/__init__.py +0 -0
  201. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/backends.py +0 -0
  202. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/bert/__init__.py +0 -0
  203. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/bert/bert_layer_specs.py +0 -0
  204. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/bert/bert_lm_head.py +0 -0
  205. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/bert/bert_model.py +0 -0
  206. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/bert/pooler.py +0 -0
  207. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/__init__.py +0 -0
  208. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/embeddings/__init__.py +0 -0
  209. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/embeddings/language_model_embedding.py +0 -0
  210. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/embeddings/relative_pos_embedding.py +0 -0
  211. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/embeddings/rotary_pos_embedding.py +0 -0
  212. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/language_module/__init__.py +0 -0
  213. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/language_module/language_module.py +0 -0
  214. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/model_chunk_schedule_plan.py +0 -0
  215. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/vision_module/__init__.py +0 -0
  216. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/vision_module/vision_module.py +0 -0
  217. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/gpt/__init__.py +0 -0
  218. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/gpt/fine_grained_callables.py +0 -0
  219. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/gpt/gpt_layer_specs.py +0 -0
  220. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/gpt/gpt_model.py +0 -0
  221. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/gpt/heterogeneous/heterogeneous_layer_specs.py +0 -0
  222. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/gpt/moe_module_specs.py +0 -0
  223. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/huggingface/__init__.py +0 -0
  224. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/huggingface/clip_model.py +0 -0
  225. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/huggingface/module.py +0 -0
  226. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/huggingface/qwen_model.py +0 -0
  227. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mamba/__init__.py +0 -0
  228. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mamba/mamba_layer_specs.py +0 -0
  229. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mamba/mamba_model.py +0 -0
  230. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mimo/__init__.py +0 -0
  231. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mimo/config/__init__.py +0 -0
  232. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mimo/config/base_configs.py +0 -0
  233. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mimo/model/__init__.py +0 -0
  234. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mimo/model/base.py +0 -0
  235. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mimo/submodules/audio.py +0 -0
  236. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mimo/submodules/base.py +0 -0
  237. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mimo/submodules/vision.py +0 -0
  238. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/multimodal/__init__.py +0 -0
  239. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/multimodal/context_parallel.py +0 -0
  240. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/multimodal/llava_model.py +0 -0
  241. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/multimodal/llava_spec.py +0 -0
  242. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/retro/__init__.py +0 -0
  243. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/retro/base_attention.py +0 -0
  244. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/retro/config.py +0 -0
  245. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/retro/decoder_attention.py +0 -0
  246. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/retro/decoder_spec.py +0 -0
  247. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/retro/encoder_attention.py +0 -0
  248. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/retro/encoder_spec.py +0 -0
  249. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/retro/model.py +0 -0
  250. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/retro/utils.py +0 -0
  251. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/vision/__init__.py +0 -0
  252. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/vision/clip_vit_model.py +0 -0
  253. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/vision/multimodal_projector.py +0 -0
  254. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/vision/radio.py +0 -0
  255. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/vision/vit_layer_specs.py +0 -0
  256. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/msc_utils.py +0 -0
  257. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/nccl_allocator.py +0 -0
  258. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/num_microbatches_calculator.py +0 -0
  259. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/optimizer/__init__.py +0 -0
  260. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/optimizer/clip_grads.py +0 -0
  261. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/optimizer/cpu_offloading/__init__.py +0 -0
  262. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/optimizer/cpu_offloading/hybrid_optimizer.py +0 -0
  263. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/optimizer/grad_scaler.py +0 -0
  264. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/optimizer/optimizer_config.py +0 -0
  265. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/optimizer_param_scheduler.py +0 -0
  266. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/packed_seq_params.py +0 -0
  267. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/parallel_state.py +0 -0
  268. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/pipeline_parallel/__init__.py +0 -0
  269. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/pipeline_parallel/bridge_communicator.py +0 -0
  270. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/pipeline_parallel/combined_1f1b.py +0 -0
  271. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/pipeline_parallel/p2p_communication.py +0 -0
  272. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/pipeline_parallel/schedules.py +0 -0
  273. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/pipeline_parallel/utils.py +0 -0
  274. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/post_training/__init__.py +0 -0
  275. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/post_training/modelopt/__init__.py +0 -0
  276. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/post_training/modelopt/gpt/__init__.py +0 -0
  277. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/post_training/modelopt/gpt/model_specs.py +0 -0
  278. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/post_training/modelopt/gpt/state_dict_hooks.py +0 -0
  279. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/post_training/modelopt/layers.py +0 -0
  280. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/post_training/modelopt/mamba/__init__.py +0 -0
  281. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/post_training/modelopt/mamba/model_specs.py +0 -0
  282. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/process_groups_config.py +0 -0
  283. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/quantization/__init__.py +0 -0
  284. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/quantization/quant_config.py +0 -0
  285. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/quantization/utils.py +0 -0
  286. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/requirements.txt +0 -0
  287. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/rerun_state_machine.py +0 -0
  288. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/safe_globals.py +0 -0
  289. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/ssm/__init__.py +0 -0
  290. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/ssm/mamba_block.py +0 -0
  291. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/ssm/mamba_context_parallel.py +0 -0
  292. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/ssm/mamba_hybrid_layer_allocation.py +0 -0
  293. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/ssm/mamba_layer.py +0 -0
  294. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/ssm/mamba_mixer.py +0 -0
  295. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/ssm/mlp_layer.py +0 -0
  296. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/ssm/triton_cache_manager.py +0 -0
  297. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tensor_parallel/__init__.py +0 -0
  298. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tensor_parallel/cross_entropy.py +0 -0
  299. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tensor_parallel/data.py +0 -0
  300. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tensor_parallel/inference_layers.py +0 -0
  301. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tensor_parallel/layers.py +0 -0
  302. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tensor_parallel/mappings.py +0 -0
  303. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tensor_parallel/random.py +0 -0
  304. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tensor_parallel/utils.py +0 -0
  305. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/__init__.py +0 -0
  306. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/base_tokenizer.py +0 -0
  307. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/megatron_tokenizer.py +0 -0
  308. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/__init__.py +0 -0
  309. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/libraries/__init__.py +0 -0
  310. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/libraries/abstract_tokenizer.py +0 -0
  311. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/libraries/bytelevel_tokenizer.py +0 -0
  312. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/libraries/chat_template.py +0 -0
  313. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/libraries/huggingface_tokenizer.py +0 -0
  314. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/libraries/megatron_hf_tokenizer.py +0 -0
  315. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/libraries/null_tokenizer.py +0 -0
  316. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/libraries/sentencepiece_tokenizer.py +0 -0
  317. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/libraries/tiktoken_tokenizer.py +0 -0
  318. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/models/__init__.py +0 -0
  319. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/models/bert_tokenizer.py +0 -0
  320. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/models/default_tokenizer.py +0 -0
  321. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/models/gpt_tokenizer.py +0 -0
  322. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/models/mamba_tokenizer.py +0 -0
  323. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/models/retro_tokenizer.py +0 -0
  324. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/models/t5_tokenizer.py +0 -0
  325. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/text_tokenizer.py +0 -0
  326. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/utils/build_tokenizer.py +0 -0
  327. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/__init__.py +0 -0
  328. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/attention.py +0 -0
  329. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/cuda_graphs.py +0 -0
  330. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/custom_layers/__init__.py +0 -0
  331. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/custom_layers/transformer_engine.py +0 -0
  332. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/enums.py +0 -0
  333. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/heterogeneous/heterogeneous_config.py +0 -0
  334. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/heterogeneous/linear_replacements.py +0 -0
  335. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/identity_op.py +0 -0
  336. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/mlp.py +0 -0
  337. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/module.py +0 -0
  338. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/__init__.py +0 -0
  339. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/experts.py +0 -0
  340. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/fused_a2a.py +0 -0
  341. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/grouped_gemm_util.py +0 -0
  342. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/moe_layer.py +0 -0
  343. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/moe_utils.py +0 -0
  344. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/router.py +0 -0
  345. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/shared_experts.py +0 -0
  346. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/token_dispatcher.py +0 -0
  347. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/upcycling_utils.py +0 -0
  348. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/multi_latent_attention.py +0 -0
  349. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/multi_token_prediction.py +0 -0
  350. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/pipeline_parallel_layer_layout.py +0 -0
  351. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/spec_utils.py +0 -0
  352. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/torch_layer_norm.py +0 -0
  353. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/torch_norm.py +0 -0
  354. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/transformer_block.py +0 -0
  355. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/transformer_layer.py +0 -0
  356. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron_core.egg-info/SOURCES.txt +0 -0
  357. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron_core.egg-info/dependency_links.txt +0 -0
  358. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron_core.egg-info/requires.txt +0 -0
  359. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron_core.egg-info/top_level.txt +0 -0
  360. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/pyproject.toml +0 -0
  361. {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/setup.cfg +0 -0
  362. {megatron_core-0.16.0rc0.dev101484 → 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.dev101484
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>
@@ -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(
@@ -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,
@@ -6,7 +6,7 @@ import torch
6
6
  from packaging import version
7
7
 
8
8
  from megatron.core.jit import jit_fuser
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
@@ -70,7 +70,6 @@ def _pad_routing_map_kernel(
70
70
  tl.store(output_row_ptr + token_indices, output_row, mask=token_mask)
71
71
 
72
72
 
73
- @experimental_fn(introduced_with_version="0.13.0")
74
73
  @jit_fuser
75
74
  def fused_pad_routing_map(routing_map: torch.Tensor, pad_multiple: int) -> torch.Tensor:
76
75
  """Fused version of pad_routing_map.
@@ -115,4 +115,5 @@ class BlockAllocator:
115
115
  This resets the available block count to the entire memory pool
116
116
  (except for the dummy block).
117
117
  """
118
+
118
119
  self.total_avail = self.total_count - 1
@@ -578,19 +578,18 @@ class DynamicInferenceContext(BaseInferenceContext):
578
578
  """Allocate the memory buffer. This function is called below within
579
579
  `with ctx_manager:`."""
580
580
  if self.cache_mla_latent:
581
- self.memory_buffer = torch.full(
581
+ self.memory_buffer = torch.empty(
582
582
  (
583
583
  self.num_attention_layers,
584
584
  self.block_allocator.total_count,
585
585
  self.block_size_tokens,
586
586
  self.kv_reduced_dim,
587
587
  ),
588
- -1,
589
588
  dtype=self.params_dtype,
590
589
  device=torch.cuda.current_device(),
591
590
  )
592
591
  else:
593
- self.memory_buffer = torch.full(
592
+ self.memory_buffer = torch.empty(
594
593
  (
595
594
  2, # key and value
596
595
  self.num_attention_layers,
@@ -599,7 +598,6 @@ class DynamicInferenceContext(BaseInferenceContext):
599
598
  self.num_attention_heads_per_partition,
600
599
  self.hidden_size_per_attention_head,
601
600
  ),
602
- -1,
603
601
  dtype=self.params_dtype,
604
602
  device=torch.cuda.current_device(),
605
603
  )
@@ -610,12 +608,12 @@ class DynamicInferenceContext(BaseInferenceContext):
610
608
  `with ctx_manager:`."""
611
609
  if self.is_hybrid_model:
612
610
  self.mamba_metadata = MambaMetadata(max_requests=self.max_total_requests)
613
- self.mamba_conv_states = torch.zeros(
611
+ self.mamba_conv_states = torch.empty(
614
612
  (self.num_mamba_layers, self.max_total_requests) + self.mamba_conv_states_shape,
615
613
  dtype=self.params_dtype,
616
614
  device=torch.cuda.current_device(),
617
615
  )
618
- self.mamba_ssm_states = torch.zeros(
616
+ self.mamba_ssm_states = torch.empty(
619
617
  (self.num_mamba_layers, self.max_total_requests) + self.mamba_ssm_states_shape,
620
618
  dtype=self.params_dtype,
621
619
  device=torch.cuda.current_device(),
@@ -1000,8 +998,6 @@ class DynamicInferenceContext(BaseInferenceContext):
1000
998
  def reset_mamba_state(self) -> None:
1001
999
  """Reset state used within Mamba layers."""
1002
1000
  if self.is_hybrid_model:
1003
- self.mamba_conv_states.fill_(0)
1004
- self.mamba_ssm_states.fill_(0)
1005
1001
  self.mamba_metadata.reset()
1006
1002
 
1007
1003
  def using_cuda_graph_this_step(self) -> bool:
@@ -1749,7 +1745,7 @@ class DynamicInferenceContext(BaseInferenceContext):
1749
1745
 
1750
1746
  def calculate_log_probs(
1751
1747
  self, logits: Tensor, new_tokens: Tensor, only_last_token_logits: Optional[bool] = False
1752
- ) -> List[List[float]]:
1748
+ ) -> Tuple[List[List[float]], Tensor]:
1753
1749
  """Calculate log probs for all active requests and return them.
1754
1750
 
1755
1751
  TODO: @wdykas support top-n log probs.
@@ -1762,14 +1758,16 @@ class DynamicInferenceContext(BaseInferenceContext):
1762
1758
  Returns:
1763
1759
  List of lists where each inner list contains log probs for a request in the
1764
1760
  same order as the active requests (from paused_request_count to total_request_count).
1761
+ log_probs (Tensor): Used to compute top n logprobs later if required.
1765
1762
  """
1763
+
1766
1764
  # Calculate log_probs (sequence_length x vocab_size)
1767
1765
  log_probs = F.log_softmax(logits.squeeze(0).float(), dim=-1)
1768
1766
 
1769
1767
  if only_last_token_logits or self.is_decode_only():
1770
1768
  seq_idx = torch.arange(len(new_tokens), dtype=torch.int32, device=logits.device)
1771
1769
  selected_log_probs = log_probs[seq_idx, new_tokens]
1772
- return [[lp] for lp in selected_log_probs.flatten().tolist()]
1770
+ return [[lp] for lp in selected_log_probs.flatten().tolist()], log_probs
1773
1771
 
1774
1772
  # Get the selected token ids for all tokens.
1775
1773
  # We shift the active token window left by one to remove the first prompt token for
@@ -1812,7 +1810,7 @@ class DynamicInferenceContext(BaseInferenceContext):
1812
1810
  )
1813
1811
 
1814
1812
  # Convert each log prob tensor into a list
1815
- return [lp.tolist() for lp in selected_log_probs_list]
1813
+ return [lp.tolist() for lp in selected_log_probs_list], log_probs
1816
1814
 
1817
1815
  def get_kvcache_utilization_stats(self) -> dict:
1818
1816
  """Compute KV cache buffer utilization stats for the current step.
@@ -109,6 +109,8 @@ class DataParallelInferenceCoordinator:
109
109
  self.identities_of_data_parallel_ranks.append(identity)
110
110
  logging.info("Inference Coordinator: Connected with data parallel ranks...")
111
111
  self.data_parallel_rank_iterator = cycle(self.identities_of_data_parallel_ranks)
112
+ self.data_parallel_pause_acks = set()
113
+ self.data_parallel_stop_acks = set()
112
114
 
113
115
  self.request_id_to_client_id = {}
114
116
  self.request_id_to_client_request_id = {}
@@ -151,7 +153,7 @@ class DataParallelInferenceCoordinator:
151
153
  # print(f"New client connected: {sender_identity}")
152
154
  known_clients.add(sender_identity)
153
155
  self.router_socket.send_multipart(
154
- [sender_identity, msgpack.packb([Headers.ACK.value], use_bin_type=True)]
156
+ [sender_identity, msgpack.packb([Headers.CONNECT_ACK.value], use_bin_type=True)]
155
157
  )
156
158
 
157
159
  elif header == Headers.SUBMIT_REQUEST:
@@ -208,6 +210,50 @@ class DataParallelInferenceCoordinator:
208
210
  self.router_socket.send_multipart(
209
211
  [data_parallel_rank_id, msgpack.packb([header.value], use_bin_type=True)]
210
212
  )
213
+ if header == Headers.UNPAUSE:
214
+ self.data_parallel_pause_acks = set()
215
+ elif header == Headers.PAUSE_ACK:
216
+ # control signal ack from the engine
217
+ assert sender_identity in self.identities_of_data_parallel_ranks
218
+ assert sender_identity not in self.data_parallel_pause_acks
219
+ self.data_parallel_pause_acks.add(sender_identity)
220
+ # route to all clients only once we have gotten an ack from all data parallel ranks
221
+ if len(self.data_parallel_pause_acks) == self.data_parallel_size:
222
+ for client_id in known_clients:
223
+ self.router_socket.send_multipart(
224
+ [
225
+ client_id,
226
+ msgpack.packb([header.value, sender_identity], use_bin_type=True),
227
+ ]
228
+ )
229
+ for data_parallel_rank_id in self.identities_of_data_parallel_ranks:
230
+ self.router_socket.send_multipart(
231
+ [
232
+ data_parallel_rank_id,
233
+ msgpack.packb([Headers.PAUSE_ACK.value], use_bin_type=True),
234
+ ]
235
+ )
236
+ elif header == Headers.STOP_ACK:
237
+ # control signal ack from the engine
238
+ assert sender_identity in self.identities_of_data_parallel_ranks
239
+ assert sender_identity not in self.data_parallel_stop_acks
240
+ self.data_parallel_stop_acks.add(sender_identity)
241
+ # route to all clients only once we have gotten an ack from all data parallel ranks
242
+ if len(self.data_parallel_stop_acks) == self.data_parallel_size:
243
+ for client_id in known_clients:
244
+ self.router_socket.send_multipart(
245
+ [
246
+ client_id,
247
+ msgpack.packb([header.value, sender_identity], use_bin_type=True),
248
+ ]
249
+ )
250
+ for data_parallel_rank_id in self.identities_of_data_parallel_ranks:
251
+ self.router_socket.send_multipart(
252
+ [
253
+ data_parallel_rank_id,
254
+ msgpack.packb([Headers.STOP_ACK.value], use_bin_type=True),
255
+ ]
256
+ )
211
257
  elif header == Headers.ENGINE_REPLY:
212
258
  # This is the output of a single engine step on some data parallel rank.
213
259
  assert sender_identity in self.identities_of_data_parallel_ranks
@@ -224,7 +270,7 @@ class DataParallelInferenceCoordinator:
224
270
  [
225
271
  client_identity,
226
272
  msgpack.packb(
227
- [client_request_identity, finished_request_record],
273
+ [header.value, client_request_identity, finished_request_record],
228
274
  use_bin_type=True,
229
275
  ),
230
276
  ]
@@ -168,7 +168,6 @@ class DynamicInferenceEngine(AbstractEngine):
168
168
  self.enable_chunked_prefill = enable_chunked_prefill
169
169
  self.inference_logging_step_interval = inference_logging_step_interval
170
170
  self.unified_memory_level = context.unified_memory_level
171
- self.capture_stats = None # pass CI
172
171
 
173
172
  if enable_cuda_graph is not None:
174
173
  self.cuda_graph_impl = "local" if enable_cuda_graph else "none"
@@ -229,8 +228,11 @@ class DynamicInferenceEngine(AbstractEngine):
229
228
  # Runtime state.
230
229
  self._loop = get_asyncio_loop(getattr(self, "_loop", None))
231
230
  self._cond = asyncio.Condition()
232
- self.paused = False
233
- self.stopped = False
231
+ self.running = asyncio.Event()
232
+ self.paused = asyncio.Event()
233
+ self.stopped = asyncio.Event()
234
+ self.received_pause: bool = False
235
+ self.received_stop: bool = False
234
236
  self.suspend_signal = False
235
237
  self.is_suspended = False
236
238
  self.resume_request_ids = None
@@ -685,6 +687,14 @@ class DynamicInferenceEngine(AbstractEngine):
685
687
  request.sampling_params.num_tokens_to_generate is None
686
688
  or request.sampling_params.num_tokens_total is None
687
689
  )
690
+ if request.sampling_params.return_prompt_top_n_logprobs:
691
+ assert (
692
+ request.sampling_params.return_log_probs
693
+ ), "return_prompt_top_n_logprobs requires sampling_params.return_log_probs to be True"
694
+ if request.sampling_params.top_n_logprobs > 0:
695
+ assert (
696
+ request.sampling_params.return_log_probs
697
+ ), "top_n_logprobs requires sampling_params.return_log_probs to be True"
688
698
  if request.sampling_params.num_tokens_total is not None:
689
699
  request.sampling_params.num_tokens_to_generate = (
690
700
  request.sampling_params.num_tokens_total - len(request.prompt_tokens)
@@ -783,6 +793,7 @@ class DynamicInferenceEngine(AbstractEngine):
783
793
  step_time: float,
784
794
  sample: torch.Tensor,
785
795
  log_probs: torch.Tensor,
796
+ top_n_logprobs: Optional[Dict[int, List[Tuple[torch.Tensor, torch.Tensor]]]] = None,
786
797
  ) -> Tuple[List[DynamicInferenceRequest], List[DynamicInferenceRequest]]:
787
798
  """
788
799
  Handles post-processing for requests after a step.
@@ -793,6 +804,8 @@ class DynamicInferenceEngine(AbstractEngine):
793
804
  step_time (float): The latency of the last step
794
805
  sample: (torch.Tensor): The newly generated tokens for each request
795
806
  log_probs: (List): Log probs for each request
807
+ top_n_logprobs: (Dict): Top-n log probs for each request. Maps request_idx to
808
+ list of (top_n_logprobs, top_n_indices) tuples.
796
809
 
797
810
  Returns:
798
811
  A list of active requests and completed requests as `DynamicInferenceRequest` objects
@@ -804,8 +817,8 @@ class DynamicInferenceEngine(AbstractEngine):
804
817
 
805
818
  log_probs_iter = log_probs if log_probs else repeat(None)
806
819
 
807
- for request_id, token, request_log_probs in zip(
808
- request_ids.tolist(), sample.tolist(), log_probs_iter
820
+ for req_idx, (request_id, token, request_log_probs) in enumerate(
821
+ zip(request_ids.tolist(), sample.tolist(), log_probs_iter)
809
822
  ):
810
823
  request: DynamicInferenceRequest = self.get_request(request_id)
811
824
  if request_id != self.context.chunked_prefill_request_id:
@@ -821,19 +834,19 @@ class DynamicInferenceEngine(AbstractEngine):
821
834
  request.generated_log_probs = []
822
835
  # If the request log probs span > 1 token we are in prefill
823
836
  if len(request_log_probs) > 1:
824
- request.prompt_log_probs.extend(request_log_probs)
837
+ # Add all but the last logprob to prompt_log_probs (last is for first generated token)
838
+ request.prompt_log_probs.extend(request_log_probs[:-1])
839
+ # Add the last logprob to generated_log_probs (first generated token)
840
+ request.generated_log_probs.extend(request_log_probs[-1:])
825
841
  else:
826
842
  if (
827
843
  # If it is a chunked prefill request
828
844
  len(request.prompt_log_probs) > 0
829
845
  # And we are missing the last token for prefill
830
- and len(request.prompt_log_probs) < len(request.prompt_tokens)
846
+ and len(request.prompt_log_probs) < len(request.prompt_tokens) - 1
831
847
  # And we need to track full prefill
832
848
  and not self.context.materialize_only_last_token_logits
833
849
  ):
834
- assert (
835
- len(request.prompt_log_probs) == len(request.prompt_tokens) - 1
836
- ), "Prompt log probs length is not equal to prompt tokens length - 1"
837
850
  request.prompt_log_probs.extend(request_log_probs)
838
851
  else:
839
852
  request.generated_log_probs.extend(request_log_probs)
@@ -872,7 +885,43 @@ class DynamicInferenceEngine(AbstractEngine):
872
885
  request.prompt_log_probs = []
873
886
  request.prompt_log_probs.extend(request_log_probs)
874
887
  request.generated_log_probs = []
875
- active_request_ids.append(request_id)
888
+
889
+ active_request_ids.append(request_id)
890
+
891
+ # Process top_n_logprobs if available (unified for both regular and chunked prefill)
892
+ if top_n_logprobs is not None and req_idx in top_n_logprobs:
893
+ # Initialize lists if they don't exist
894
+ if request.prompt_top_n_logprobs is None:
895
+ request.prompt_top_n_logprobs = []
896
+ if request.generated_top_n_logprobs is None:
897
+ request.generated_top_n_logprobs = []
898
+
899
+ top_n_data_list = top_n_logprobs[req_idx]
900
+ prompt_length = len(request.prompt_tokens)
901
+
902
+ # Process each token's top-n logprobs
903
+ for top_n_values, top_n_indices in top_n_data_list:
904
+ logit_dict = {}
905
+ for logprob, logprob_index in zip(
906
+ top_n_values.cpu().tolist(), top_n_indices.cpu().tolist()
907
+ ):
908
+ key = self.controller.tokenizer.detokenize([logprob_index])
909
+ logit_dict[key] = logprob
910
+
911
+ # Simple decision: check total count accumulated so far
912
+ total_accumulated = len(request.prompt_top_n_logprobs) + len(
913
+ request.generated_top_n_logprobs
914
+ )
915
+
916
+ # If return_prompt_top_n_logprobs is True and we haven't reached prompt end,
917
+ # append to prompt_top_n_logprobs. Otherwise append to generated_top_n_logprobs.
918
+ if (
919
+ request.sampling_params.return_prompt_top_n_logprobs
920
+ and total_accumulated < prompt_length - 1
921
+ ):
922
+ request.prompt_top_n_logprobs.append(logit_dict)
923
+ else:
924
+ request.generated_top_n_logprobs.append(logit_dict)
876
925
 
877
926
  return active_request_ids, finished_request_records
878
927
 
@@ -1057,12 +1106,14 @@ class DynamicInferenceEngine(AbstractEngine):
1057
1106
  """
1058
1107
  # Increment finished_request_count.
1059
1108
  cuda_graph_request_count = None
1109
+
1060
1110
  if step_result is not None:
1061
1111
  active_request_ids = step_result["active_request_ids"]
1062
1112
  newly_paused_request_ids = step_result["newly_paused_request_ids"]
1063
1113
  finished_request_ids = step_result["finished_request_ids"]
1064
1114
  sample = step_result["sample"]
1065
1115
  log_probs = step_result["log_probs"]
1116
+ top_n_logprobs = step_result.get("top_n_logprobs", None)
1066
1117
  cuda_graph_request_count = step_result["cuda_graph_request_count"]
1067
1118
 
1068
1119
  # Add paused events.
@@ -1072,10 +1123,14 @@ class DynamicInferenceEngine(AbstractEngine):
1072
1123
 
1073
1124
  # Mark requests finished.
1074
1125
  [self.get_request(i).add_event_finish() for i in finished_request_ids.tolist()]
1075
-
1076
1126
  # Add finished events.
1077
- active_request_ids, finished_request_records = self.post_process_requests(
1078
- active_request_ids, finished_request_ids, step_time, sample, log_probs
1127
+ (active_request_ids, finished_request_records) = self.post_process_requests(
1128
+ active_request_ids,
1129
+ finished_request_ids,
1130
+ step_time,
1131
+ sample,
1132
+ log_probs,
1133
+ top_n_logprobs,
1079
1134
  )
1080
1135
 
1081
1136
  else:
@@ -1314,14 +1369,41 @@ class DynamicInferenceEngine(AbstractEngine):
1314
1369
  for message in all_messages:
1315
1370
  data = msgpack.unpackb(message, raw=False)
1316
1371
  header = Headers(data[0])
1372
+
1373
+ if self.received_stop:
1374
+ assert (
1375
+ header == Headers.STOP_ACK
1376
+ ), "Engine is shutting down. No other messages allowed except STOP_ACK."
1377
+
1317
1378
  if header == Headers.SUBMIT_REQUEST:
1318
1379
  request_id, prompt, sampling_params = data[1:]
1319
1380
  sampling_params = SamplingParams.deserialize(sampling_params)
1320
1381
  self.add_request(request_id, prompt, sampling_params)
1321
1382
  elif header == Headers.PAUSE:
1322
- self.paused = True
1383
+ # Pause thyself.
1384
+ self.received_pause = True
1385
+ self.running.clear()
1386
+ # Send PAUSE_ACK back to coordinator.
1387
+ if self.is_mp_coordinator:
1388
+ payload = msgpack.packb([Headers.PAUSE_ACK.value], use_bin_type=True)
1389
+ self.socket_for_receiving_requests.send(payload)
1390
+ elif header == Headers.STOP:
1391
+ # Stop thyself.
1392
+ self.received_stop = True
1393
+ self.running.clear()
1394
+ # Send STOP_ACK back to coordinator.
1395
+ if self.is_mp_coordinator:
1396
+ payload = msgpack.packb([Headers.STOP_ACK.value], use_bin_type=True)
1397
+ self.socket_for_receiving_requests.send(payload)
1398
+ elif header == Headers.PAUSE_ACK:
1399
+ self.paused.set()
1400
+ self.received_pause = False
1401
+ elif header == Headers.STOP_ACK:
1402
+ self.stopped.set()
1403
+ self.stop()
1323
1404
  elif header == Headers.UNPAUSE:
1324
- self.paused = False
1405
+ self.paused.clear()
1406
+ self.running.set()
1325
1407
  elif header == Headers.SUSPEND:
1326
1408
  self.suspend_signal = True
1327
1409
  elif header == Headers.RESUME:
@@ -1382,11 +1464,10 @@ class DynamicInferenceEngine(AbstractEngine):
1382
1464
  try:
1383
1465
  while True:
1384
1466
  self.schedule_requests()
1385
- if self.stopped:
1386
- self.stop()
1387
- return
1467
+ if self.stopped.is_set():
1468
+ break
1388
1469
 
1389
- # for the cases below (engine is paused or no active requests),
1470
+ # for the cases below (no active requests, or undergoing a state-change)
1390
1471
  # do not use asyncio.sleep(0)
1391
1472
  # as tp-rank=0 will flood the num_messages publisher
1392
1473
  # with "0" repeatedly. This causes some packets to drop.
@@ -1398,7 +1479,7 @@ class DynamicInferenceEngine(AbstractEngine):
1398
1479
 
1399
1480
  # todo [Siddharth]: Can this hardcoded sleep be avoided
1400
1481
  # with asyncio zmq sockets?
1401
- if self.paused:
1482
+ if self.paused.is_set() or self.received_pause or self.received_stop:
1402
1483
  await asyncio.sleep(0.02)
1403
1484
  continue
1404
1485
 
@@ -9,14 +9,16 @@ class Headers(Enum):
9
9
  """
10
10
 
11
11
  CONNECT = auto()
12
- ACK = auto()
12
+ CONNECT_ACK = auto()
13
13
  SUBMIT_REQUEST = auto()
14
14
  ENGINE_REPLY = auto()
15
15
  PAUSE = auto()
16
+ PAUSE_ACK = auto()
16
17
  UNPAUSE = auto()
17
18
  SUSPEND = auto()
18
19
  RESUME = auto()
19
20
  STOP = auto()
21
+ STOP_ACK = auto()
20
22
 
21
23
 
22
24
  class UnknownHeaderError(Exception):