总体流程
HCCL通信算子的执行流程如下图所示,分为以下阶段:
- 定义算子接口:依据通信算子的功能作用,定义通信算子接口。
- 查询拓扑信息:获取通信域的网络层级、节点数量等信息。
- 算法选择(可选):为最大化通信性能,往往在不同拓扑和数据量下采用不同算法实现,因此需要基于拓扑信息,选择最优的通信算法。
- 创建资源:申请通信算法所需要的内存、Thread、Notify、Channel等资源。
- 任务编排:利用通信资源协调各个rank进行同步和数据搬运,完成集合通信操作。
- 算子下发:下发算子Kernel,交给通信引擎执行。
父主题: 通信算子开发