news 2026/5/9 16:42:31

CANN/hcomm创建通信组API

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/hcomm创建通信组API

create_group

【免费下载链接】hcommHCOMM(Huawei 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自动创建。
  • 自定义group:hccl_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/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]
- 各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])

【免费下载链接】hcommHCOMM(Huawei Communication)是HCCL的通信基础库,提供通信域以及通信资源的管理能力。项目地址: https://gitcode.com/cann/hcomm

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 16:41:06

CANN/PTO-ISA标量参数与枚举

标量参数与枚举 【免费下载链接】pto-isa Parallel Tile Operation (PTO) is a virtual instruction set architecture designed by Ascend CANN, focusing on tile-level operations. This repository offers high-performance, cross-platform tile operations across Ascend…

作者头像 李华
网站建设 2026/5/9 16:39:00

CANN驱动设备错误码查询

dcmi_get_device_errorcode_string 【免费下载链接】driver 本项目是CANN提供的驱动模块,实现基础驱动和资源管理及调度等功能,使能昇腾芯片。 项目地址: https://gitcode.com/cann/driver 函数原型 int dcmi_get_device_errorcode_string(int c…

作者头像 李华
网站建设 2026/5/9 16:38:32

CANN/driver删除算力组API文档

dcmi_delete_capability_group 【免费下载链接】driver 本项目是CANN提供的驱动模块,实现基础驱动和资源管理及调度等功能,使能昇腾芯片。 项目地址: https://gitcode.com/cann/driver 函数原型 int dcmi_delete_capability_group(int card_id, …

作者头像 李华
网站建设 2026/5/9 16:38:31

老鸟如何使用Linux系统

老鸟如何使用Linux系统:从命令记忆到问题驱动的认知重构别再背命令了,你需要的是搭建一套排错决策树很多Linux学习者都有这样的经历:上学时抄下一张命令清单,ls、cd、grep、awk……背得滚瓜烂熟,可一离开课本就忘得一干…

作者头像 李华
网站建设 2026/5/9 16:37:34

SlimeNexus:基于Spring Boot与Vue的Minecraft服务器一体化运维管理平台

1. 项目概述:一个为《我的世界》服务器量身定制的现代化管理枢纽如果你是一名《我的世界》(Minecraft)服务器管理员,尤其是运营着有一定玩家基数的社区服,那么你一定对“管理”这两个字的重量深有体会。从玩家数据备份…

作者头像 李华
网站建设 2026/5/9 16:31:03

CANN/atvoss内核调度运行接口

BaseKernelSchedule::Run 【免费下载链接】atvoss ATVOSS(Ascend C Templates for Vector Operator Subroutines)是一套基于Ascend C开发的Vector算子库,致力于为昇腾硬件上的Vector类融合算子提供极简、高效、高性能、高拓展的编程方式。 …

作者头像 李华