已开启
MindSpore后端支持fully_shard #63
DavidFFFan创建于  3月31日
DavidFFFan
DavidFFFan成员
3月31日 创建

背景

hyper-parallel fully_shard支持mindspore后端,对外接口统一。
功能点:

  1. 基础的fully shard功能
  2. 混合精度
  3. allgather预取
  4. 异步reduce scatter
  5. 通信融合
likedislike
DavidFFFanDavidFFFan成员
4月9日 修改了issue 的描述
DavidFFFan
DavidFFFan成员
4月14日 评论:

补充一下 issue #63 中“5. 通信融合”的当前进展:

  • 已提交对应 PR:#540 Add MindSpore comm fusion zero-copy toggle
  • 本次主要完成 MindSpore 后端 fully_shard 的 comm_fusion 主路径打通,包括 fused all_gather、fused reduce_scatter 以及 HSDP replicate bucket all_reduce
  • fully_shard(..., comm_fusion=True) 已可在 MindSpore fully_shard 流程中生效
  • 新增了 comm_fusion_zero_copy 开关,用于控制实验性的 zero-copy flat buffer 路径
  • MindSpore 后端当前默认仍关闭 zero-copy,显式设置 comm_fusion_zero_copy=True 时才启用

本次同时补充了相关精度验证场景:

  • test_ms_zero3_fully_shard_comm_fusion
  • test_ms_zero3_fully_shard_comm_fusion_prefetch
  • test_ms_zero3_fully_shard_grad_accum_comm_fusion

说明:issue #63 覆盖的是 MindSpore fully_shard 的整体能力建设,本 PR 主要对应其中“通信融合”这一子项,先在 issue 中同步阶段性进展,待后续子项都收敛后再统一判断 issue 关闭时机。

likedislike