2016-08-17 1 views
6

в Ubuntu MATE 16.04 Я пытаюсь запустить примеры углубленного изучения python здесь, используя графический процессор:ПРЕДУПРЕЖДЕНИЕ (theano.sandbox.cuda): CUDA установлен, но устройство gpu недоступно (ошибка: cuda недоступна)

testing Theano with GPU

Я запустить пример кода,

THEANO_FLAGS=mode=FAST_RUN,device=gpu,floatX=float32 python check1.py 

но мне кажется, что он используется процессор, а не графический процессор. Вот последняя часть вывода терминала:

WARNING (theano.sandbox.cuda): CUDA is installed, but device gpu0 is not available (error: cuda unavailable) 
... 
Used the cpu 

Я попытался запустить этот код тоже:

THEANO_FLAGS=device=cuda0 python check1.py 

но вывод:

ERROR (theano.sandbox.gpuarray): pygpu was configured but could not be imported 
Traceback (most recent call last): 
    File "/usr/local/lib/python2.7/dist-packages/theano/sandbox/gpuarray/__init__.py", line 20, in <module> 
    import pygpu 
ImportError: No module named pygpu 
... 
used cpu 

Я установил Cuda инструментарий из склонных , Здесь есть (надеюсь) полезные данные:

python --version 
Python 2.7.12 

g++ -v 
gcc version 5.4.0 

nvcc --version 
Cuda compilation tools, release 7.5, V7.5.17 

lspci 
NVIDIA Corporation GM107 [GeForce GTX 750 Ti] (rev a2) 

nvidia-smi 

+------------------------------------------------------+      
| NVIDIA-SMI 361.42  Driver Version: 361.42   |      
|-------------------------------+----------------------+----------------------+ 
| 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 750 Ti Off | 0000:01:00.0  On |     N/A | 
| 29% 35C P8  1W/38W | 100MiB/2044MiB |  0%  Default | 
+-------------------------------+----------------------+----------------------+ 

+-----------------------------------------------------------------------------+ 
| Processes:              GPU Memory | 
| GPU  PID Type Process name        Usage  | 
|=============================================================================| 
| 0  2861 G /usr/lib/xorg/Xorg        90MiB | 
+-----------------------------------------------------------------------------+ 

ответ

6

Наконец я решил! Это сообщение Ubuntu 16.04, Theano and Cuda

предлагает добавить пометка

nvcc.flags=-D_FORCE_INLINES 

в командную строку, так что командная строка будет выглядеть так:

THEANO_FLAGS=floatX=float32,device=gpu,nvcc.flags=-D_FORCE_INLINES python check1.py 

кажется, исправить ошибку при помощи GLibC 2,23

fix for glibc 2.23

Теперь программа корректно использует GPU, это правильный выход:

THEANO_FLAGS=floatX=float32,device=gpu,nvcc.flags=-D_FORCE_INLINES python check1.py 
Using gpu device 0: GeForce GTX 750 Ti (CNMeM is disabled, cuDNN not available) 
[GpuElemwise{exp,no_inplace}(<CudaNdarrayType(float32, vector)>), HostFromGpu(GpuElemwise{exp,no_inplace}.0)] 
Looping 1000 times took 0.317012 seconds 
Result is [ 1.23178029 1.61879349 1.52278066 ..., 2.20771813 2.29967761 
    1.62323296] 
Used the gpu 

Обратите внимание, что перед началом этого решения, я удалил NVidia-Cuda-инструментарий и установил CUDA с сайта Nvidia, после части инструкций, найденных здесь :

CUDA with Ubuntu 16.04

Это то, что именно я сделал:

1) Я скачал отсюда CUDA CUDA 7.5 download выбора LINUX, x86_64, Ubuntu 15,04, Деб местные

2) Я установил Деб файл

dpkg -i cuda_repo-ubuntu1504-7-5-local_7.5-18_amd64.deb 

3) Затем запустите

apt-get update 

Это дает некоторые ошибки! Я установил его перезапись файла Release в \ вар \ CUDA-репо 7,5-местный со следующими строками:

Origin: NVIDIA 
Label: NVIDIA CUDA 
Architecture: repogenstagetemp 
MD5Sum: 
51483bc34577facd49f0fbc8c396aea0   75379 Packages 
4ef963dfa4276be01db8e7bf7d8a4f12   21448 Packages.gz 
SHA256: 
532b1bb3b392b9083de4445dab2639b36865d7df1f610aeef8961a3c6f304d8a   75379 Packages 
2e48cc13b6cc5856c9c6f628c6fe8088ef62ed664e9e0046fc72819269f7432c   21448 Packages.gz 

(извините, я не помню, где я прочитал это решение).

4) Я успешно запустить

apt-get-update 
apt-get install cuda 

5) Все было insatlled в \ USR \ Local \ CUDA-7,5

6) Я прокомментировал линию п 115 в файле \ USR \ Local \ CUDA -7,5 \ включать \ хост-config.h

#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 9) 

//#error -- unsupported GNU version! gcc versions later than 4.9 are not supported! 

#endif /* __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 9) */ 

который, кажется, чтобы предотвратить CUDA с помощью GCC 5.4 После всех этих операций, я обновил файл .theanorc, добавив корень Cuda

[cuda] 
root = /usr/local/cuda-7.5 

Это все :)

PS: Я не знаю, если он будет работать даже с NVidia-Cuda-инструментарии!

0

В моей системе этот вопрос был устранен только путем перезагрузки системы. Может быть, вы можете попробовать.

0

Я зафиксировал эту проблему, добавляя путь Cuda к ~/.bashrc, следующим образом,

export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH 
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH 
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH 
Смежные вопросы