[ PROMPT_NODE_22320 ]
pytorch-fsdp
[ SKILL_DOCUMENTATION ]
# Pytorch-Fsdp 技能
基于官方文档的 pytorch-fsdp 开发综合辅助。
## 何时使用此技能
当出现以下情况时应触发此技能:
- 使用 pytorch-fsdp 进行开发
- 询问 pytorch-fsdp 特性或 API
- 实现 pytorch-fsdp 解决方案
- 调试 pytorch-fsdp 代码
- 学习 pytorch-fsdp 最佳实践
## 快速参考
### 常见模式
**模式 1:** 通用 Join 上下文管理器# 创建日期: 2025年6月6日 | 最后更新: 2025年6月6日 通用 join 上下文管理器有助于在不均匀输入的情况下进行分布式训练。本页概述了相关类的 API:Join, Joinable 和 JoinHook。有关教程,请参阅“使用 Join 上下文管理器处理不均匀输入的分布式训练”。 class torch.distributed.algorithms.Join(joinables, enable=True, throw_on_early_termination=False, **kwargs)[source]# 此类定义了通用 join 上下文管理器,允许在进程加入后调用自定义钩子。这些钩子应屏蔽非加入进程的集合通信,以防止挂起和错误,并确保算法正确性。有关钩子定义的详细信息,请参阅 JoinHook。 警告 上下文管理器要求每个参与的 Joinable 在其自身的每次迭代集合通信之前调用 notify_join_context() 方法,以确保正确性。 警告 上下文管理器要求 JoinHook 对象中的所有 process_group 属性相同。如果有多个 JoinHook 对象,则使用第一个对象的设备。进程组和设备信息用于检查非加入进程,并通知进程在启用 throw_on_early_termination 时抛出异常,两者都使用 all-reduce。 参数 joinables (List[Joinable]) – 参与的 Joinable 列表;它们的钩子按给定顺序迭代。 enable (bool) – 启用不均匀输入检测的标志;设置为 False 将禁用上下文管理器的功能,仅当用户确定输入不会不均匀时才应设置(默认:True)。 throw_on_early_termination (bool) – 控制在检测到不均匀输入时是否抛出异常的标志(默认:False)。 示例: >>> import os >>> import torch >>> import torch.distributed as dist >>> import torch.multiprocessing as mp >>> import torch.nn.parallel.DistributedDataParallel as DDP >>> import torch.distributed.optim.ZeroRedundancyOptimizer as