Get dist info of a specified group Args: group: The parallel group, default None, for the global group Returns: A tuple of the current rank and world_size of the group
(group=None)
| 122 | |
| 123 | |
| 124 | def get_dist_info(group=None) -> Tuple[int, int]: |
| 125 | """Get dist info of a specified group |
| 126 | |
| 127 | Args: |
| 128 | group: The parallel group, default None, for the global group |
| 129 | |
| 130 | Returns: |
| 131 | A tuple of the current rank and world_size of the group |
| 132 | """ |
| 133 | if is_dist(): |
| 134 | from modelscope.utils.megatron_utils import is_megatron_initialized |
| 135 | if group is None and is_megatron_initialized(): |
| 136 | from megatron_util import mpu |
| 137 | group = mpu.get_data_parallel_group() |
| 138 | rank = dist.get_rank(group) |
| 139 | world_size = dist.get_world_size(group) |
| 140 | else: |
| 141 | rank = 0 |
| 142 | world_size = 1 |
| 143 | return rank, world_size |
| 144 | |
| 145 | |
| 146 | def get_local_rank(): |
searching dependent graphs…