Метод 1: использование модуля torch.cuda
import torch
if torch.cuda.is_available():
gpu_count = torch.cuda.device_count()
print(f"Number of available GPUs: {gpu_count}")
for i in range(gpu_count):
gpu_name = torch.cuda.get_device_name(i)
print(f"GPU {i}: {gpu_name}")
else:
print("No GPUs available.")
Метод 2. Использование инструмента командной строки nvidia-smi
import os
os.system("nvidia-smi")
Метод 3. Использование библиотеки pynvml
import pynvml
pynvml.nvmlInit()
gpu_count = pynvml.nvmlDeviceGetCount()
print(f"Number of available GPUs: {gpu_count}")
for i in range(gpu_count):
handle = pynvml.nvmlDeviceGetHandleByIndex(i)
gpu_name = pynvml.nvmlDeviceGetName(handle).decode("utf-8")
print(f"GPU {i}: {gpu_name}")
pynvml.nvmlShutdown()
Метод 4. Использование переменной среды CUDA_VISIBLE_DEVICES
import os
cuda_devices = os.environ.get("CUDA_VISIBLE_DEVICES", "").split(",")
gpu_count = len(cuda_devices)
print(f"Number of available GPUs: {gpu_count}")
for i, device_id in enumerate(cuda_devices):
print(f"GPU {i}: CUDA Device ID {device_id}")
Эти методы предоставляют различные способы получения списка доступных графических процессоров с помощью PyTorch. Выберите тот, который лучше всего соответствует вашим потребностям.