相关的Issue

https://e.gitee.com/mind_spore/dashboard?issue=IA728T
https://e.gitee.com/mind_spore/dashboard?issue=IA6Q9G
https://e.gitee.com/mind_spore/dashboard?issue=IA6Q7D
https://e.gitee.com/mind_spore/dashboard?issue=IA6Q0S

原因(目的、解决的问题等)

动态图ringattention bug fix,其中FlashSP为ringattention的负载均衡优化版本

  1. https://e.gitee.com/mind_spore/dashboard?issue=IA728T: flashsp算子分布式训练过程中通信卡住
  2. https://e.gitee.com/mind_spore/dashboard?issue=IA6Q9G: get_sp_chuncks接口对于seq_dim/batch_dims设置错误不感知
  3. https://e.gitee.com/mind_spore/dashboard?issue=IA6Q7D: [FlashSP]初始化后sp=8,dp=1时报错ValueError
  4. https://e.gitee.com/mind_spore/dashboard?issue=IA6Q0S: [FlashSP]get_sp_chuncks接口sp/dp参数报错

描述(做了什么,变更了什么)

  1. 修复通信卡死问题:原卡死问题是由于多个通信流同时执行,在个别情况下会导致执行序问题,修复方案为将原多个通信流合并为一个通信流,可解决卡死问题
  2. 修复get_sp_chuncks接口对于seq_dim/batch_dims设置错误不感知:与测试对齐,已完成接口变更(已发送接口变更邮件),不需要用户输入seq_dim/batch_dims,修改为输入input_layout,接口更易用,避免用户配置错误
  3. 修复“初始化后sp=8,dp=1时报错”:原报错是因为用户没有设置context中的并行模式,由于整个动态图代码已全部切换到新的并行初始化接口,原context接口中的并行模式设置废弃,不需要因为用户没有设置context而报错,已修复该报错信息
  4. 修复“get_sp_chuncks接口sp/dp参数报错”:与测试对齐,已完成接口变更(已发送接口变更邮件),不需要用户输入sp/dp参数,修改为函数内部直接获取sp/dp参数,接口更易用,避免用户配置错误

测试用例(新增、改动、可能影响的功能)

自验结果:

  1. 修复通信卡死问题:已修复,无卡死问题
  2. 修复get_sp_chuncks接口对于seq_dim/batch_dims设置错误不感知:已完成接口变更,无需用户输入seq_dim/batch_dim
  3. 修复“初始化后sp=8,dp=1时报错”:sp=8,dp=1条件下可正常运行,精度与单算子一致,无报错
  4. 修复“get_sp_chuncks接口sp/dp参数报错”:已完成接口变更,无需用户输入sp/dp参数