Cuda 6.0/PyCuda. «Ошибка импорта»

Cuda 6.0/PyCuda. «Ошибка импорта»

У меня была 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 по умолчанию):

  1. Выполните следующую команду:

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

    Это изменение не является постоянным и его необходимо будет повторять каждый раз при входе в систему.

  2. Отредактируйте свой .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
    

Это решение является постоянным и его необходимо применить только один раз.

источник

Связанный контент