Функция cuda.is_available
Функция cuda.is_available возвращает True, если PyTorch может использовать GPU с поддержкой CUDA, и False в противном случае. Функция не принимает никаких параметров и часто используется для условного выполнения кода, который должен работать как на CPU, так и на GPU.
Синтаксис
torch.cuda.is_available()
Пример
Давайте проверим доступность CUDA на текущей системе:
import torch
res = torch.cuda.is_available()
print(res)
Результат выполнения кода:
True
Если CUDA доступна, функция вернет True, иначе False.
Пример
Давайте используем cuda.is_available для выбора устройства выполнения вычислений:
import torch
device = 'cuda' if torch.cuda.is_available() else 'cpu'
t = torch.tensor([1, 2, 3, 4, 5], device=device)
print(t)
print(t.device)
Результат выполнения кода:
tensor([1, 2, 3, 4, 5], device='cuda:0')
cuda:0
Если CUDA недоступна, тензор будет создан на CPU.
Пример
Давайте условно выполним операции на GPU, если он доступен:
import torch
if torch.cuda.is_available():
t = torch.tensor([1, 2, 3, 4, 5], device='cuda')
t = t * 2
print(t)
else:
print("CUDA is not available")
Результат выполнения кода:
tensor([2, 4, 6, 8, 10], device='cuda:0')
Такой подход позволяет писать код, который работает как на системах с GPU, так и без него.
Смотрите также
-
функцию
device_count,
которая возвращает количество доступных GPU -
функцию
current_device,
которая возвращает индекс текущего устройства -
функцию
set_device,
которая устанавливает текущее устройство -
функцию
is_initialized,
которая проверяет, инициализирована ли CUDA