昇腾社区首页
中文
注册
开发者
下载

快慢卡问题分析

集合通信算子在执行内存拷贝任务前,需要与对端进行一次前同步,以保证对端已准备好接收本端的数据,因此若对端还没有执行到同一个通信算子,本端则需要等待对端算子同步后才能往下执行,而这个notify wait的等待时间也会被统计到通信算子执行中,形成了通信算子性能慢的现象,这就是常见的快慢卡现象。

如上图中的示例,device1先执行到AllReduce算子,但是device0的AllReduce算子执行到的时间更慢,因此device1上的AllReduce算子会有一段notify wait的时间被统计到算子的耗时中,此时需要进一步去排查卡间算子的执行有快慢卡的原因,常见的快慢卡现象的原因有:

  • 前置计算算子性能波动。
  • 通信算子下发瓶颈,如host侧其他行为导致慢卡的通信算子没能及时下发。