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