English version of this post.
Éste tutorial explica cómo instalar CUDA 7.5 Production Release en un sistema Debian Jessie. Lo primero que se debe hacer es descargar el driver de la página de Nvidia y seleccionar el modelo de la tarjeta de video que tenemos. En mi caso, tengo un servidor con 2 tarjetas de video la primera es una GeForce GTX660 y la segunda es una GeForce GTX650. Si no estás seguro de cuál versión del driver deberías instalar, puedes verificar ésta información sobre las versiones y modelos en el siguiente enlace.
http://www.nvidia.com.mx/Download/index.aspx?lang=en-us
La última versión del driver disponible en el caso de mis tarjetas de video es 352.79 y está disponible en http://us.download.nvidia.com/XFree86/Linux-x86_64/352.79/NVIDIA-Linux-x86_64-352.79.run, por favor asegúrate de descargar la última versión de tu driver disponible.
También, necesitamos descargar el CUDA Toolkit 7.5 de la página de Nvidia localizado en http://developer.download.nvidia.com/compute/cuda/7.5/Prod/local_installers/cuda_7.5.18_linux.run. El archivo de instalación del toolkit que necesitamos es la versión RUN para Ubuntu, el nombre del archivo es: cuda_7.5.18_linux.run.
Ahora necesitamos verificar los requerimientos para instalar CUDA. Primero que nada necesitamos un dispositivo que soporte GPUs.
cuda7_5_install.sh
# verify we have a cuda capable gpu lspci | grep -i nvidia
Necesitamos verificar nuestra versión de Linux
cuda7_5_install.sh
# Linux version uname -m && cat /etc/*release
Ahora necesitamos verificar que tenemos un compilador GCC
cuda7_5_install.sh
# verify gcc version gcc --version
Si no tienes un compilado GCC válido podemos instalarlo con el siguiente comando
cuda7_5_install.sh
# gcc install sudo apt-get install build-essential
Antes de proceder con el proceso de instalación necesitamos desinstalar cualquier versión de CUDA que hayamos instalado previamente, si ésta es la primera vez que instalas CUDA solo haz caso omiso de este paso, para desinstalar versiones anteriores de CUDA ejecutamos este comando
cuda7_5_install.sh
# cuda uninstall sudo /usr/local/cuda-X.Y/bin/uninstall_cuda_X.Y.pl
Donde X y Y es la versión de CUDA. Si estamos actualizando el driver de Nvidia no necesitamos hacer nada ya que el instalador remueve los drivers anteriores automáticamente. Si queremos desinstalar el driver de CUDA lo podemos hacer con el siguiente comando.
cuda7_5_install.sh
# cuda driver uninstall sudo /usr/bin/nvidia-uninstall
Una vez completados los pasos anteriores y contando con los archivos necesarios para la instalación vamos a proceder a deshabilitar el driver nouveau el cual es el driver default que viene con las versiones de Debian, para ésto crearemos un nuevo archivo
cuda7_5_install.sh
# edit debian driver configuration file vim /etc/modprobe.d/disable-nouveau.conf
Y agregamos el siguiente contenido
cuda7_5_install.sh
# blacklist defualt driver blacklist nouveau options nouveau modeset=0
Nota: para verificar si tenemos el driver nouveau corriendo, corremos el siguiente comando y en caso de arrojar algún resultado eso significa que se tiene el driver nouveau corriendo
cuda7_5_install.sh
# verify driver lsmod | grep nouveau
Después de haber creado el archivo para bloquear el driver default, procedemos a reiniciar el sistema en modo default. Una vez reiniciado vamos a notar que la resolución ha bajado de calidad, ésto significa que el driver default nouveau no fue cargado, ahora vamos a proceder a instalar los headers de linux desde nuestro repositorio para poder compilar el driver de Nvidia, hacemos ésto mediante el siguiente comando.
cuda7_5_install.sh
# dependencies sudo apt-get install linux-headers-$(uname -r)
Después de instalar estos paquetes vamos a proceder a remover el driver nouveau completamente de nuestro sistema con el siguiente comando
cuda7_5_install.sh
# remove apt-get remove --purge xserver-xorg-video-nouveau
Una vez removido el driver procedemos a reiniciar el sistema en modo recovery. Una vez reiniciado y estando en la consola vamos a proceder con el proceso de instalación del driver, primero necesitamos saber con qué versión del compilador fué compilado el kernel, ésto debido a que el sistema necesita compilar el driver de Nvidia. Si no sabemos la versión del compilador ni del kernel podemos saber esa información mediante el siguiente comando
cuda7_5_install.sh
# find curr gcc version cat /proc/version
Una vez que sabemos la versión correcta del compilador, necesitamos setearlo por medio de un export de la siguiente forma
cuda7_5_install.sh
# set gcc version export CC=gcc-4.8
Ahora podemos proceder con la instalación del driver, navegamos al directorio de descarga del driver y lo ejecutamos
cuda7_5_install.sh
# execute driver install sudo sh NVIDIA-Linux-x86_64-346.47.run
Una vez que la instalación sea finalizada, procedemos a reiniciar nuestro sistema. Notaremos que nuestra resolución subió de calidad lo que significa que nuestros drivers Nvidia se instalaron, ahora se procede con la instalación del toolkit de la siguiente forma.
cuda7_5_install.sh
# execute toolkit install sudo sh cuda_7.5.18_linux.run
Cuando se nos pregunte necesitamos seleccionar el no instalar el driver de Nvidia ya que ya lo instalamos previamente, y seleccionamos el directorio default de instalacion para los ejémplos. Lo último que tenemos que hacer es compilar dichos ejemplos y correrlos, hacemos ésto navegando al directorio de instalación de los ejemplos y ejecutamos el comando make
¡Y eso es todo!
Aquí dejo algunos links de referencia
El manual de empezando con CUDA con instrucciones de instalación
http://developer.download.nvidia.com/compute/cuda/7_0/Prod/doc/CUDA_Getting_Started_Linux.pdf
Página de descargas de CUDA
https://developer.nvidia.com/cuda-downloads
Página de descargas de drivers de Nvidia
http://www.nvidia.com.mx/Download/index.aspx?lang=en-us
Un post de características de CUDA 7.5
https://devblogs.nvidia.com/parallelforall/new-features-cuda-7-5/
El toolkit de CUDA 7.5
http://developer.download.nvidia.com/compute/cuda/7.5/Prod/docs/sidebar/CUDA_Toolkit_Release_Notes.pdf
¡Saludos! 🙂
-Yohan
test