meta-pytorch/monarch
PyTorch Single Controller
解决的问题
Monarch 简化了 PyTorch 中分布式编程的复杂性。它解决了在大规模 AI 训练和推理工作负载中管理远程进程、协调它们之间的通信,以及处理硬件级别的内存传输和故障的挑战。
工作原理
Monarch 使用可扩展的基于 Actor 的消息系统,其中 Actor 被组织成“网格”以实现高效的广播。它采用监督树来管理容错,确保故障向上传播以实现结构化恢复。为了实现高性能数据传输,它通过 libibverbs 集成点对点 RDMA 传输,并提供分布式张量 API,使 Actor 能够处理跨多个进程分片的张量。
适用人群
专为需要强大容错能力、高性能 GPU/CPU 内存传输以及可扩展方式管理远程 Actor 的大型分布式 PyTorch 应用开发者设计。
主要亮点
- 可扩展的 Actor 消息机制:将 Actor 分组为网格,以高效广播消息。
- 容错能力:使用监督树提供结构化的错误行为和细粒度恢复。
- RDMA 支持:支持 GPU 或 CPU 内存的低成本注册和单边传输。
- 分布式张量:原生支持跨不同进程分片的张量。
- 灵活的构建方式:支持 CUDA、ROCm 和仅 CPU 环境。
相关
- 项目
- 项目
- 项目
- 项目
- 项目