Функция is_mpi_available
Функция distributed.is_mpi_available проверяет,
доступна ли MPI-поддержка в текущей сборке PyTorch.
Она не принимает никаких параметров и возвращает
логическое значение (bool): True, если MPI
доступен, и False в противном случае.
Эта функция полезна для условной загрузки MPI-кода
или для проверки окружения перед инициализацией
распределенного обучения.
Синтаксис
torch.distributed.is_mpi_available()
Пример
Проверим, доступен ли MPI в текущей среде:
import torch
res = torch.distributed.is_mpi_available()
print(res)
Результат выполнения кода:
True
Пример
Используем функцию для условной инициализации распределенного обучения с использованием MPI:
import torch
if torch.distributed.is_mpi_available():
torch.distributed.init_process_group(backend='mpi')
rank = torch.distributed.get_rank()
print(f"MPI process rank: {rank}")
else:
print("MPI is not available")
Результат выполнения кода:
"MPI process rank: 0"
Пример
Используем функцию в сочетании с другими проверками доступности бэкендов:
import torch
mpi_avail = torch.distributed.is_mpi_available()
gloo_avail = torch.distributed.is_gloo_available()
nccl_avail = torch.distributed.is_nccl_available()
print(f"MPI: {mpi_avail}")
print(f"GLOO: {gloo_avail}")
print(f"NCCL: {nccl_avail}")
Результат выполнения кода:
"MPI: True"
"GLOO: True"
"NCCL: True"
Смотрите также
-
функцию
is_available,
которая проверяет, доступен ли вообще модуль распределенного обучения -
функцию
is_initialized,
которая проверяет, инициализирована ли группа процессов -
функцию
is_nccl_available,
которая проверяет доступность NCCL-бэкенда -
функцию
is_gloo_available,
которая проверяет доступность GLOO-бэкенда