Cuda 5.5 avec pycuda fonctionnait très bien, mais il fallait ensuite passer à CUDA 6.0.
Maintenant, quand j'essaye de lancer un exemple de programme PyCuda, je reçois ceci:
ImportError: libcurand.so.6.0: cannot open shared object file: No such file or directory
J'ai trouvé le chemin d'accès à ce fichier, suis-je censé lier cette bibliothèque d'une manière ou d'une autre? et si oui, comment? et où aller
Cela se produit car le chemin de lib n'est pas présent dans la variable LD_LIBRARY_PATH.
Pour ajouter ce chemin à la variable LD_LIBRARY_PATH, ouvrez votre fichier ~/.bashrc
à l'aide de
gedit ~/.bashrc
et ajoutez la ligne suivante. Relacez le <path_to_your_lib>
avec le chemin d'accès au fichier.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<path_to_your_lib>
Solution: Vous devez ajouter le chemin d'accès aux bibliothèques CUDA à votre variable d'environnement $LD_LIBRARY_PATH
.
Lorsqu'un programme CUDA est exécuté, il doit être lié dynamiquement aux bibliothèques d'exécution CUDA. Par défaut, ces bibliothèques sont situées dans le répertoire /usr/local/cuda/lib
. Lors de la recherche de ces bibliothèques, le système d'exploitation recherche dans les répertoires spécifiés dans la variable d'environnement $LD_LIBRARY_PATH
. Si le répertoire de la bibliothèque CUDA n'est pas spécifié ici, le programme échouera avec l'erreur ci-dessus.
Il existe deux solutions (elles supposent que vous utilisez le shell bash, qui est le shell par défaut du département CS):
Exécutez la commande suivante:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib
Cette modification n'est pas persistante et devra être réexécutée chaque fois que vous vous connecterez.
Editez votre fichier .profile
(situé dans ~/.profile
). Recherchez la ligne qui définit la variable $LD_LIBRARY_PATH
, qui devrait ressembler à ce qui suit:
LD_LIBRARY_PATH="/usr/lib:/usr/openwin/lib:/usr/dt/lib:/X11.6/lib:/X11.5/lib:/uva/lib:/gnu/lib"
Modifiez cette ligne pour ajouter le chemin d'accès aux bibliothèques CUDA:
LD_LIBRARY_PATH="/usr/lib:/usr/openwin/lib:/usr/dt/lib:/X11.6/lib:/X11.5/lib:/uva/lib:/gnu/lib:/usr/local/cuda/lib"
Après avoir modifié le fichier, vous devez soit vous déconnecter et vous reconnecter, soit exécuter la commande suivante:
source ~/.profile
Cette solution est persistante et ne doit être effectuée qu'une seule fois.