mindspore.mint.distributed.get_group_rank
- mindspore.mint.distributed.get_group_rank(group, global_rank)[源代码]
由通信集群中的全局设备序号获取指定用户通信组中的rank ID。
说明
get_group_rank 方法应该在 mindspore.mint.distributed.init_process_group 方法之后使用。
- 参数:
group (str) - 通信组名称,通常由 mindspore.mint.distributed.new_group 方法创建,如果为
None
, Ascend平台表示为"hccl_world_group"
。global_rank (int) - 通信集群内的全局rank ID。
- 返回:
当前通信组内的rank_ID,数据类型为int。
- 异常:
TypeError - 在参数 global_rank 不是数字或参数 group 不是字符串时抛出。
RuntimeError - 如果目标设备无效,或者后端无效,或者分布式初始化失败。
- 支持平台:
Ascend
样例:
>>> from mindspore import set_context >>> from mindspore.mint.distributed import init_process_group, new_group, get_group_rank, get_rank >>> set_context(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