HCCL Tiling构造函数
功能说明
用于创建一个Mc2CcTilingConfig对象。
函数原型
1
|
Mc2CcTilingConfig(const std::string &groupName, uint32_t opType, const std::string &algConfig, uint32_t reduceType = 0, uint8_t dstDataType = 0, uint8_t srcDataType = 0, uint8_t commEngine = 0) |
参数说明
|
参数名 |
输入/输出 |
描述 |
|---|---|---|
|
groupName |
输入 |
当前通信任务所在的通信域。string类型,支持的最大长度为128字节。 |
|
opType |
输入 |
表示通信任务类型。uint32_t类型。HCCL API提供HcclCMDType枚举定义作为该参数的取值,具体支持的通信任务类型及取值请参考表2。 |
|
algConfig |
输入 |
通信算法配置。string类型,支持的最大长度为128字节。 针对Atlas 350 加速卡,该参数为预留字段,配置后不生效,默认仅支持FullMesh算法。FullMesh算法即NPU之间的全连接,任意两个NPU之间可以直接进行数据收发。详细的算法内容可参见集合通信算法介绍。 针对
针对 |
|
reduceType |
输入 |
归约操作类型,仅对有归约操作的通信任务生效。uint32_t类型,取值详见表2。 |
|
dstDataType |
输入 |
通信任务中输出数据的数据类型。uint8_t类型,该参数的取值范围请参考表1。 Atlas 350 加速卡,不同通信任务支持的输出数据类型不同,具体为:
|
|
输入 |
通信任务中输入数据的数据类型。uint8_t类型,该参数的取值范围请参考表1。 Atlas 350 加速卡,不同通信任务支持的输入数据类型如下:
针对 |
|
|
commEngine |
输入 |
|
数据类型 |
说明 |
||
|---|---|---|---|
|
HcclCMDType |
通信任务类型。 针对Atlas 350 加速卡,当前支持的通信任务类型为HCCL_CMD_ALLREDUCE、HCCL_CMD_ALLGATHER、HCCL_CMD_REDUCE_SCATTER、HCCL_CMD_ALLTOALL、HCCL_CMD_ALLTOALLV、HCCL_CMD_HALF_ALLTOALLV。 针对 针对
|
返回值说明
无
约束说明
无
调用示例
1 2 3 4 5 6 7 8 9 10 |
const char *groupName = "testGroup"; uint32_t opType = HCCL_CMD_REDUCE_SCATTER; std::string algConfig = "ReduceScatter=level0:fullmesh"; uint32_t reduceType = HCCL_REDUCE_SUM; uint8_t dstDataType = HCCL_DATA_TYPE_FP16; uint8_t srcDataType = HCCL_DATA_TYPE_FP16; uint8_t commEngine = 0; AscendC::Mc2CcTilingConfig mc2CcTilingConfig(groupName, opType, algConfig, reduceType, dstDataType, srcDataType, commEngine); // 构造函数 mc2CcTilingConfig.GetTiling(tiling->mc2InitTiling); // tiling为算子组装的TilingData结构体 mc2CcTilingConfig.GetTiling(tiling->reduceScatterTiling); |