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.
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/PKG-INFO +1 -1
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/src/megatron_fsdp/uneven_dtensor.py +10 -1
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/src/megatron_fsdp/utils.py +3 -6
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_indices_converter.py +1 -2
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_mla_yarn_rope_apply.py +1 -3
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_pad_routing_map.py +1 -2
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/contexts/dynamic_block_allocator.py +1 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/contexts/dynamic_context.py +9 -11
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/data_parallel_inference_coordinator.py +48 -2
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/engines/dynamic_engine.py +102 -21
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/headers.py +3 -1
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/inference_client.py +67 -19
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/inference_request.py +2 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_controllers/text_generation_controller.py +128 -11
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/unified_memory.py +51 -15
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/embeddings/rope_utils.py +26 -25
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/embeddings/yarn_rotary_pos_embedding.py +7 -4
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/optimizer/distrib_optimizer.py +2 -1
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/optimizer/optimizer.py +1 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/package_info.py +1 -1
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/timers.py +15 -6
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/dot_product_attention.py +8 -2
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/fsdp_dtensor_checkpoint.py +44 -23
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/transformer_config.py +2 -2
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/utils.py +0 -3
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/utils.py +9 -2
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron_core.egg-info/PKG-INFO +1 -1
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/MANIFEST.in +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/README.md +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/README.md +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/activations.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/config.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/config_logger.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/bert_dataset.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/blended_dataset.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/blended_megatron_dataset_builder.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/blended_megatron_dataset_config.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/gpt_dataset.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/helpers.cpp +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/helpers.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/indexed_dataset.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/masked_dataset.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/megatron_dataset.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/megatron_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/multimodal_dataset.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/object_storage_utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/config/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/config/bert_embedders.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/config/config.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/config/gpt_chunk_datasets.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/config/tokenizers.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/db/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/db/build.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/db/dataset.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/db/utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/external_libs.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/index/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/index/build.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/index/factory.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/index/index.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/index/indexes/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/index/indexes/faiss_base.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/index/indexes/faiss_par_add.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/index/utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/index/validate.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/query/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/query/gpt_chunk_dataset.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/query/multi_split_gpt_dataset.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/query/query.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/query/retro_dataset.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/query/utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/retro/utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/t5_dataset.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/datasets/utils_s3.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/core.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/dict_utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/exchange_utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/mapping.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/optimizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/serialization.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/state_dict_utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/async_utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/base.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/cached_metadata_filesystem_reader.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/checkpointable.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/common.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/filesystem_async.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/fully_parallel.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/resharding.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/state_dict_saver.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/tensorstore.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/torch.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/two_stage.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/strategies/zarr.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/tensor_aware_state_dict.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/dist_checkpointing/validation.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/data_parallel_base.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/distributed_data_parallel.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/distributed_data_parallel_config.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/finalize_model_grads.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/mcore_fsdp_adapter.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/src/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/src/megatron_fsdp/__init__.py +0 -0
- {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
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/src/megatron_fsdp/fully_shard.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/src/megatron_fsdp/megatron_fsdp.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/fsdp/src/megatron_fsdp/package_info.py +0 -0
- {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
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/param_and_grad_buffer.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/reduce_scatter_with_fp32_accumulation.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/torch_fully_sharded_data_parallel.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/distributed/torch_fully_sharded_data_parallel_config.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/energy_monitor.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/enums.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/data_type.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/export_config.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/model_type.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/engine_builder/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/engine_builder/trtllm_engine_builder.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/model_to_trllm_mapping/__init__.py +0 -0
- {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
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/trt_model_config.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/trt_model_type.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/trtllm_helper.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/trtllm_layers.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/trtllm_weights_converter/__init__.py +0 -0
- {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
- {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
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/export/trtllm/trtllm_weights_converter/utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/extensions/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/extensions/kitchen.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/extensions/transformer_engine.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/extensions/transformer_engine_spec_provider.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fp4_utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fp8_utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/full_cuda_graph.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_bias_dropout.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_bias_geglu.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_bias_gelu.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_bias_swiglu.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_cross_entropy.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_layer_norm.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_softmax.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/fusions/fused_weighted_squared_relu.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/hyper_comm_grid.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/async_stream.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/common_inference_params.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/communication_utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/contexts/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/contexts/attention_context/mamba_metadata.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/contexts/attention_context/metadata_base.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/contexts/attention_context/mha_metadata.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/contexts/base_context.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/contexts/fused_kv_append_kernel.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/contexts/static_context.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/engines/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/engines/abstract_engine.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/engines/mcore_engine.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/engines/static_engine.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/model_inference_wrappers/__init__.py +0 -0
- {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
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/model_inference_wrappers/gpt/__init__.py +0 -0
- {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
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/model_inference_wrappers/inference_wrapper_config.py +0 -0
- {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
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/model_inference_wrappers/t5/__init__.py +0 -0
- {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
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/sampling_params.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/scheduler.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_controllers/__init__.py +0 -0
- {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
- {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
- {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
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_server/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_server/endpoints/common.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_server/endpoints/completions.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_server/run_mcore_engine.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_server/text_generation_server.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/text_generation_server/tokenization.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference/utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/inference_params.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/jit.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/model_parallel_config.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/T5/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/T5/t5_model.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/T5/t5_spec.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/backends.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/bert/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/bert/bert_layer_specs.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/bert/bert_lm_head.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/bert/bert_model.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/bert/pooler.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/embeddings/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/embeddings/language_model_embedding.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/embeddings/relative_pos_embedding.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/embeddings/rotary_pos_embedding.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/language_module/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/language_module/language_module.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/model_chunk_schedule_plan.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/vision_module/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/common/vision_module/vision_module.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/gpt/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/gpt/fine_grained_callables.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/gpt/gpt_layer_specs.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/gpt/gpt_model.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/gpt/heterogeneous/heterogeneous_layer_specs.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/gpt/moe_module_specs.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/huggingface/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/huggingface/clip_model.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/huggingface/module.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/huggingface/qwen_model.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mamba/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mamba/mamba_layer_specs.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mamba/mamba_model.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mimo/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mimo/config/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mimo/config/base_configs.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mimo/model/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mimo/model/base.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mimo/submodules/audio.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mimo/submodules/base.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/mimo/submodules/vision.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/multimodal/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/multimodal/context_parallel.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/multimodal/llava_model.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/multimodal/llava_spec.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/retro/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/retro/base_attention.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/retro/config.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/retro/decoder_attention.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/retro/decoder_spec.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/retro/encoder_attention.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/retro/encoder_spec.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/retro/model.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/retro/utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/vision/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/vision/clip_vit_model.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/vision/multimodal_projector.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/vision/radio.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/models/vision/vit_layer_specs.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/msc_utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/nccl_allocator.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/num_microbatches_calculator.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/optimizer/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/optimizer/clip_grads.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/optimizer/cpu_offloading/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/optimizer/cpu_offloading/hybrid_optimizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/optimizer/grad_scaler.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/optimizer/optimizer_config.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/optimizer_param_scheduler.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/packed_seq_params.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/parallel_state.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/pipeline_parallel/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/pipeline_parallel/bridge_communicator.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/pipeline_parallel/combined_1f1b.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/pipeline_parallel/p2p_communication.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/pipeline_parallel/schedules.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/pipeline_parallel/utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/post_training/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/post_training/modelopt/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/post_training/modelopt/gpt/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/post_training/modelopt/gpt/model_specs.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/post_training/modelopt/gpt/state_dict_hooks.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/post_training/modelopt/layers.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/post_training/modelopt/mamba/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/post_training/modelopt/mamba/model_specs.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/process_groups_config.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/quantization/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/quantization/quant_config.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/quantization/utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/requirements.txt +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/rerun_state_machine.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/safe_globals.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/ssm/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/ssm/mamba_block.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/ssm/mamba_context_parallel.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/ssm/mamba_hybrid_layer_allocation.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/ssm/mamba_layer.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/ssm/mamba_mixer.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/ssm/mlp_layer.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/ssm/triton_cache_manager.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tensor_parallel/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tensor_parallel/cross_entropy.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tensor_parallel/data.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tensor_parallel/inference_layers.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tensor_parallel/layers.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tensor_parallel/mappings.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tensor_parallel/random.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tensor_parallel/utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/base_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/megatron_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/libraries/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/libraries/abstract_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/libraries/bytelevel_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/libraries/chat_template.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/libraries/huggingface_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/libraries/megatron_hf_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/libraries/null_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/libraries/sentencepiece_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/libraries/tiktoken_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/models/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/models/bert_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/models/default_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/models/gpt_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/models/mamba_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/models/retro_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/models/t5_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/text_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/tokenizers/text/utils/build_tokenizer.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/attention.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/cuda_graphs.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/custom_layers/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/custom_layers/transformer_engine.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/enums.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/heterogeneous/heterogeneous_config.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/heterogeneous/linear_replacements.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/identity_op.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/mlp.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/module.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/__init__.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/experts.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/fused_a2a.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/grouped_gemm_util.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/moe_layer.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/moe_utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/router.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/shared_experts.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/token_dispatcher.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/moe/upcycling_utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/multi_latent_attention.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/multi_token_prediction.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/pipeline_parallel_layer_layout.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/spec_utils.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/torch_layer_norm.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/torch_norm.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/transformer_block.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron/core/transformer/transformer_layer.py +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron_core.egg-info/SOURCES.txt +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron_core.egg-info/dependency_links.txt +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron_core.egg-info/requires.txt +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/megatron_core.egg-info/top_level.txt +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/pyproject.toml +0 -0
- {megatron_core-0.16.0rc0.dev101484 → megatron_core-0.16.0rc0.dev101524}/setup.cfg +0 -0
- {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.
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
@@ -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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
233
|
-
self.
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
1387
|
-
return
|
|
1467
|
+
if self.stopped.is_set():
|
|
1468
|
+
break
|
|
1388
1469
|
|
|
1389
|
-
# for the cases below (
|
|
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
|
-
|
|
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):
|