megatron-core 0.16.0rc0.dev101470__tar.gz → 0.16.0rc0.dev101484__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.
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/PKG-INFO +6 -6
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/README.md +5 -5
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/distributed/fsdp/src/megatron_fsdp/param_and_grad_buffer.py +3 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/fp4_utils.py +22 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/fusions/fused_pad_routing_map.py +4 -1
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/communication_utils.py +1 -2
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/contexts/attention_context/mamba_metadata.py +21 -1
- megatron_core-0.16.0rc0.dev101484/megatron/core/inference/contexts/dynamic_block_allocator.py +118 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/contexts/dynamic_context.py +357 -286
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/data_parallel_inference_coordinator.py +16 -6
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/engines/__init__.py +1 -1
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/engines/dynamic_engine.py +571 -270
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/engines/static_engine.py +7 -2
- megatron_core-0.16.0rc0.dev101484/megatron/core/inference/headers.py +26 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/inference_client.py +15 -5
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/inference_request.py +220 -17
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/sampling_params.py +1 -1
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/text_generation_controllers/text_generation_controller.py +253 -182
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/unified_memory.py +47 -12
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/utils.py +55 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/common/model_chunk_schedule_plan.py +5 -1
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/gpt/fine_grained_callables.py +4 -1
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/gpt/moe_module_specs.py +1 -9
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/mamba/mamba_layer_specs.py +16 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/optimizer/__init__.py +134 -173
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/optimizer/cpu_offloading/hybrid_optimizer.py +1 -1
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/optimizer/optimizer_config.py +57 -17
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/optimizer_param_scheduler.py +20 -11
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/package_info.py +1 -1
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/parallel_state.py +1 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/safe_globals.py +2 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/ssm/mamba_block.py +7 -55
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/ssm/mamba_hybrid_layer_allocation.py +4 -3
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/ssm/mamba_layer.py +2 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/ssm/mamba_mixer.py +16 -11
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tokenizers/text/libraries/huggingface_tokenizer.py +8 -3
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tokenizers/text/libraries/null_tokenizer.py +8 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tokenizers/text/text_tokenizer.py +10 -6
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/attention.py +44 -10
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/cuda_graphs.py +17 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/moe/experts.py +24 -20
- megatron_core-0.16.0rc0.dev101484/megatron/core/transformer/moe/fused_a2a.py +534 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/moe/moe_layer.py +3 -3
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/moe/moe_utils.py +20 -3
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/moe/router.py +14 -6
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/moe/shared_experts.py +4 -2
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/moe/token_dispatcher.py +192 -30
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/multi_latent_attention.py +12 -6
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/multi_token_prediction.py +2 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/transformer_config.py +41 -8
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/transformer_layer.py +3 -3
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/utils.py +173 -32
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron_core.egg-info/PKG-INFO +6 -6
- megatron_core-0.16.0rc0.dev101470/megatron/core/inference/contexts/dynamic_block_allocator.py +0 -92
- megatron_core-0.16.0rc0.dev101470/megatron/core/inference/headers.py +0 -17
- megatron_core-0.16.0rc0.dev101470/megatron/core/transformer/moe/fused_a2a.py +0 -264
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/MANIFEST.in +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/README.md +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/activations.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/config.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/config_logger.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/bert_dataset.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/blended_dataset.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/blended_megatron_dataset_builder.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/blended_megatron_dataset_config.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/gpt_dataset.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/helpers.cpp +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/helpers.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/indexed_dataset.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/masked_dataset.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/megatron_dataset.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/megatron_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/multimodal_dataset.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/object_storage_utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/retro/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/retro/config/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/retro/config/bert_embedders.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/retro/config/config.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/retro/config/gpt_chunk_datasets.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/retro/config/tokenizers.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/retro/db/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/retro/db/build.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/retro/db/dataset.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/retro/db/utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/retro/external_libs.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/retro/index/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/retro/index/build.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/retro/index/factory.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/retro/index/index.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/retro/index/indexes/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/retro/index/indexes/faiss_base.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/retro/index/indexes/faiss_par_add.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/retro/index/utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/retro/index/validate.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/retro/query/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/retro/query/gpt_chunk_dataset.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/retro/query/multi_split_gpt_dataset.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/retro/query/query.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/retro/query/retro_dataset.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/retro/query/utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/retro/utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/t5_dataset.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/datasets/utils_s3.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/dist_checkpointing/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/dist_checkpointing/core.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/dist_checkpointing/dict_utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/dist_checkpointing/exchange_utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/dist_checkpointing/mapping.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/dist_checkpointing/optimizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/dist_checkpointing/serialization.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/dist_checkpointing/state_dict_utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/dist_checkpointing/strategies/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/dist_checkpointing/strategies/async_utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/dist_checkpointing/strategies/base.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/dist_checkpointing/strategies/cached_metadata_filesystem_reader.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/dist_checkpointing/strategies/checkpointable.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/dist_checkpointing/strategies/common.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/dist_checkpointing/strategies/filesystem_async.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/dist_checkpointing/strategies/fully_parallel.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/dist_checkpointing/strategies/resharding.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/dist_checkpointing/strategies/state_dict_saver.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/dist_checkpointing/strategies/tensorstore.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/dist_checkpointing/strategies/torch.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/dist_checkpointing/strategies/two_stage.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/dist_checkpointing/strategies/zarr.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/dist_checkpointing/tensor_aware_state_dict.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/dist_checkpointing/utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/dist_checkpointing/validation.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/distributed/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/distributed/data_parallel_base.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/distributed/distributed_data_parallel.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/distributed/distributed_data_parallel_config.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/distributed/finalize_model_grads.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/distributed/fsdp/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/distributed/fsdp/mcore_fsdp_adapter.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/distributed/fsdp/src/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/distributed/fsdp/src/megatron_fsdp/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/distributed/fsdp/src/megatron_fsdp/distributed_data_parallel_config.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/distributed/fsdp/src/megatron_fsdp/fully_shard.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/distributed/fsdp/src/megatron_fsdp/megatron_fsdp.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/distributed/fsdp/src/megatron_fsdp/package_info.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/distributed/fsdp/src/megatron_fsdp/uneven_dtensor.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/distributed/fsdp/src/megatron_fsdp/utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/distributed/param_and_grad_buffer.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/distributed/reduce_scatter_with_fp32_accumulation.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/distributed/torch_fully_sharded_data_parallel.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/distributed/torch_fully_sharded_data_parallel_config.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/energy_monitor.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/enums.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/export/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/export/data_type.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/export/export_config.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/export/model_type.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/export/trtllm/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/export/trtllm/engine_builder/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/export/trtllm/engine_builder/trtllm_engine_builder.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/export/trtllm/model_to_trllm_mapping/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/export/trtllm/model_to_trllm_mapping/default_conversion_dict.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/export/trtllm/trt_model_config.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/export/trtllm/trt_model_type.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/export/trtllm/trtllm_helper.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/export/trtllm/trtllm_layers.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/export/trtllm/trtllm_weights_converter/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/export/trtllm/trtllm_weights_converter/distributed_trtllm_model_weights_converter.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/export/trtllm/trtllm_weights_converter/single_device_trtllm_model_weights_converter.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/export/trtllm/trtllm_weights_converter/utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/extensions/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/extensions/kitchen.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/extensions/transformer_engine.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/extensions/transformer_engine_spec_provider.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/fp8_utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/full_cuda_graph.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/fusions/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/fusions/fused_bias_dropout.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/fusions/fused_bias_geglu.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/fusions/fused_bias_gelu.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/fusions/fused_bias_swiglu.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/fusions/fused_cross_entropy.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/fusions/fused_indices_converter.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/fusions/fused_layer_norm.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/fusions/fused_mla_yarn_rope_apply.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/fusions/fused_softmax.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/fusions/fused_weighted_squared_relu.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/hyper_comm_grid.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/async_stream.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/common_inference_params.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/contexts/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/contexts/attention_context/metadata_base.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/contexts/attention_context/mha_metadata.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/contexts/base_context.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/contexts/fused_kv_append_kernel.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/contexts/static_context.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/engines/abstract_engine.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/engines/mcore_engine.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/model_inference_wrappers/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/model_inference_wrappers/abstract_model_inference_wrapper.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/model_inference_wrappers/gpt/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/model_inference_wrappers/gpt/gpt_inference_wrapper.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/model_inference_wrappers/inference_wrapper_config.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/model_inference_wrappers/multimodal/vlm_inference_wrapper.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/model_inference_wrappers/t5/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/model_inference_wrappers/t5/t5_inference_wrapper.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/scheduler.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/text_generation_controllers/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/text_generation_controllers/encoder_decoder_text_generation_controller.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/text_generation_controllers/simple_text_generation_controller.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/text_generation_controllers/vlm_text_generation_controller.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/text_generation_server/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/text_generation_server/endpoints/common.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/text_generation_server/endpoints/completions.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/text_generation_server/run_mcore_engine.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/text_generation_server/text_generation_server.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference/text_generation_server/tokenization.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/inference_params.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/jit.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/model_parallel_config.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/T5/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/T5/t5_model.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/T5/t5_spec.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/backends.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/bert/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/bert/bert_layer_specs.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/bert/bert_lm_head.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/bert/bert_model.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/bert/pooler.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/common/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/common/embeddings/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/common/embeddings/language_model_embedding.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/common/embeddings/relative_pos_embedding.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/common/embeddings/rope_utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/common/embeddings/rotary_pos_embedding.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/common/embeddings/yarn_rotary_pos_embedding.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/common/language_module/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/common/language_module/language_module.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/common/vision_module/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/common/vision_module/vision_module.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/gpt/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/gpt/gpt_layer_specs.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/gpt/gpt_model.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/gpt/heterogeneous/heterogeneous_layer_specs.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/huggingface/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/huggingface/clip_model.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/huggingface/module.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/huggingface/qwen_model.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/mamba/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/mamba/mamba_model.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/mimo/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/mimo/config/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/mimo/config/base_configs.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/mimo/model/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/mimo/model/base.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/mimo/submodules/audio.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/mimo/submodules/base.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/mimo/submodules/vision.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/multimodal/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/multimodal/context_parallel.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/multimodal/llava_model.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/multimodal/llava_spec.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/retro/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/retro/base_attention.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/retro/config.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/retro/decoder_attention.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/retro/decoder_spec.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/retro/encoder_attention.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/retro/encoder_spec.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/retro/model.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/retro/utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/vision/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/vision/clip_vit_model.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/vision/multimodal_projector.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/vision/radio.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/models/vision/vit_layer_specs.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/msc_utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/nccl_allocator.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/num_microbatches_calculator.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/optimizer/clip_grads.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/optimizer/cpu_offloading/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/optimizer/distrib_optimizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/optimizer/grad_scaler.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/optimizer/optimizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/packed_seq_params.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/pipeline_parallel/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/pipeline_parallel/bridge_communicator.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/pipeline_parallel/combined_1f1b.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/pipeline_parallel/p2p_communication.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/pipeline_parallel/schedules.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/pipeline_parallel/utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/post_training/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/post_training/modelopt/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/post_training/modelopt/gpt/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/post_training/modelopt/gpt/model_specs.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/post_training/modelopt/gpt/state_dict_hooks.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/post_training/modelopt/layers.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/post_training/modelopt/mamba/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/post_training/modelopt/mamba/model_specs.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/process_groups_config.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/quantization/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/quantization/quant_config.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/quantization/utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/requirements.txt +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/rerun_state_machine.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/ssm/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/ssm/mamba_context_parallel.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/ssm/mlp_layer.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/ssm/triton_cache_manager.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tensor_parallel/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tensor_parallel/cross_entropy.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tensor_parallel/data.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tensor_parallel/inference_layers.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tensor_parallel/layers.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tensor_parallel/mappings.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tensor_parallel/random.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tensor_parallel/utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/timers.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tokenizers/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tokenizers/base_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tokenizers/megatron_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tokenizers/text/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tokenizers/text/libraries/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tokenizers/text/libraries/abstract_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tokenizers/text/libraries/bytelevel_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tokenizers/text/libraries/chat_template.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tokenizers/text/libraries/megatron_hf_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tokenizers/text/libraries/sentencepiece_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tokenizers/text/libraries/tiktoken_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tokenizers/text/models/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tokenizers/text/models/bert_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tokenizers/text/models/default_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tokenizers/text/models/gpt_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tokenizers/text/models/mamba_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tokenizers/text/models/retro_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tokenizers/text/models/t5_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/tokenizers/text/utils/build_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/custom_layers/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/custom_layers/transformer_engine.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/dot_product_attention.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/enums.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/fsdp_dtensor_checkpoint.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/heterogeneous/heterogeneous_config.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/heterogeneous/linear_replacements.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/identity_op.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/mlp.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/module.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/moe/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/moe/grouped_gemm_util.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/moe/upcycling_utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/pipeline_parallel_layer_layout.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/spec_utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/torch_layer_norm.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/torch_norm.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/transformer_block.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/transformer/utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron_core.egg-info/SOURCES.txt +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron_core.egg-info/dependency_links.txt +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron_core.egg-info/requires.txt +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron_core.egg-info/top_level.txt +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/pyproject.toml +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/setup.cfg +0 -0
- {megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: megatron-core
|
|
3
|
-
Version: 0.16.0rc0.
|
|
3
|
+
Version: 0.16.0rc0.dev101484
|
|
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
|
|
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
|
|
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]
|
{megatron_core-0.16.0rc0.dev101470 → megatron_core-0.16.0rc0.dev101484}/megatron/core/fp4_utils.py
RENAMED
|
@@ -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"):
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
# Copyright (c) 2025
|
|
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
|
|
|
8
|
+
from megatron.core.jit import jit_fuser
|
|
7
9
|
from megatron.core.utils import experimental_fn, null_decorator
|
|
8
10
|
|
|
9
11
|
try:
|
|
@@ -69,6 +71,7 @@ def _pad_routing_map_kernel(
|
|
|
69
71
|
|
|
70
72
|
|
|
71
73
|
@experimental_fn(introduced_with_version="0.13.0")
|
|
74
|
+
@jit_fuser
|
|
72
75
|
def fused_pad_routing_map(routing_map: torch.Tensor, pad_multiple: int) -> torch.Tensor:
|
|
73
76
|
"""Fused version of pad_routing_map.
|
|
74
77
|
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
|
-
|
|
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,118 @@
|
|
|
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
|
+
self.total_avail = self.total_count - 1
|