Cuda 6.0/PyCuda. 'ImportFehler'

Cuda 6.0/PyCuda. 'ImportFehler'

Bei mir funktionierte Cuda 5.5 mit Pycuda prima, dann musste ich aber auf CUDA 6.0 upgraden.

Wenn ich jetzt versuche, ein PyCuda-Beispielprogramm auszuführen, erhalte ich Folgendes:

ImportError: libcurand.so.6.0: cannot open shared object file: No such file or directory

Ich habe den Pfad zu dieser Datei gefunden. Muss ich diese Bibliothek irgendwie verknüpfen? Und wenn ja, wie? Und wohin?

Antwort1

Dies liegt daran, dass der Pfad der Bibliothek in der Variablen LD_LIBRARY_PATH nicht vorhanden ist.

Um diesen Pfad zur Variable LD_LIBRARY_PATH hinzuzufügen, öffnen Sie Ihre ~/.bashrcDatei mit

gedit ~/.bashrc

und fügen Sie die folgende Zeile hinzu. Ersetzen Sie <path_to_your_lib>durch den Pfad zur Datei.

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<path_to_your_lib>

Antwort2

Lösung:Sie müssen den Pfad zu den CUDA-Bibliotheken zu Ihrer $LD_LIBRARY_PATHUmgebungsvariable hinzufügen.

Erläuterung:

Wenn ein CUDA-Programm ausgeführt wird, muss es dynamisch auf die CUDA-Laufzeitbibliotheken verweisen. Standardmäßig befinden sich diese Bibliotheken im /usr/local/cuda/libVerzeichnis. Bei der Suche nach diesen Bibliotheken sucht das Betriebssystem in den in der $LD_LIBRARY_PATHUmgebungsvariable angegebenen Verzeichnissen. Wenn das CUDA-Bibliotheksverzeichnis hier nicht angegeben ist, schlägt das Programm mit dem oben gezeigten Fehler fehl.

Es gibt zwei Lösungen (diese setzen voraus, dass Sie die Bash-Shell verwenden, die Standard-Shell der Informatikabteilung):

  1. Führen Sie den folgenden Befehl aus:

     export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib
    

    Diese Änderung ist nicht dauerhaft und muss bei jeder Anmeldung erneut ausgeführt werden.

  2. Bearbeiten Sie Ihre .profileDatei (angeordnet unter ~/.profile). Suchen Sie die Zeile, die die $LD_LIBRARY_PATHVariable festlegt. Sie sollte ungefähr wie folgt aussehen:

     LD_LIBRARY_PATH="/usr/lib:/usr/openwin/lib:/usr/dt/lib:/X11.6/lib:/X11.5/lib:/uva/lib:/gnu/lib"
    

    Ändern Sie diese Zeile, um den Pfad zu den CUDA-Bibliotheken hinzuzufügen:

     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"
    

    Nachdem Sie die Datei bearbeitet haben, müssen Sie sich entweder ab- und wieder anmelden oder den folgenden Befehl ausführen:

     source ~/.profile
    

Diese Lösung ist dauerhaft und muss nur einmal durchgeführt werden.

Quelle

verwandte Informationen