昇腾社区首页
中文
注册

SetAlgConfig

功能说明

设置通信算法。

函数原型

1
uint32_t SetAlgConfig(const std::string &algConfig)

参数说明

表1 参数说明

参数名

输入/输出

描述

algConfig

输入

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

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

返回值

  • 0表示设置成功。
  • 非0表示设置失败。

约束说明

调用示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
const char *groupName = "testGroup";
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);

algConfig = "AllGather=level0:doublering";
mc2CcTilingConfig.SetGroupName(groupName);
mc2CcTilingConfig.SetOpType(HCCL_CMD_ALLGATHER);
mc2CcTilingConfig.SetAlgConfig(algConfig); // 设置通信算法
mc2CcTilingConfig.SetReduceType(HCCL_REDUCE_RESERVED);
mc2CcTilingConfig.SetSkipLocalRankCopy(0);
mc2CcTilingConfig.SetSkipBufferWindowCopy(1);
mc2CcTilingConfig.GetTiling(tiling->allGatherTiling);