У меня был Cuda 5.5 с работающим отлично pycuda, но затем я должен был обновить до CUDA 6.0.
Теперь, когда я пытаюсь запустить демонстрационную программу PyCuda, я получаю это:
ImportError: libcurand.so.6.0: cannot open shared object file: No such file or directory
Я нашел путь к тому файлу, я, как предполагается, связываю эту библиотеку так или иначе? и если так, Как? и где к?
Это происходит, потому что путь lib не присутствует в переменной LD_LIBRARY_PATH.
Для добавления этого пути к переменной LD_LIBRARY_PATH откройте Ваш ~/.bashrc
файл с помощью
gedit ~/.bashrc
и добавьте следующую строку. Повторно набросьтесь <path_to_your_lib>
с путем к файлу.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<path_to_your_lib>
Решение: необходимо добавить путь к библиотекам CUDA к Вашему $LD_LIBRARY_PATH
переменная среды.
, Когда программа CUDA выполнена, она должна динамично связаться с библиотеками времени выполнения CUDA. По умолчанию эти библиотеки расположены в /usr/local/cuda/lib
каталог. При поиске этих библиотек операционная система смотрит в каталогах, определенных в $LD_LIBRARY_PATH
переменная среды. Если каталог библиотеки CUDA не будет определен здесь, программа перестанет работать с ошибкой, показанной выше.
существует два решения (они предполагают использование оболочки удара которая является оболочкой Отдела CS по умолчанию):
Выполнение следующая команда:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib
Это изменение не является персистентным и должно будет быть повторно выполнено каждый раз, когда Вы входите в систему.
Редактирование Ваш .profile
файл (расположенный в ~/.profile
). Найдите строку, которая устанавливает $LD_LIBRARY_PATH
переменная, которая должна выглядеть подобной следующему:
LD_LIBRARY_PATH="/usr/lib:/usr/openwin/lib:/usr/dt/lib:/X11.6/lib:/X11.5/lib:/uva/lib:/gnu/lib"
Изменяют ту строку для добавления пути к библиотекам 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"
После редактирования файла, или необходимо выйти из системы и войти в или выполнить следующую команду:
source ~/.profile
Это решение является персистентным и только должно быть выполнено однажды.