Pytorch не находит устройство CUDA - PullRequest
2 голосов
/ 16 июня 2020

Я попытался использовать Cuda в Pytorch в своей настройке, но он не может быть обнаружен, и я озадачен, почему.

torch.cuda.is_available()

return False. Копая глубже,

torch._C._cuda_getDeviceCount()

возвращает 0. Используя версию 1.5, например,

$ pip freeze | grep torch
torch==1.5.0

Я попытался написать небольшую C программу, чтобы сделать то же самое, например

#include <stdio.h>
#include <cuda_runtime_api.h>

int main() {
   int count = 0;
   cudaGetDeviceCount(&count);
   printf("Device count: %d\n", count);
   return 0;
}

печатает 1, поэтому среда выполнения Cuda, очевидно, может найти устройство. Кроме того, запускается nvidia-smi:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 435.21       Driver Version: 435.21       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 106...  Off  | 00000000:02:00.0  On |                  N/A |
|  0%   41C    P8     9W / 200W |    219MiB /  6075MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

Итак, где пропало мое устройство Cuda в Python?

1 Ответ

1 голос
/ 16 июня 2020

Теперь я только что понял, что существует другая версия Pytorch для каждой другой младшей версии CUDA, поэтому в моем случае версия torch==1.5.0 по умолчанию, по-видимому, CUDA 10.2, а специальный пакет torch==1.5.0+cu101 работает.

Надеюсь, это прояснит ситуацию для других людей, которые, как я, начнут читать документацию по PyPi (более свежие документы, если вы знаете, где искать, находятся здесь: https://pytorch.org/get-started/locally/)

...