CANN/hcomm创建通信组API
create_group【免费下载链接】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 推理卡。功能说明创建集合通信用户自定义group。如果开发者不调用此接口创建用户自定义group则默认将所有参与集群训练的设备创建为全局的hccl_world_group。group为参与集合通信的进程组其中hccl_world_group默认的全局group包含所有参与集合通信的rank由HCCL自动创建。自定义grouphccl_world_group包含的进程组的子集。函数原型def create_group(group, rank_num, rank_ids)参数说明参数名输入/输出描述group输入String类型最大长度为128字节含结束符。group名称集合通信group的标识不能为默认全局group名字“hccl_world_group”如果用户传入的group名字是“hccl_world_group”会创建失败。rank_num输入int类型。组成该group的rank数量。最大值为32768。rank_ids输入list类型。组成该group的world_rank_id列表。在不同单板类型上有不同的限制。针对Atlas 训练系列产品- 对于Server单机场景rank_ids需满足如下条件rank数量必须为1/2/4/80-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]- 各Server要选取相同数量的rank且数量要求为1/2/4/8。- 各Server选取rank数量为2/4时要求选取的AI处理器同属一个cluster即rank id按8取模余数都小于4或都大于等于4。针对Atlas A2 训练系列产品/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]针对Atlas A3 训练系列产品/Atlas A3 推理系列产品建议每个超节点中的Server数量一致每个Server中的rank数量一致若不一致会造成性能劣化。针对Atlas 300I Duo 推理卡仅支持Server单机场景rank_ids无限制条件。补充说明建议rank_ids按照Device物理连接顺序进行排序即将物理连接上较近的device编排在一起。例如若device_ip按照物理连接从小到大设置则rank_ids也建议按照从小到大的顺序设置。返回值无。约束说明必须在集合通信初始化完成之后调用。调用该接口的rank必须在当前接口入参group定义的范围内不在此范围内的rank调用该接口会失败。调用示例from hccl.manage.api import create_group create_group(myGroup, 4, [0, 1, 2, 3])【免费下载链接】hcommHCOMMHuawei Communication是HCCL的通信基础库提供通信域以及通信资源的管理能力。项目地址: https://gitcode.com/cann/hcomm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考