mindspore.ops.communication.get_group_rank
- mindspore.ops.communication.get_group_rank(group, global_rank)[源代码]
获取与world通信组中的rank ID对应的指定用户通信组中的rank ID。
说明
此方法应在
mindspore.ops.communication.init_process_group()之后使用。- 参数:
group (str) - 要工作的通信组。通常,组应由
mindspore.ops.communication.new_group()创建。如果为None,在Ascend中表示"hccl_world_group"。global_rank (int) - world通信组中的rank ID。
- 返回:
int,用户通信组中的rank ID。
- 异常:
TypeError - 如果 global_rank 不是整数或 group 不是字符串。
RuntimeError - 如果设备目标无效,或后端无效,或分布式初始化失败。
- 支持平台:
Ascend
样例:
>>> import mindspore as ms >>> from mindspore.ops.communication import init_process_group, new_group, get_group_rank, get_rank >>> ms.set_device(device_target="Ascend") >>> # Launch 8 processes. >>> init_process_group() >>> rank_ids = [0,4] >>> if get_rank() in rank_ids: ... group = new_group(rank_ids) ... group_rank_id = get_group_rank(group, 4) ... print("group_rank_id is: ", group_rank_id) #rank 0 and 4: group_rank_id is: 1