Функция distributed.is_gloo_available
Функция distributed.is_gloo_available позволяет определить,
поддерживается ли бэкенд Gloo в текущей установке PyTorch.
Эта функция не принимает аргументов и возвращает булево значение.
Gloo - это бэкенд для распределенных вычислений, который обеспечивает
эффективную коммуникацию между процессами на CPU.
Синтаксис
torch.distributed.is_gloo_available()
Возвращаемое значение
Функция возвращает bool: True, если бэкенд Gloo доступен,
иначе False.
Пример
Проверим, доступен ли Gloo в текущей среде:
import torch
res = torch.distributed.is_gloo_available()
print(res)
Результат выполнения кода:
True
В большинстве случаев с корректно установленным PyTorch функция
возвращает True, так как Gloo входит в состав стандартной
библиотеки.
Пример
Используем функцию для условной инициализации распределенной среды. Если Gloo доступен, используем его, иначе пробуем другие бэкенды:
import torch
if torch.distributed.is_gloo_available():
backend = 'gloo'
else:
backend = 'nccl'
print(backend)
Результат выполнения кода:
"gloo"
Такой подход позволяет создавать переносимый код, который будет работать в разных средах.
Пример
Проверим доступность Gloo перед созданием группы процессов. Если бэкенд недоступен, выведем предупреждение:
import torch
if not torch.distributed.is_gloo_available():
print("Gloo backend is not available")
else:
print("Gloo backend is ready")
# torch.distributed.init_process_group(backend='gloo')
Результат выполнения кода:
"Gloo backend is ready"
В реальных приложениях эту проверку используют перед вызовом
init_process_group, чтобы избежать ошибок инициализации.
Смотрите также
-
функцию
is_available,
которая проверяет, доступен ли модуль распределенных вычислений -
функцию
is_nccl_available,
которая проверяет доступность бэкенда NCCL для GPU -
функцию
init_process_group,
которая инициализирует распределенную группу процессов -
функцию
is_mpi_available,
которая проверяет доступность бэкенда MPI