web-dev-qa-db-fra.com

Ne peut pas utiliser l'optimisation GPU nvidia (libcublas.so)

J'ai un Nvidia 750Ti sur un serveur dédié

J'essaie d'installer cuda afin d'utiliser l'optimisation GPU dans Theano.

J'ai fait plusieurs installations de cuda 7 (sur le serveur Ubuntu x86_64 12.04, le serveur Ubuntu x86_64 14.04, en installant les pilotes Nvidia manuellement ...).

L'installation actuelle est: - Ubuntu 14.04 (mise à jour) - cuda 6.5 (via .run)

Après chaque installation, j'essaie le premier exemple de GPU dans ce tutoriel mais je reçois toujours la même réponse:

THEANO_FLAGS=mode=FAST_RUN,device=gpu,floatX=float32 python check1.py
ERROR (theano.sandbox.cuda): Failed to compile cuda_ndarray.cu: libcublas.so.6.5: cannot open shared object file: No such file or directory
WARNING (theano.sandbox.cuda): CUDA is installed, but device gpu is not available  (error: cuda unavilable)
[Elemwise{exp,no_inplace}(<TensorType(float32, vector)>)]
Looping 1000 times took 1.9148170948 seconds
Result is [ 1.23178029  1.61879337  1.52278066 ...,  2.20771813  2.29967761
  1.62323284]
Used the cpu


$ ls -la /usr/local/cuda-6.5/lib64/libcublas.so
lrwxrwxrwx 1 root root 16 Jun 14 18:23 /usr/local/cuda-6.5/lib64/libcublas.so -> libcublas.so.6.5

J'ai compilé les exemples nvidia cuda. Je peux exécuter l'exemple matrixMul. Mais l’exécution de matrixMulCUBLAS me donne une erreur similaire liée à libcublas.so objet partagé

De plus, lorsque j'exécute les paramètres du serveur NVIDIA X, je reçois:

You do not appear to be using the NVIDIA X driver. Please edit your X configuration file (just run nvidia-xconfig as root), and restart X

J'exécute:

root> nvidia-xconfig 

Et recevez le message suivant en retour:

WARNING: Unable to locate/open X configuration file.
New X configuration file written to '/etc/X11/xorg.conf'

Mais malgré nvidia-xconfig, le problème persistant dans les paramètres du serveur NVIDIA X persiste.

Dans l'un des cas, j'ai résolu ce problème avec les paramètres du serveur NVIDIA X. Mais cela n'a pas résolu le problème avec libcublas.

J'ai défini les variables liées via /etc/environment

CUDA_HOME=/usr/local/cuda-6.5
LD_LIBRARY_PATH=/usr/local/cuda-6.5/lib64
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/anaconda/bin:/usr/local/cuda-6.5/bin"

Je suis un novice en GPU et c'est comme un gros bazar!

4
virilo

Résolu.

  • Le serveur avait deux cartes graphiques. Une carte GPU et une carte à bord. J'ai demandé à la société d'hébergement de désactiver la carte à bord

  • Les paramètres du serveur NVIDIA X m'inquiétaient lorsque je me connectais via VNC. nvidia-smim'a informé que tout allait bien .

  • J'avais besoin de définir LD_LIBRARY_PATH avec ldconfig, pas dans /etc/environment, comme expliqué ici .

    Sudo echo "/usr/local/cuda-7.0/lib64" > /etc/ld.so.conf.d/cuda.conf
    Sudo ldconfig
    

Merci à tous!

1
virilo

J'ai résolu le même problème en mettant les deux lignes suivantes dans le fichier $HOME/.bashrc

export PATH=/usr/local/cuda/bin:/usr/local/cuda/lib64:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

Cela définira certaines variables d’environnement afin d’exécuter et d’écrire des programmes compatibles CUDA.

4
Brother Data