РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
750 of 769 menu

Функция get_group_rank

Функция get_group_rank возвращает ранг текущего процесса внутри указанной группы, которая была создана с помощью функции new_group. Ранг - это уникальный идентификатор процесса в пределах группы, начиная с 0. Если группа не указана, функция возвращает ранг в глобальной группе, которая инициализируется при вызове init_process_group. Это полезно, когда требуется определить положение текущего процесса в подгруппе для выполнения специфических операций или логирования.

Синтаксис

dist.get_group_rank(group=None)

Параметр group (опциональный) - это объект группы процессов типа ProcessGroup. Если параметр опущен, возвращается ранг в глобальной группе.

Пример

Давайте создадим распределенную среду с двумя группами: глобальной и подгруппой, состоящей из первых двух процессов. Затем получим ранг в каждой из них:

import torch import torch.distributed as dist dist.init_process_group(backend='gloo', rank=0, world_size=4) subgroup = dist.new_group(ranks=[0, 1]) if dist.get_rank() == 0: global_rank = dist.get_group_rank() subgroup_rank = dist.get_group_rank(group=subgroup) print(global_rank) print(subgroup_rank)

Результат выполнения кода (для процесса с рангом 0):

0 0

Пример

Рассмотрим ситуацию, когда нам нужно определить ранг процесса в подгруппе для выполнения условных операций:

import torch import torch.distributed as dist dist.init_process_group(backend='gloo', rank=1, world_size=4) subgroup = dist.new_group(ranks=[0, 2, 3]) if dist.get_group_rank(group=subgroup) == 0: # Этот код выполнится только для процесса с рангом 0 в подгруппе print("Процесс является лидером подгруппы") else: print("Процесс не является лидером подгруппы")

Результат выполнения кода (для процесса с глобальным рангом 1):

"Процесс не является лидером подгруппы"

Смотрите также

  • функцию new_group,
    которая создает новую группу процессов
  • функцию get_rank,
    которая возвращает ранг текущего процесса
  • функцию get_world_size,
    которая возвращает общее количество процессов
  • функцию get_global_rank,
    которая преобразует ранг в группе в глобальный ранг
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить