Я добавил GeForce GTX 1080 Ti в свою машину (с Ubuntu 18.04 и Anaconda с Python 3.7), чтобы использовать графический процессор при использовании PyTorch. Обе карты правильно определены:
$ lspci | grep VGA
03:00.0 VGA compatible controller: NVIDIA Corporation GF119 [NVS 310] (reva1)
04:00.0 VGA compatible controller: NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1)
NVS 310 управляет настройкой двух мониторов, я хочу использовать только 1080 для PyTorch. Я также установил последние драйверы NVIDIA, которые в настоящее время находятся в репозитории, и это, кажется, хорошо:
$ nvidia-smi
Sat Jan 19 12:42:18 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.87 Driver Version: 390.87 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 NVS 310 Off | 00000000:03:00.0 N/A | N/A |
| 30% 60C P0 N/A / N/A | 461MiB / 963MiB | N/A Default |
+-------------------------------+----------------------+----------------------+
| 1 GeForce GTX 108... Off | 00000000:04:00.0 Off | N/A |
| 0% 41C P8 10W / 250W | 2MiB / 11178MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 Not Supported |
+-----------------------------------------------------------------------------+
Версия драйвера 390.xx позволяет запускать CUDA 9.1 (9.1.85) в соответствии с документами NVIDIA . Так как это также версия в репозиториях Ubuntu, я просто установил CUDA Toolkit с:
$ sudo apt-get-installed nvidia-cuda-toolkit
И снова, похоже, все в порядке:
$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Nov__3_21:07:56_CDT_2017
Cuda compilation tools, release 9.1, V9.1.85
и
$ apt-cache policy nvidia-cuda-toolkit
nvidia-cuda-toolkit:
Installed: 9.1.85-3ubuntu1
Candidate: 9.1.85-3ubuntu1
Version table:
*** 9.1.85-3ubuntu1 500
500 http://sg.archive.ubuntu.com/ubuntu bionic/multiverse amd64 Packages
100 /var/lib/dpkg/status
Наконец, я установил PyTorch с нуля с conda
conda install pytorch torchvision -c pytorch
Также ошибка, насколько я могу сказать:
$ conda list
...
pytorch 1.0.0 py3.7_cuda9.0.176_cudnn7.4.1_1 pytorch
...
Однако PyTorch, похоже, не находит CUDA:
$ python -c 'import torch; print(torch.cuda.is_available())'
False
Более подробно, если я заставлю PyTorch преобразовать тензор x
в CUDA с помощью x.cuda()
, я получу ошибку:
Found no NVIDIA driver on your system. Please check that you have an NVIDIA GPU and installed a driver from 82 http://...
Что мне здесь не хватает? Я новичок в этом, но я думаю, что я уже достаточно много раз проверил в Интернете, чтобы найти какие-либо предостережения, такие как драйверы NVIDIA и версии инструментария CUDA?
РЕДАКТИРОВАТЬ: Еще несколько выходов из PyTorch:
print(torch.cuda.device_count()) # --> 0
print(torch.cuda.is_available()) # --> False
print(torch.version.cuda) # --> 9.0.176