HcclCommInitAll
功能说明
单机通信场景中,通过一个进程统一创建多张卡的通信域(其中一张卡对应一个线程)。在初始化通信域的过程中,devices[0]作为root rank自动收集集群信息。
函数原型
HcclResult HcclCommInitAll(uint32_t ndev, int32_t* devices, HcclComm* comms)
参数说明
参数名 |
输入/输出 |
描述 |
---|---|---|
ndev |
输入 |
通信域内的device个数。 |
devices |
输入 |
通信域中的device列表,其值为device的逻辑ID,通信库按照devices中设置的顺序创建通信域。 需要注意,输入的devices列表中不能包含重复的device ID。 |
comms |
输出 |
生成的通信域句柄数组,其大小为:ndev * sizeof(HcclComm)。 HcclComm类型的定义可参见HcclComm。 |
返回值
HcclResult:接口成功返回HCCL_SUCCESS,其他失败。
约束说明
- 该接口仅支持单机通信场景使用,不支持多机通信场景。
- 多线程调用通信操作API时(例如HcclAllReduce等),用户需确保不同线程中调用通信操作API的前后时间差不超过环境变量HCCL_CONNECT_TIMEOUT的时间,避免建链超时。
- 不支持一张卡同时调用多个通信操作API。
支持的型号
Atlas 训练系列产品
Atlas 300I Duo 推理卡
Atlas A2 训练系列产品
父主题: 通信域管理