Cuda 6.0/PyCuda. 'Error de importación'

Cuda 6.0/PyCuda. 'Error de importación'

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 ~/.bashrcarchivo 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_PATHvariable 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/libdirectorio. Al buscar estas bibliotecas, el sistema operativo busca en los directorios especificados en la $LD_LIBRARY_PATHvariable 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):

  1. 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.

  2. Edite su .profilearchivo (ubicado en ~/.profile). Busque la línea que establece la $LD_LIBRARY_PATHvariable, 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.

fuente

información relacionada