Instalación del kit de herramientas CUDA 7.5 en Ubuntu 15.10

10

Quiero compartir mi experiencia en la instalación de CUDA 7.5 (para usar con Theano) en Ubuntu 15.10.

  1. Instalé Ubuntu 15.10 y el controlador de video (352.41) desde la pestaña "Controladores adicionales";

  2. Se instalaron pocas dependencias como nvidia-modprobe(solucionar problemas de permisos) y para la compilación de muestrasfreeglut3-dev libx11-dev libxmu-dev libxi-dev libglu1-mesa-dev

  3. Y porque necesita GCC 4.9:, sudo apt-get install gcc-4.9 g++-4.9luego hizo enlaces simbólicos en /opt/compiler_cuda(creó la carpeta con un nombre arbitrario de mi elección) de la siguiente manera:

    $ ls -la /opt/compiler_cuda/
    lrwxrwxrwx 1 root root   22 Nov  2 16:14 cc -> /opt/compiler_cuda/gcc
    lrwxrwxrwx 1 root root   16 Nov  2 16:13 g++ -> /usr/bin/g++-4.9
    lrwxrwxrwx 1 root root   16 Nov  2 16:12 gcc -> /usr/bin/gcc-4.9
    

    Registrado update-alternativescon:

    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 60 --slave /usr/bin/g++ g++ /usr/bin/g++-5
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 50 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9
    
  4. Versión 15.04 "runfile (local)" descargada , de Descargas de CUDA 7.5 ; e instalado con:

    sudo sh cuda_7.5.18_linux.run --silent --toolkit --override
    sudo sh cuda_7.5.18_linux.run --silent --samples --override
    

    y anexado en .bash_aliases(.bashrc lo lee):

    export PATH=/usr/local/cuda-7.5/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH
    
  5. Anexado compiler-bindir = /opt/compiler_cudaen nvcc.profile, por lo NVCC puede utilizarlo.

¿Y posiblemente alguien pueda decirme si voy a freír mi tarjeta por usar una versión incorrecta del kit de herramientas?

Guilherme Higashi
fuente
Donde esta la pregunta
Goddard
Última línea. Quiero saber si es "peligroso" usar cuda toolkit para la versión 15.04. He usado su paquete deb antes, pero se mete con el controlador, y no pude arrancar a veces ... es por eso que pasé por este proceso poco ortodoxo ...
Guilherme Higashi
sudo mkdir /opt/compiler_cuda sudo ln -s /usr/bin/gcc-4.9 gcc sudo ln -s /usr/bin/g++-4.9 g++ sudo ln -s /opt/compiler_cuda/gcc cc
Brian Low

Respuestas:

2

No es peligroso usar el kit de herramientas CUDA de 15.04. Las interfaces del kit de herramientas del controlador nvidia, que es todo el stack de Nvidia y la base de código. Es por eso que las personas usan CUDA porque los acerca al hardware para aumentar el rendimiento.

Goddard
fuente
Por lo que entiendo, todos los controladores de Nvidia son compatibles con todas las versiones de las bibliotecas de tiempo de ejecución CUDA. Esto es para que los controladores más nuevos no rompan el código CUDA anterior.
FizxMike
1
Puede ser, pero todos sabemos lo bien que Nvidia y otras compañías admiten Linux. La última vez que verifiqué que ofrecían cuda 7.5 con 352. Quería pasar tiempo usando cuda y no tratar de obtener la configuración perfecta con los controladores más nuevos. Por lo general, sigo con lo que otros informaron que funcionaba y en ese momento era 352, que se incluye con 7.5 del sitio nvidia. Por supuesto, las cosas siempre se mueven y hacen lo que funciona para usted.
Goddard
1
Me encontré con problemas relacionados con las versiones de gcc. Por ejemplo, CUDA 7.5: cuda_runtime.h se queja de que no es compatible con la versión gcc> 4.9. Ubuntu 15.10 viene con el stock gcc 5.0, por lo que debe jugar juegos con enlaces simbólicos en / usr / bin para obtener la muestra de cuda para compilar (a lo que estoy acostumbrado); sin embargo, en su propio script de compilación puede designar fácilmente gcc-4.9. Según tu punto de vista, estoy de acuerdo en que es bueno que las cosas funcionen ... pero la belleza de Linux es que puedes cavar y arreglarlo tú mismo.
FizxMike
1
Sí, poder profundizar en las cosas y arreglarlas es lo mejor que amo de Linux, pero algunas veces quieres trabajar en lo que originalmente pretendías en lugar de desviarte. Es por eso que 14.04 y cuda 7.5 con 352 es la ruta más fácil de tomar.
Goddard
Derecha. Me desvié ... ¡hay una tarde que nunca volveré!
FizxMike
0

Esta es una idea sombría en general. Podrá crear sus propios archivos .cu cuda, compilarlos y ejecutarlos. Pero si intenta vincular contra libcudart para hacer llamadas básicas de API de CUDA, fallará. (En otras palabras, los archivos cpp que incluyen bibliotecas cuda no funcionarán). Tienes dos conjuntos de controladores diferentes en juego, diferentes versiones. Uno es libcudart y otro cuda libs de apt-get. Otra versión es del archivo de ejecución.

En general, debería ser apt-get para todos los archivos CUDA, o construir todos los archivos cuda a mano. No mezclar los dos.

Pero las instrucciones sobre cómo ejecutar el archivo .run fueron muy útiles. Gracias.

Brad Peterson
fuente
Tenga en cuenta que no instaló el controlador desde el instalador de CUDA 7.5. Siempre que el controlador de apt-get sea MÁS NUEVO que el controlador del kit de herramientas, funcionará.
FizxMike