2016-12-10 6 views
2

WARNING (theano.sandbox.cuda): CUDA is installed, but device gpu is not available (error: cuda unavailable)Theano가 GPU를 찾을 수 없음 - 우분투 16.04

샘플 Theano 프로그램을 실행하려고하면이 오류가 발생합니다.

나는이 thread에 제공된 모든 제안 된 수정을 시도했다.

nvcc --version 출력 :

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2015 NVIDIA Corporation
Built on Tue_Aug_11_14:27:32_CDT_2015
Cuda compilation tools, release 7.5, V7.5.17

nvidia-smi 출력 :

Sat Dec 10 00:46:14 2016  
+-----------------------------------------------------------------------------+ 
| NVIDIA-SMI 367.57     Driver Version: 367.57     | 
|-------------------------------+----------------------+----------------------+ 
| 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 1070 Off | 0000:01:00.0  Off |     N/A | 
| 0% 37C P0 33W/151W |  0MiB/8112MiB |  0%  Default | 
+-------------------------------+----------------------+----------------------+ 

+-----------------------------------------------------------------------------+ 
| Processes:              GPU Memory | 
| GPU  PID Type Process name        Usage  | 
|=============================================================================| 
| No running processes found             | 
+-----------------------------------------------------------------------------+ 

GCC 버전 :이 잠시 동안 지금 일을 얻기 위해 노력 해왔다

(venv) [email protected]:~$ gcc --version 
gcc (Ubuntu 4.9.3-13ubuntu2) 4.9.3 

, 싶습니다 누군가 올바른 방향으로 나를 가리 키도록.

답변

1

그래서 마침내 Theano를 GPU로 찾을 수 있었고, here에 제공된 단계를 거쳐 CUDA의 초기 설치에서 발생할 수있는 손상된 설치를 정리했습니다.

이 후 나는 내 nvidia 그래픽 카드에 맞는 드라이버 패키지를 설치 한 sudo apt-get install cuda을 실행했습니다. 그런 다음 deb에서 CUDA 8.0을 설치하기 시작했는데 문제 해결에 도움이되는 7.5 버전을 덮어 쓸 수있었습니다.

는 지금 theano_test.py에서 얻을 수 있어요 출력입니다 :

(venv) [email protected]:~$ python theano_test.py 
Using gpu device 0: GeForce GTX 1070 (CNMeM is disabled, cuDNN 5103) 
[GpuElemwise{exp,no_inplace}(<CudaNdarrayType(float32, vector)>), HostFromGpu(GpuElemwise{exp,no_inplace}.0)] 
Looping 1000 times took 0.185949 seconds 
Result is [ 1.23178029 1.61879349 1.52278066 ..., 2.20771813 2.29967761 
    1.62323296] 
Used the gpu 

을 여기에 내 ~/.theanorc 파일 : 각 후

(venv) [email protected]:~$ cat ~/.theanorc 
[global] 
floatX = float32 
device = gpu 

[nvcc] 
flags=-D_FORCE_INLINE 

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

내가 업데이트 설치를 별도의 서버를 재부팅 좋은 luch를 위해, 나는 도움이되는 것을 발견했다.

+0

나는'~/.theanorc' 파일에 cuda의 위치를 ​​포함하는 것이 트릭을 한 것이라고 생각합니다. 그것을 매우 기꺼이 받아 들였습니다. – rgalbo