Tenía Cuda 5.5 con pycuda funcionando muy bien, pero luego necesitaba actualizar a CUDA 6.0.
Ahora, cuando intento ejecutar un programa PyCuda de muestra, aparece esto:
ImportError: libcurand.so.6.0: cannot open shared object file: No such file or directory
Encontré la ruta a ese archivo, ¿se supone que debo vincular esta biblioteca de alguna manera? y si es así, ¿cómo? y a donde?
Respuesta1
Esto sucede porque la ruta de lib no está presente en la variable LD_LIBRARY_PATH.
Para agregar esta ruta a la variable LD_LIBRARY_PATH, abra su ~/.bashrc
archivo usando
gedit ~/.bashrc
y agregue la siguiente línea. Relacione el <path_to_your_lib>
con la ruta al archivo.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<path_to_your_lib>
Respuesta2
Solución:Debe agregar la ruta a las bibliotecas CUDA a su $LD_LIBRARY_PATH
variable de entorno.
Explicación:
Cuando se ejecuta un programa CUDA, debe vincularse dinámicamente a las bibliotecas de tiempo de ejecución de CUDA. De forma predeterminada, estas bibliotecas se encuentran en el /usr/local/cuda/lib
directorio. Al buscar estas bibliotecas, el sistema operativo busca en los directorios especificados en la $LD_LIBRARY_PATH
variable de entorno. Si el directorio de la biblioteca CUDA no se especifica aquí, el programa fallará con el error que se muestra arriba.
Hay dos soluciones (se supone que está utilizando el shell bash, que es el shell predeterminado del Departamento de CS):
Ejecute el siguiente comando:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib
Este cambio no es persistente y deberá volver a ejecutarse cada vez que inicie sesión.
Edite su
.profile
archivo (ubicado en~/.profile
). Busque la línea que establece la$LD_LIBRARY_PATH
variable, que debería ser similar a la siguiente:LD_LIBRARY_PATH="/usr/lib:/usr/openwin/lib:/usr/dt/lib:/X11.6/lib:/X11.5/lib:/uva/lib:/gnu/lib"
Modifique esa línea para agregar la ruta a las 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"
Después de editar el archivo, debe cerrar sesión y volver a iniciarla o ejecutar el siguiente comando:
source ~/.profile
Esta solución es persistente y solo debe realizarse una vez.