通信算子支持情况
本节提供

本节表格中“√”代表支持,“x”代表不支持,“NA”代表不涉及。
训练场景常用通信算子
算子类型 |
执行模式 |
通信算法编排展开位置 |
单算子零拷贝 |
确定性计算 |
算子重执行 |
节点内通信 |
超节点内通信 |
超节点间通信 |
---|---|---|---|---|---|---|---|---|
AllGather |
单算子 |
AI_CPU |
√ |
NA |
√ |
√ |
√ |
√ |
AllGatherV |
单算子 |
AI_CPU |
x |
NA |
√ |
√ |
√ |
√ |
AllReduce |
单算子 |
AI_CPU |
√ |
√ |
√ |
√ |
√ |
√ |
AlltoAll |
单算子 |
AI_CPU |
x |
NA |
√ |
√ |
√ |
√ |
AlltoAllV |
单算子 |
AI_CPU |
x |
NA |
√ |
√ |
√ |
√ |
AlltoAllVC |
单算子 |
AI_CPU |
x |
NA |
√ |
√ |
√ |
√ |
Broadcast |
单算子 |
AI_CPU |
√ |
NA |
√ |
√ |
√ |
√ |
Reduce |
单算子 |
AI_CPU |
x |
√ |
√ |
√ |
√ |
√ |
ReduceScatter |
单算子 |
AI_CPU |
√ |
√ |
√ |
√ |
√ |
√ |
ReduceScatterV |
单算子 |
AI_CPU |
x |
√ |
√ |
√ |
√ |
√ |
Send |
单算子 |
AI_CPU |
x |
NA |
√ |
√ |
√ |
√ |
Recv |
单算子 |
AI_CPU |
x |
NA |
√ |
√ |
√ |
√ |
BatchSendRecv |
单算子 |
AI_CPU |
x |
NA |
√ |
√ |
√ |
√ |

单算子零拷贝仅支持通信算子未开启重执行的场景。
推理场景常用通信算子
- 通信算法编排展开位置为AI CPU
算子类型
执行模式
通信算法编排展开位置
单算子零拷贝
确定性计算
算子重执行
节点内通信
超节点内通信
超节点间通信
AllGather
单算子
AI_CPU
√
NA
√
√
√
√
图模式
(Ascend IR)
AI_CPU
NA
NA
√
√
√
√
aclgraph
AI_CPU
NA
NA
√
√
√
√
AllReduce
单算子
AI_CPU
√
√
√
√
√
√
图模式
(Ascend IR)
AI_CPU
NA
√
√
√
√
√
aclgraph
AI_CPU
NA
√
√
√
√
√
AlltoAllV
单算子
AI_CPU
x
NA
√
√
√
√
图模式
(Ascend IR)
AI_CPU
NA
NA
√
√
√
√
aclgraph
AI_CPU
NA
NA
√
√
√
√
ReduceScatter
单算子
AI_CPU
√
√
√
√
√
√
图模式
(Ascend IR)
AI_CPU
NA
√
√
√
√
√
aclgraph
AI_CPU
NA
√
√
√
√
√
单算子零拷贝仅支持通信算子未开启重执行的场景。
- 通信算法编排展开位置为Vector Core
算子类型
执行模式
通信算法编排展开位置
确定性计算
节点内通信
超节点内通信
AllGather
单算子
AIV
NA
√
√
图模式(Ascend IR)
AIV
NA
√
√
aclgraph
AIV
NA
√
√
AllReduce
单算子
AIV
√
√
√
图模式(Ascend IR)
AIV
√
√
√
aclgraph
AIV
√
√
√
AlltoAllV
单算子
AIV
NA
√
√
图模式(Ascend IR)
AIV
NA
√
√
aclgraph
AIV
NA
√
√
ReduceScatter
单算子
AIV
√
√
√
图模式(Ascend IR)
AIV
√
√
√
aclgraph
AIV
√
√
√
AIV模式在小数据量通信时性能较优,主要用于推理场景,此模式下:
- 单算子零拷贝会引入执行时内存协商,导致通信时延变大,所以当前AIV模式下不支持单算子零拷贝。
- 重执行特性会增加执行耗时,所以AIV模式不支持算子重执行。
- 仅支持超节点内通信,不支持超节点间通信。