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):
-
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.
-
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