昇腾社区首页
中文
注册
开发者
下载

接口列表

通信算子开发接口分为控制面接口与数据面接口。
  • 控制面接口:提供拓扑信息查询、通信资源管理等功能。
  • 数据面接口:提供本地操作、算子间同步、通信操作等数据搬运和计算功能。
开发者可在“CANN软件安装目录/include/hccl/”目录中查看通信算子开发接口的定义。
  • hccl_rank_graph.h:控制面的拓扑信息查询接口定义文件。
  • hccl_res.h:控制面的资源管理定义文件。
  • hcomm_primitives.h:数据面接口定义文件。

控制面接口

分类

接口

简介

拓扑信息查询

HcclGetRankId

获取Device在指定通信域中对应的rank序号。

HcclGetRankSize

查询指定通信域的rank数量。

HcclRankGraphGetLayers

查询包含当前rank的拓扑层级编号列表以及拓扑层级数量。

HcclRankGraphGetRanksByLayer

给定通信域和拓扑层级编号,返回该层级下本rank所在拓扑实例的所有rank编号列表以及rank数量。

HcclRankGraphGetRankSizeByLayer

给定通信域和拓扑层级编号,返回该层级下本rank所在拓扑实例的rank数量。

HcclRankGraphGetTopoTypeByLayer

给定通信域和拓扑层级编号,返回本rank所在拓扑层级中的拓扑类型。

HcclRankGraphGetInstSizeListByLayer

给定通信域和拓扑层级编号,查询该层级下的拓扑实例数量,以及每个实例包含的rank数量。

HcclRankGraphGetLinks

给定通信域和拓扑层级编号,查询源rank和目的rank之间的通信连接信息。

资源管理

HcclGetHcclBuffer

获取通信域中的HCCL通信内存。

HcclThreadAcquire

基于通信域获取通信线程。

HcclThreadAcquireWithStream

基于已有runtime stream获取指定notifyNum的通信线程资源。

HcclChannelDescInit

初始化通信通道描述列表。

HcclChannelAcquire

基于通信域获取多个通信通道,如果通信域中没有对应的通信通道则直接创建。

HcclChannelGetHcclBuffer

获取指定channel对端的HCCL通信内存。

HcclEngineCtxCreate

指定通信域与通信引擎,使用特定标签创建对应的通信引擎上下文。

HcclEngineCtxGet

指定通信域和通信引擎,通过通信引擎上下文标签获取对应的通信引擎上下文。

HcclEngineCtxCopy

指定通信域、通信引擎与通信引擎上下文标签,将Host侧内存数据拷贝至对应的通信引擎上下文中。

数据面接口

分类

接口

简介

本地操作

HcommLocalCopyOnThread

提供本地内存拷贝功能,将src指向的长度为len的内存数据,拷贝到dst所指向的相同长度的内存中。

HcommLocalReduceOnThread

提供本地归约操作,将src指向的长度为count*sizeof(dataType)的内存数据,与dst所指向的相同长度的内存数据进行reduceOp操作,并将结果输出到dst中。

HcommThreadNotifyRecordOnThread

向其他Thread发送同步信号,主要用于多Thread之间的同步等待场景。

HcommThreadNotifyWaitOnThread

等待同步信号,该接口会阻塞等待Thread的运行,直到指定的Notify被record完成。

HcommAclrtNotifyRecordOnThread

基于acl接口创建的Notify发送同步信号。

HcommAclrtNotifyWaitOnThread

基于acl接口创建的Notify等待同步信号。

通信操作

HcommWriteOnThread

向channel上的指定内存写数据,将src中长度为len的内存数据写入dst所指向的相同长度的内存区域。接口调用方为src所在节点,该接口为异步接口。

HcommWriteReduceOnThread

向channel上的指定内存写数据,将src中长度为count*sizeof(dataType)的内存数据,与dst所指向的相同长度的内存数据进行reduceOp操作,并将结果输出到dst中。接口调用方为src所在节点。

HcommReadOnThread

从channel上的指定内存读数据,从src中读取长度为len的内存数据,并写入dst。接口调用方为dst所在节点,为异步接口。

HcommReadReduceOnThread

从channel上的指定内存读数据,从src中读取长度为count*sizeof(dataType)的内存数据,与dst所指向的相同长度的内存数据进行reduceOp操作,并将结果输出到dst中。接口调用方为dst所在节点。

HcommChannelNotifyRecordOnThread

发送同步信号,在Thread上记录一个Notify。该接口为同步接口,主要用于Channe两端同步等待场景。

HcommChannelNotifyWaitOnThread

等待同步信号,阻塞等待Thread的运行,直到指定的Notify完成。

其他

HcommBatchModeStart

该接口用于开启批量模式,在HcommBatchModeStart和HcommBatchModeEnd之间的所有数据面接口调用(如 HcommLocalCopy、HcommWrite 等)将被缓存,不会立即执行。所有操作将在调用HcommBatchModeEnd时统一提交并执行。

HcommBatchModeEnd

该接口用于提交并触发批量模式下缓存的所有操作的执行。所有在HcommBatchModeStart和HcommBatchModeEnd之间的数据面接口调用操作将在此时统一执行。

HcommAcquireComm

根据传入的commId获取对应通信域,并对该通信域加锁,防止该通信域被重复获取。

HcommReleaseComm

根据传入的commId,查找对应通信域,并释放锁。