公司动态

CANN/asc-devkit HCCL模板参数详解

📅 2026/7/15 14:52:28
CANN/asc-devkit HCCL模板参数详解
HCCL模板参数产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品 / Atlas A3 推理系列产品√Atlas A2 训练系列产品 / Atlas A2 推理系列产品√Atlas 200I/500 A2 推理产品xAtlas 推理系列产品 AI CorexAtlas 推理系列产品 Vector CorexAtlas 训练系列产品x功能说明创建HCCL对象时需要传入模板参数。函数原型Hccl类定义如下模板参数说明见表1 Hccl类模板参数说明。template HcclServerType serverType HcclServerType::HCCL_SERVER_TYPE_AICPU, const auto config DEFAULT_CFG class Hccl;参数说明表 1Hccl类模板参数说明参数名称描述serverType支持的服务端类型。HcclServerType类型定义如下。对于Ascend 950PR/Ascend 950DT当前仅支持HCCL_SERVER_TYPE_CCU。对于Atlas A3 训练系列产品 / Atlas A3 推理系列产品当前仅支持HCCL_SERVER_TYPE_AICPU。对于Atlas A2 训练系列产品 / Atlas A2 推理系列产品当前仅支持HCCL_SERVER_TYPE_AICPU。enum HcclServerType { HCCL_SERVER_TYPE_AICPU 0, HCCL_SERVER_TYPE_CCU, HCCL_SERVER_TYPE_END // 预留参数不支持使用 }config用于指定向服务端下发任务的核。HcclServerConfig类型定义如下默认值DEFAULT_CFG {CoreType::DEFAULT, 0}。struct HcclServerConfig { CoreType type; // 向服务端下发任务的核的类型 int64_t blockId; // 向服务端下发任务的核的ID };CoreType的定义如下enum class CoreType: uint8_t { DEFAULT, // 表示不指定AIC核或者AIV核 ON_AIV, // 表示指定为AIV核 ON_AIC // 表示指定为AIC核 };返回值说明无约束说明无调用示例通过如下传入模板参数config的方式创建Hccl类对象指定HCCL客户端仅在AIV的10号核上发送通信消息给服务端替代通过调用GetBlockIdx接口的方式指定运行的核。static constexpr HcclServerConfig HCCL_CFG {CoreType::ON_AIV, 10}; // 选择AICPU作为服务端 HcclHcclServerType::HCCL_SERVER_TYPE_AICPU, HCCL_CFG hccl; // 选择CCU作为服务端 HcclHcclServerType::HCCL_SERVER_TYPE_CCU, HCCL_CFG hccl;创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考