megatron-fsdp 0.2.0.dev123727__tar.gz → 0.2.0.dev124909__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_fsdp-0.2.0.dev123727 → megatron_fsdp-0.2.0.dev124909}/PKG-INFO +1 -1
- {megatron_fsdp-0.2.0.dev123727 → megatron_fsdp-0.2.0.dev124909}/megatron_fsdp/megatron_fsdp.py +4 -3
- {megatron_fsdp-0.2.0.dev123727 → megatron_fsdp-0.2.0.dev124909}/megatron_fsdp/package_info.py +1 -1
- {megatron_fsdp-0.2.0.dev123727 → megatron_fsdp-0.2.0.dev124909}/megatron_fsdp/param_and_grad_buffer.py +3 -0
- {megatron_fsdp-0.2.0.dev123727 → megatron_fsdp-0.2.0.dev124909}/megatron_fsdp.egg-info/PKG-INFO +1 -1
- {megatron_fsdp-0.2.0.dev123727 → megatron_fsdp-0.2.0.dev124909}/README.md +0 -0
- {megatron_fsdp-0.2.0.dev123727 → megatron_fsdp-0.2.0.dev124909}/megatron_fsdp/__init__.py +0 -0
- {megatron_fsdp-0.2.0.dev123727 → megatron_fsdp-0.2.0.dev124909}/megatron_fsdp/distributed_data_parallel_config.py +0 -0
- {megatron_fsdp-0.2.0.dev123727 → megatron_fsdp-0.2.0.dev124909}/megatron_fsdp/fully_shard.py +0 -0
- {megatron_fsdp-0.2.0.dev123727 → megatron_fsdp-0.2.0.dev124909}/megatron_fsdp/uneven_dtensor.py +0 -0
- {megatron_fsdp-0.2.0.dev123727 → megatron_fsdp-0.2.0.dev124909}/megatron_fsdp/utils.py +0 -0
- {megatron_fsdp-0.2.0.dev123727 → megatron_fsdp-0.2.0.dev124909}/megatron_fsdp.egg-info/SOURCES.txt +0 -0
- {megatron_fsdp-0.2.0.dev123727 → megatron_fsdp-0.2.0.dev124909}/megatron_fsdp.egg-info/dependency_links.txt +0 -0
- {megatron_fsdp-0.2.0.dev123727 → megatron_fsdp-0.2.0.dev124909}/megatron_fsdp.egg-info/requires.txt +0 -0
- {megatron_fsdp-0.2.0.dev123727 → megatron_fsdp-0.2.0.dev124909}/megatron_fsdp.egg-info/top_level.txt +0 -0
- {megatron_fsdp-0.2.0.dev123727 → megatron_fsdp-0.2.0.dev124909}/pyproject.toml +0 -0
- {megatron_fsdp-0.2.0.dev123727 → megatron_fsdp-0.2.0.dev124909}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: megatron-fsdp
|
|
3
|
-
Version: 0.2.0.
|
|
3
|
+
Version: 0.2.0.dev124909
|
|
4
4
|
Summary: **Megatron-FSDP** is an NVIDIA-developed PyTorch extension that provides a high-performance implementation of Fully Sharded Data Parallelism (FSDP)
|
|
5
5
|
Author-email: NVIDIA <nemo-toolkit@nvidia.com>
|
|
6
6
|
Maintainer-email: NVIDIA <nemo-toolkit@nvidia.com>
|
{megatron_fsdp-0.2.0.dev123727 → megatron_fsdp-0.2.0.dev124909}/megatron_fsdp/megatron_fsdp.py
RENAMED
|
@@ -898,9 +898,10 @@ class MegatronFSDP(torch.nn.Module):
|
|
|
898
898
|
|
|
899
899
|
# Register pre state_dict hook to ensure that the module parameters are
|
|
900
900
|
# distributed before saving the state_dict.
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
901
|
+
for name, module in self.named_modules():
|
|
902
|
+
module.register_state_dict_pre_hook(
|
|
903
|
+
lambda *args, **kwargs: self._replace_param_with_distributed_if_needed()
|
|
904
|
+
)
|
|
904
905
|
|
|
905
906
|
@contextmanager
|
|
906
907
|
def no_sync(self):
|
|
@@ -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_fsdp-0.2.0.dev123727 → megatron_fsdp-0.2.0.dev124909}/megatron_fsdp.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: megatron-fsdp
|
|
3
|
-
Version: 0.2.0.
|
|
3
|
+
Version: 0.2.0.dev124909
|
|
4
4
|
Summary: **Megatron-FSDP** is an NVIDIA-developed PyTorch extension that provides a high-performance implementation of Fully Sharded Data Parallelism (FSDP)
|
|
5
5
|
Author-email: NVIDIA <nemo-toolkit@nvidia.com>
|
|
6
6
|
Maintainer-email: NVIDIA <nemo-toolkit@nvidia.com>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{megatron_fsdp-0.2.0.dev123727 → megatron_fsdp-0.2.0.dev124909}/megatron_fsdp/fully_shard.py
RENAMED
|
File without changes
|
{megatron_fsdp-0.2.0.dev123727 → megatron_fsdp-0.2.0.dev124909}/megatron_fsdp/uneven_dtensor.py
RENAMED
|
File without changes
|
|
File without changes
|
{megatron_fsdp-0.2.0.dev123727 → megatron_fsdp-0.2.0.dev124909}/megatron_fsdp.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{megatron_fsdp-0.2.0.dev123727 → megatron_fsdp-0.2.0.dev124909}/megatron_fsdp.egg-info/requires.txt
RENAMED
|
File without changes
|
{megatron_fsdp-0.2.0.dev123727 → megatron_fsdp-0.2.0.dev124909}/megatron_fsdp.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|