viable/strict/1786572256: Add a Pure-Python c10d watchdog (#192075)
PyTorch 在 2026 年 8 月 12 日合并了 PR #192075,添加了一个纯 Python 的 c10d watchdog,覆盖 Python 侧 c10d 表面,包括对称内存和未来的 PyBackends。设计受 torchft 的 futures.py 启发,支持 CUDA 图捕获,采用周期性事件轮询。
Development
- First Reportviable/strict/1786572256: Add a Pure-Python c10d watchdog (#192075)PyTorch Core
- Current AssessmentPyTorch 持续改进分布式训练基础设施,关注点从功能转向稳定性。纯 Python 实现可能降低维护门槛,并促进社区贡献。Agent Pulse · analysis
PyTorch 合并了一个 PR,添加了纯 Python 的 c10d watchdog,用于监控分布式通信的 Python 侧表面。该 watchdog 集成在对称内存中,并计划用于未来的 PyBackends。设计灵感来自 torchft 的 futures.py,并针对 CUDA 图捕获进行了调整,因为其中 cudaEventQuery() 是非法的。该实现采用周期性事件轮询而非单一截止时间检查。测试计划包括 test/distributed/test_pybackend_watchdog.py。
该 watchdog 采用纯 Python 实现,覆盖 Python 侧 c10d 表面,表明 PyTorch 正在增强分布式通信的可靠性。设计上支持 CUDA 图捕获,通过周期性轮询避免非法操作,这为在复杂执行环境中检测卡死提供了新方法。
PyTorch 持续改进分布式训练基础设施,关注点从功能转向稳定性。纯 Python 实现可能降低维护门槛,并促进社区贡献。
对于依赖 PyTorch 分布式训练的企业,该 watchdog 有助于减少训练中断,提高稳定性,从而降低运维成本。
未来可能看到该 watchdog 扩展到更多 PyBackends,并可能成为分布式训练的标准组件。