Instalando CUDA 6 RC en Debian Wheezy

English version of this post.
En este tutorial se explica cómo instalar CUDA 6.0 RC en un sistema Debian Wheezy, lo primero que tenemos que hacer es descargar el controlador de gráficos de NVIDIA para el modelo de la tarjeta que tenemos, en mi caso tengo un servidor con 2 tarjetas de nvidia la primera es una GTX660 Geoforce y la segunda es una GTX650 Geoforce, si no estás seguro de la versión del controlador que es necesario instalar aquí está el enlace para ver todos los modelos y la última versión.

http://www.nvidia.com.mx/Download/index.aspx?lang=en-us

También necesitamos descargar el Cuda Toolkit 5 RC del siguiente enlace.

https://developer.nvidia.com/cuda-toolkit

La versión del toolkit que necesitamos descargar es el archivo Run para Linux de 64 bit de la última versión de ubuntu, el nombre del archivo es cuda_6.0.26_rc_linux64.run.

Una vez que tenemos los archivos necesarios para la instalación se procede a desactivar el controlador nouveau que es el controlador predeterminado para Debian, podemos hacerlo mediante la creación del siguiente archivo con este contenido:

cuda6_install.sh

# edit debian driver configuration file
vim /etc/modprobe.d/disable-nouveau.conf 
 
# blacklist defualt driver
blacklist nouveau
options nouveau modeset=0

Después de tener el archivo para bloquear el controlador predeterminado, se procede a reiniciar la máquina en modo normal.

Una vez reiniciado vamos a notar que la resolución cambió a un nivel inferior y eso significa que el driver default de Debian no fue cargado, ahora, tenemos que conseguir algunos archivos de nuestro repositorio mediante la ejecución de los siguientes comandos.

cuda6_install.sh

# dependencies to build the new driver
apt-get install build-essential
apt-get install linux-headers-$(uname -r)

Después de instalar esto se procede a quitar el controlador nouveau completamente de nuestro sistema mediante la ejecución de los siguientes comandos:

cuda6_install.sh

# remove the nouveau driver completly
apt-get remove --purge xserver-xorg-video-nouveau

Después de la eliminación del controlador ha sucedido tenemos que reiniciar el sistema en modo de recuperación, una vez reiniciado en éste modo y teniendo la agradable interfaz de consola, se procede a la instalación del controlador, primero tenemos que decirle al sistema la versión del compilador apropiado que se utilizó para compilar el kernel actual, ésto porque el sistema necesita compilar el controlador actual de NVIDIA, si no sabemos qué versión se utilizó y qué kernel tenemos, podemos saber ésto con el siguiente comando

cuda6_install.sh

# find curr gcc version
cat /proc/version

Y obtendremos algo como lo siguiente:

cuda6_install.sh

# version output
Linux version 3.2.0-4-amd64 (debian-kernel@lists.debian.org) (gcc version 4.6.3 (Debian 4.6.3-14) ) #1 SMP Debian 3.2.54-2

Una vez que conocemos la versión correcta, necesitamos setear ésta con un comando export como se muestra.

cuda6_install.sh

# set gcc version
export CC=gcc-4.3

Después, se procede a la instalación del nuevo driver, navegamos al directorio de descarga y ejecutamos el archivo del driver

cuda6_install.sh

# execute driver install
sh NVIDIA-Linux-x86_64-331.49.run

Una vez finalizada la instalación se procede a reiniciar la máquina y notaremos que tenemos instalados nuestros nuevos controladores y una mejor resolución, a continuación, se procede a instalar el toolkit como se muestra.

cuda6_install.sh

# execute toolkit install
sh cuda_6.0.26_rc_linux64.run

Cuando lo pida, seleccionamos a no instalar el controlador de NVIDIA ya que ya lo instalamos, y elegiremos un buen path para los ejemplos de código, lo último que hay que hacer es compilar los ejemplos y ejecutarlos, para hacer esto navegamos en el directorio de ejemplos y simplemente tecleamos make.

¡Eso es todo! Enjoy. 🙂
-Yohan

One thought on “Instalando CUDA 6 RC en Debian Wheezy

  1. albberk says:

    hi Yohan,
    First thank you for your share of the above,but i encountered a problem when i make the sample using opengl library, such as the sample in ~/NVIDIA_CUDA-6.0_Samples/5_Simulations/particles, when i make it, it display as:
    ~/NVIDIA_CUDA-6.0_Samples/5_Simulations/particles$ make
    >>> WARNING – libGL.so not found, refer to CUDA Samples release notes for how to find and install them. <<>> WARNING – libGLU.so not found, refer to CUDA Samples release notes for how to find and install them. <<>> WARNING – libX11.so not found, refer to CUDA Samples release notes for how to find and install them. <<>> WARNING – libXi.so not found, refer to CUDA Samples release notes for how to find and install them. <<>> WARNING – libXmu.so not found, refer to CUDA Samples release notes for how to find and install them. <<<
    [@] /usr/local/cuda-6.0/bin/nvcc -ccbin g++ -I../../common/inc -m64 -gencode arch=compute_10,code=sm_10 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_50,code=compute_50 -o particleSystem.o -c particleSystem.cpp
    [@] /usr/local/cuda-6.0/bin/nvcc -ccbin g++ -I../../common/inc -m64 -gencode arch=compute_10,code=sm_10 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_50,code=compute_50 -o particleSystem_cuda.o -c particleSystem_cuda.cu
    [@] /usr/local/cuda-6.0/bin/nvcc -ccbin g++ -I../../common/inc -m64 -gencode arch=compute_10,code=sm_10 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_50,code=compute_50 -o particles.o -c particles.cpp
    [@] /usr/local/cuda-6.0/bin/nvcc -ccbin g++ -I../../common/inc -m64 -gencode arch=compute_10,code=sm_10 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_50,code=compute_50 -o render_particles.o -c render_particles.cpp
    [@] /usr/local/cuda-6.0/bin/nvcc -ccbin g++ -I../../common/inc -m64 -gencode arch=compute_10,code=sm_10 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_50,code=compute_50 -o shaders.o -c shaders.cpp
    [@] /usr/local/cuda-6.0/bin/nvcc -ccbin g++ -m64 -gencode arch=compute_10,code=sm_10 -gencode arch=compute_13,code=sm_13 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_32,code=sm_32 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_50,code=compute_50 -o particles particleSystem.o particleSystem_cuda.o particles.o render_particles.o shaders.o -L../../common/lib/linux/x86_64 -lGL -lGLU -lX11 -lXi -lXmu -lglut -lGLEW
    [@] mkdir -p ../../bin/x86_64/linux/release
    [@] cp particles ../../bin/x86_64/linux/release
    tianysh@TYS:~/NVIDIA_CUDA-6.0_Samples/5_Simulations/particles$

    Did you have this problem?
    i also try to install freegult3 again, and this problem still go on,

    can you mail me tell me your situation?
    thank you

Leave a Reply

Your email address will not be published. Required fields are marked *