Полное руководство по листингу графических процессоров с помощью PyTorch

Метод 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. Выберите тот, который лучше всего соответствует вашим потребностям.