下载
中文
注册

构造函数

功能说明

用于创建一个Mc2CcTilingConfig对象。

函数原型

1
Mc2CcTilingConfig(const std::string &groupName, uint32_t opType, const std::string &algConfig, uint32_t reduceType = 0)

参数说明

表1 参数说明

参数名

输入/输出

描述

groupName

输入

当前通信任务所在的通信域。string类型,支持的最大长度为128字节。

opType

输入

表示通信任务类型。uint32_t类型。

针对 Atlas A2 训练系列产品/Atlas 800I A2 推理产品 ,当前支持的通信任务类型为HCCL_CMD_ALLREDUCE、HCCL_CMD_ALLGATHER、HCCL_CMD_REDUCE_SCATTER、HCCL_CMD_ALLTOALL。

关于HcclCMDType的定义请参考表4

algConfig

输入

通信算法配置。string类型,支持的最大长度为128字节。

针对 Atlas A2 训练系列产品/Atlas 800I A2 推理产品 ,该参数为预留字段,配置后不生效,默认仅支持FullMesh算法。FullMesh算法即NPU之间的全连接,任意两个NPU之间可以直接进行数据收发。详细的算法内容可参见集合通信算法

reduceType

输入

规约操作类型,仅对有规约操作的通信任务生效。uint32_t类型,取值详见表2

返回值

注意事项

调用示例

1
2
3
4
5
6
7
8
uint32_t index = 0U;
const char *groupName = context->GetAttrs()->GetAttrPointer<char>(index++);
uint32_t opType = HCCL_CMD_REDUCE_SCATTER;
std::string algConfig = "ReduceScatter=level0:fullmesh";
uint32_t reduceType = HCCL_REDUCE_SUM;
AscendC::Mc2CcTilingConfig mc2CcTilingConfig(groupName, opType, algConfig, reduceType); // 构造函数
mc2CcTilingConfig.GetTiling(tiling->mc2InitTiling);
mc2CcTilingConfig.GetTiling(tiling->reduceScatterTiling);