Cuda 6.0 / PyCuda. 'ImportError'

4

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

Agora, quando tento executar um programa PyCuda de exemplo, recebo isto:

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

Encontrei o caminho para esse arquivo, devo vincular essa biblioteca de alguma forma? e se sim, como? e para onde?

    
por Abdou Abderrahmane 19.09.2014 / 19:58

2 respostas

3

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

Para adicionar esse caminho à variável LD_LIBRARY_PATH, abra o arquivo ~/.bashrc usando

gedit ~/.bashrc

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

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<path_to_your_lib>
    
por g_p 19.09.2014 / 20:13
3

Solução: você precisa adicionar o caminho para as bibliotecas CUDA à sua variável de ambiente $LD_LIBRARY_PATH .

Explicação:

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

Existem duas soluções (estas assumem que você está 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 toda vez que você fizer login.

  2. Edite seu arquivo .profile (localizado em ~/.profile ). Encontre a linha que define a variável $LD_LIBRARY_PATH , que deve ser semelhante à seguinte:

    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

    
por αғsнιη 19.09.2014 / 20:16