通信算子下发
通信算子的下发在Profiling数据中的CANN层,如图所示,一个“AscendCL@hcom_allReduce_”则对应一次allreduce算子下发:

集合通信算子在host侧编排下发,并在device侧异步执行。一般来说,通信算子的下发时间和异步执行时间互相掩盖,可以充分利用device的资源。当通信算子的下发成为瓶颈时,device侧需等待通信算子下发,此时会出现空泡,针对利用率下降的情况,需要优化集合通信算子的下发性能,常见的优化手段包括:
- 由于通信算子的下发是在host侧执行,因此下发的耗时受host侧CPU的调度影响,可通过CPU绑核的方式防止CPU切核带来的性能损耗,提升通信算子的下发性能。
- 通过环境变量切换为AIV模式,执行export HCCL_OP_EXPANSION_MODE="AIV",但需注意AIV模式的支持场景有限,若业务中存在多个通信域并发执行的场景,会出现互相抢核导致死锁等不可预期的行为。
父主题: Profiling数据中通信算子行为分析