文档
注册

create_group

功能说明

创建集合通信用户自定义group。

如果开发者不调用此接口创建用户自定义group,则默认将所有参与集群训练的设备创建为全局的hccl_world_group。

函数原型

def create_group(group, rank_num, rank_ids)

参数说明

参数名

输入/输出

描述

group

输入

String类型,最大长度为128字节,含结束符。

group名称,集合通信group的标识,不能为hccl_world_group。

hccl_world_group是默认group,由ranktable文件创建,不能通过该接口创建,如果用户传入的group如果是hccl_world_group,创建group失败。

rank_num

输入

int类型。

组成该group的rank数量。

最大值为32768。

rank_ids

输入

list类型。

组成该group的world_rank_id列表。

在不同单板类型上,有不同的限制。

针对Atlas 训练系列产品
  • 对于Server单机场景,rank_ids需满足如下条件:

    rank数量必须为1/2/4/8,0-3卡与4-7卡各为一个组网,rank数量为2/4时要求选取的昇腾AI处理器同属一个cluster。

  • 对于Server集群场景,rank_ids满足如下条件:
    • 各Server要选取相同数量的rank(且数量要求为1/2/4/8)。
    • 各Server选取rank数量为2/4时要求选取的昇腾AI处理器同属一个cluster(即rank id按8取模余数都小于4或都大于等于4)。

    举例:

    假设对三台Server创建group,三台Server的rank id分别为:

    {0,1,2,3,4,5,6,7}

    {8,9,10,11,12,13,14,15}

    {16,17,18,19,20,21,22,23}

    则满足要求的rank_ids列表可以是:

    rank_ids=[1,9,17]

    rank_ids=[1,2,9,10,17,18]

    rank_ids=[4,5,6,7,12,13,14,15,20,21,22,23]

针对Atlas 300I Duo 推理卡
  • 对于Server单机场景,rank_ids无限制条件。
  • 对于Server集群场景,rank_ids需满足如下条件:

    建议各Server要选取相同数量的rank(数量大小无要求),且各Server选取的rank对应位置要相等(即rank id按8取模相等)。若各Server选取的rank数量不同,会造成性能裂化。

    举例:

    假设对三台Server创建group,三台Server的rank id分别为:

    {0,1,2,3,4,5,6,7}

    {8,9,10,11,12,13,14,15}

    {16,17,18,19,20,21,22,23}

    则满足要求的rank_ids列表可以是:

    rank_ids=[1,9,17]

    rank_ids=[1,2,9,10,17,18]

    rank_ids=[4,5,6,7,12,13,14,15,20,21,22,23]

针对Atlas A2 训练系列产品
  • 对于Server单机场景,rank_ids无限制条件。
  • 对于Server集群场景,rank_ids需满足如下条件:

    建议各Server要选取相同数量的rank(数量大小无要求),且各Server选取的rank对应位置要相等(即rank id按8取模相等)。若各Server选取的rank数量不同,会造成性能裂化。

    举例:

    假设对三台Server创建group,三台Server的rank id分别为:

    {0,1,2,3,4,5,6,7}

    {8,9,10,11,12,13,14,15}

    {16,17,18,19,20,21,22,23}

    则满足要求的rank_ids列表可以是:

    rank_ids=[1,9,17]

    rank_ids=[1,2,9,10,17,18]

    rank_ids=[4,5,6,7,12,13,14,15,20,21,22,23]

补充说明:

建议rank_ids按照Device物理连接顺序进行排序,即将物理连接上较近的device编排在一起。例如,若device_ip按照物理连接从小到大设置,则rank_ids也建议按照从小到大的顺序设置。

返回值

无。

约束说明

  • 必须在集合通信初始化完成之后调用。
  • 调用该接口的rank必须在当前接口入参group定义的范围内,不在此范围内的rank调用该接口会失败。
  • 重复创建名称相同的group,会创建失败。

支持的型号

Atlas 训练系列产品

Atlas 300I Duo 推理卡

Atlas A2 训练系列产品

调用示例

1
2
from npu_bridge.npu_init import *
create_group("myGroup", 4, [0, 1, 2, 3])
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词