Функция get_backend
Функция distributed.get_backend возвращает имя бэкенда,
который используется для распределенных операций в текущем
процессе. Функция не принимает параметров и возвращает строку,
содержащую имя бэкенда. Доступные бэкенды: gloo,
nccl, mpi. Если распределенная инициализация
не была выполнена, функция вызовет ошибку.
Синтаксис
backend_name = torch.distributed.get_backend()
Пример
Давайте инициализируем процессную группу с бэкендом gloo
и получим имя текущего бэкенда:
import torch
import torch.distributed as dist
dist.init_process_group(backend='gloo', rank=0, world_size=1)
backend_name = dist.get_backend()
print(backend_name)
Результат выполнения кода:
"gloo"
Пример
Давайте инициализируем процессную группу с бэкендом nccl
и проверим его с помощью get_backend:
import torch
import torch.distributed as dist
dist.init_process_group(backend='nccl', rank=0, world_size=1)
backend_name = dist.get_backend()
print(backend_name)
Результат выполнения кода:
"nccl"
Пример
Давайте попробуем получить бэкенд без предварительной инициализации процессной группы:
import torch
import torch.distributed as dist
try:
backend_name = dist.get_backend()
print(backend_name)
except RuntimeError as e:
print(e)
Результат выполнения кода:
"Default process group is not initialized"
Смотрите также
-
функцию
init_process_group,
которая инициализирует распределенную процессную группу -
функцию
is_initialized,
которая проверяет, инициализирована ли процессная группа -
функцию
get_rank,
которая возвращает ранг текущего процесса -
функцию
destroy_process_group,
которая уничтожает текущую процессную группу