Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【PaddlePaddle Hackathon】25、在 Paddle 中实现基于 2D Mesh 拓扑的 AllReduce #35984

Closed
TCChenlong opened this issue Sep 23, 2021 · 0 comments

Comments

@TCChenlong
Copy link
Contributor

(此 ISSUE 为 PaddlePaddle Hackathon 活动的任务 ISSUE,更多详见PaddlePaddle Hackathon

【任务说明】

  • 任务标题:在 Paddle 中实现基于 2D Mesh 拓扑的 AllReduce

  • 技术标签:深度学习框架,C++,通信拓扑

  • 任务难度:困难

  • 详细描述:2D Mesh 主要思想也是分层,区别于 2D Torus 结构之处在于 2D Mesh 结构支持水平和垂直方向上同时进行集合操作。这种结构理论上将网络通信次数从传统 Ring 的 O(N2) 降低到了 O(N),关键原因在于 TPU 结点支持两路的收发。此任务的目标是在 Paddle 分布式训练框架中,实现 2D Mesh 结构的 AllReduce,如果目标结点不支持两路收发,可尝试软件模拟;除使用 GPU 进行训练外,最好也能支持其他异构硬件。

【提交内容】

  • 任务提案

  • 任务 PR 到 Paddle

  • 相关技术文档

  • 任务单测文件

【技术要求】

  • 了解 Paddle 分布式训练框架

  • 熟练掌握 C++ 、Python

  • 熟悉模型训练和集合通信实现、2D Mesh 通信算法

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants