---
title: 通信算子下发
description: "通信算子的下发在Profiling数据中的CANN层，如图所示，一个“AscendCL@hcom_allReduce_”则对应一次allreduce算子下发："
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/hcclug/hcclug_000017.html
sourcePath: /source/zh/canncommercial/900/API/hcclug/hcclug_000017.html
indexId: 97af99fe54fedd0f40cb4bf160e9e535cdfd8c07a4eeae0f8b786f3b14fe257159
---
# 通信算子下发

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


集合通信算子在host侧编排下发，并在device侧异步执行。一般来说，通信算子的下发时间和异步执行时间互相掩盖，可以充分利用device的资源。当通信算子的下发成为瓶颈时，device侧需等待通信算子下发，此时会出现空泡，针对利用率下降的情况，需要优化集合通信算子的下发性能，常见的优化手段包括：

- 由于通信算子的下发是在host侧执行，因此下发的耗时受host侧CPU的调度影响，可通过CPU绑核的方式防止CPU切核带来的性能损耗，提升通信算子的下发性能。
- 通过环境变量切换为AIV模式，执行export HCCL_OP_EXPANSION_MODE="AIV"，但需注意AIV模式的支持场景有限，若业务中存在多个通信域并发执行的场景，会出现互相抢核导致死锁等不可预期的行为。
