set_split_strategy_by_idx【免费下载链接】hcommHCOMMHuawei Communication是HCCL的通信基础库提供通信域以及通信资源的管理能力。项目地址: https://gitcode.com/cann/hcomm产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 推理系列产品支持Atlas 训练系列产品支持[!NOTE]说明 针对Atlas A2 训练系列产品/Atlas A2 推理系列产品仅支持Atlas 800T A2 训练服务器、Atlas 900 A2 PoD 集群基础单元、Atlas 200T A2 Box16 异构子框。 针对Atlas 推理系列产品仅支持Atlas 300I Duo 推理卡。功能说明基于梯度的索引id在集合通信group内设置反向梯度切分策略实现allreduce的融合用于进行集合通信的性能调优。函数原型def set_split_strategy_by_idx(idxList, grouphccl_world_group)参数说明参数名输入/输出描述idxList输入list类型。梯度的索引id列表。- 梯度的索引id列表需为非负升序序列。- 梯度的索引id必须基于模型的总梯度参数个数去设置。索引id从0开始最大值可通过以下方法获得不调用梯度切分接口设置梯度切分策略进行训练此时脚本会使用set_split_strategy_by_size中的默认梯度切分方式进行训练。训练结束后在INFO级别的Host训练日志中搜索segment result关键字可以得到梯度切分的分段的情况如: segment index list: [0,107] [108,159]。此分段序列中最大的数字例如159即总梯度参数索引最大的值。 说明 完整的训练过程可能出现日志覆盖情况此时用户可以修改“/var/log/npu/conf/slog/slog.conf”中的配置项LogAgentMaxFileNum提高Host侧保存日志文件的数量。或可以只进行一次迭代训练。- 不调用梯度切分接口设置梯度切分策略进行训练此时脚本会使用set_split_strategy_by_size中的默认梯度切分方式进行训练。- 训练结束后在INFO级别的Host训练日志中搜索segment result关键字可以得到梯度切分的分段的情况如: segment index list: [0,107] [108,159]。此分段序列中最大的数字例如159即总梯度参数索引最大的值。 说明 完整的训练过程可能出现日志覆盖情况此时用户可以修改“/var/log/npu/conf/slog/slog.conf”中的配置项LogAgentMaxFileNum提高Host侧保存日志文件的数量。或可以只进行一次迭代训练。- 梯度的切分最多支持8段。- 比如模型总共有160个参数会产生梯度需要切分[0,20]、[21,100]和[101,159]三段则可以设置为idxList[20,100,159]。group输入String类型。group名称可以为hccl_world_group或自定义group默认为hccl_world_group。返回值无。约束说明调用该接口的rank必须在当前接口入参group定义的范围内不在此范围内的rank调用该接口会失败。若用户不调用梯度切分接口设置切分策略则会按默认反向梯度切分策略切分。默认切分策略按梯度数据量切分为2段第一段数据量为96.54%第二段数据量为3.46%部分情况可能出现为一段情况。调用示例from hccl.split.api import * set_split_strategy_by_idx([20, 100, 159], group)【免费下载链接】hcommHCOMMHuawei Communication是HCCL的通信基础库提供通信域以及通信资源的管理能力。项目地址: https://gitcode.com/cann/hcomm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
CANN/hcomm梯度索引切分
发布时间:2026/7/11 8:38:00
set_split_strategy_by_idx【免费下载链接】hcommHCOMMHuawei Communication是HCCL的通信基础库提供通信域以及通信资源的管理能力。项目地址: https://gitcode.com/cann/hcomm产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 推理系列产品支持Atlas 训练系列产品支持[!NOTE]说明 针对Atlas A2 训练系列产品/Atlas A2 推理系列产品仅支持Atlas 800T A2 训练服务器、Atlas 900 A2 PoD 集群基础单元、Atlas 200T A2 Box16 异构子框。 针对Atlas 推理系列产品仅支持Atlas 300I Duo 推理卡。功能说明基于梯度的索引id在集合通信group内设置反向梯度切分策略实现allreduce的融合用于进行集合通信的性能调优。函数原型def set_split_strategy_by_idx(idxList, grouphccl_world_group)参数说明参数名输入/输出描述idxList输入list类型。梯度的索引id列表。- 梯度的索引id列表需为非负升序序列。- 梯度的索引id必须基于模型的总梯度参数个数去设置。索引id从0开始最大值可通过以下方法获得不调用梯度切分接口设置梯度切分策略进行训练此时脚本会使用set_split_strategy_by_size中的默认梯度切分方式进行训练。训练结束后在INFO级别的Host训练日志中搜索segment result关键字可以得到梯度切分的分段的情况如: segment index list: [0,107] [108,159]。此分段序列中最大的数字例如159即总梯度参数索引最大的值。 说明 完整的训练过程可能出现日志覆盖情况此时用户可以修改“/var/log/npu/conf/slog/slog.conf”中的配置项LogAgentMaxFileNum提高Host侧保存日志文件的数量。或可以只进行一次迭代训练。- 不调用梯度切分接口设置梯度切分策略进行训练此时脚本会使用set_split_strategy_by_size中的默认梯度切分方式进行训练。- 训练结束后在INFO级别的Host训练日志中搜索segment result关键字可以得到梯度切分的分段的情况如: segment index list: [0,107] [108,159]。此分段序列中最大的数字例如159即总梯度参数索引最大的值。 说明 完整的训练过程可能出现日志覆盖情况此时用户可以修改“/var/log/npu/conf/slog/slog.conf”中的配置项LogAgentMaxFileNum提高Host侧保存日志文件的数量。或可以只进行一次迭代训练。- 梯度的切分最多支持8段。- 比如模型总共有160个参数会产生梯度需要切分[0,20]、[21,100]和[101,159]三段则可以设置为idxList[20,100,159]。group输入String类型。group名称可以为hccl_world_group或自定义group默认为hccl_world_group。返回值无。约束说明调用该接口的rank必须在当前接口入参group定义的范围内不在此范围内的rank调用该接口会失败。若用户不调用梯度切分接口设置切分策略则会按默认反向梯度切分策略切分。默认切分策略按梯度数据量切分为2段第一段数据量为96.54%第二段数据量为3.46%部分情况可能出现为一段情况。调用示例from hccl.split.api import * set_split_strategy_by_idx([20, 100, 159], group)【免费下载链接】hcommHCOMMHuawei Communication是HCCL的通信基础库提供通信域以及通信资源的管理能力。项目地址: https://gitcode.com/cann/hcomm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考