---
title: 总体流程
description: "HCCL通信算子的开发流程如下所示："
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/programug/commopdev/hcclopdev_000012.html
sourcePath: /source/zh/canncommercial/900/programug/commopdev/hcclopdev_000012.html
indexId: 9fb42ccfdd44e90efa59bbd6cc1e99ae071c0dc36a562e67fb0aecd0c874367d71
---
# 总体流程

HCCL通信算子的开发流程如下所示：


1. 定义算子接口：依据通信算子的功能作用，定义通信算子接口。
2. 查询拓扑信息：获取通信域的网络层级、节点数量等信息。
3. 算法选择（可选）：为最大化通信性能，往往在不同拓扑和数据量下采用不同算法实现，因此需要基于拓扑信息，选择最优的通信算法。
4. 创建资源：申请通信算法所需要的内存、Thread、Notify、Channel等资源。
5. 任务编排：利用通信资源协调各个rank进行同步和数据搬运，完成集合通信操作。
6. 算子下发：下发算子Kernel，交给通信引擎执行。
