Cuda 6.0/PyCuda. 'Erro de importação'

Cuda 6.0/PyCuda. 'Erro de importação'

Eu tinha o Cuda 5.5 com o pycuda funcionando muito bem, mas precisei atualizar para o CUDA 6.0.

Agora, quando tento executar um programa PyCuda de amostra, recebo o seguinte:

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

Encontrei o caminho para esse arquivo. Devo vincular esta biblioteca de alguma forma? e se sim, como? e para onde?

Responder1

Isso está acontecendo porque o caminho da lib não está presente na variável LD_LIBRARY_PATH.

Para adicionar este caminho à variável LD_LIBRARY_PATH, abra seu ~/.bashrcarquivo usando

gedit ~/.bashrc

e adicione a seguinte linha. Substitua o <path_to_your_lib>com o caminho para o arquivo.

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<path_to_your_lib>

Responder2

Solução:Você precisa adicionar o caminho das bibliotecas CUDA à sua $LD_LIBRARY_PATHvariável de ambiente.

Explicação:

Quando um programa CUDA é executado, ele precisa se vincular dinamicamente às bibliotecas de tempo de execução CUDA. Por padrão, essas bibliotecas estão localizadas no /usr/local/cuda/libdiretório. Ao procurar por essas bibliotecas, o sistema operacional procura nos diretórios especificados na $LD_LIBRARY_PATHvariável de ambiente. Se o diretório da biblioteca CUDA não for especificado aqui, o programa falhará com o erro mostrado acima.

Existem duas soluções (supõem que você esteja usando o shell bash, que é o shell padrão do CS Department):

  1. Execute o seguinte comando:

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

    Essa alteração não é persistente e precisará ser executada novamente sempre que você fizer login.

  2. Edite seu .profilearquivo (localizado em ~/.profile). Encontre a linha que define a $LD_LIBRARY_PATHvariável, que deve ser semelhante a esta:

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

    Modifique essa linha para adicionar o caminho às bibliotecas 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"
    

    Depois de editar o arquivo, você precisa sair e fazer login novamente ou executar o seguinte comando:

     source ~/.profile
    

Esta solução é persistente e só precisa ser executada uma vez.

fonte

informação relacionada