Instalacion de CUDA 4.1 en Ubuntu 11.10

Tras unas cuantas horas de gorronear ancho de banda y algo de picoteo a Noel (gracias por soportarme😉 ) he conseguido instalar CUDA 4.1 correctamente sobre Ubuntu 11.10. La mayor parte de los problemas se deben a que las guías que he encontrado, a pesar de ser una gran ayuda, están incompletas o son copias de otras versiones y por ello incluyen pasos obsoletos. Aquí van los pasos a seguir por si a alguien le sirve de algo.
PRECAUCIÓN: Es conveniente estar conectado a Internet antes de entrar en el modo terminal, porque si al compilar el driver obtenemos errores es posible que tengamos que descargar algún paquete.
1.- Descargar el software de la página de nvidia:
A fecha de hoy es la versión 4.1, nos descargamos el SDK, el toolkit y el driver. (Cuidad la elección, 32 o 64 bits).
2.- Necesitamos algunos paquetes para poder compilar las cosas… En la terminal tecleamos:
$ sudo apt-get install gcc-4.4 g++-4.4 build-essential 
$ sudo update-alternatives –install /usr/bin/gcc gcc /usr/bin/gcc-4.6 40
$ sudo update-alternatives –slave /usr/bin/g++ g++ /usr/bin/g++-4.6
$ sudo update-alternatives –install /usr/bin/gcc gcc /usr/bin/gcc-4.4 60
$ sudo update-alternatives –slave /usr/bin/g++ g++ /usr/bin/g++-4.4
3.- Elegimos la versión del compilador, (este es un truco que he aprendido y que vamos a usar mucho si nos dedicamos a trastear con CUDA):
$ sudo update-alternatives —config gcc
Seguimos las instrucciones que nos da (cambiar el numero y pulsar enter en caso de que queramos seleccionar un compilador distinto al que viene por defecto).
Tenemos que seleccionar el 4.6 que es el que se necesita para compilar esta versión del driver. En otras guías hacen malabares para poner el 4.4 porque la versión antigua lo necesitaba.
5.- PASO DELICADO PARA MUCHOS: no tiene importancia, pero para algunos es incómodo no tener entorno gráfico y no poder usar el navegador en caso de tener algún problema, imprimid esta guía o apuntad estos pasos.
Vamos a matar la interfaz gráfica, para ello presionamos:
crtl+alt+F1
Con esto entraremos en modo terminal; nos identificamos en la terminal (nombre de usuario y password) y ya podemos matar el proceso gráfico, tecleamos:
$ sudo service ligthdm
Ya estamos en disposición de compilar el driver. Nos movemos a la carpeta donde está el driver:
$ cd /home/usuario/Descargas (en mi caso)
$ sudo sh ./Nvidia (damos al tabulador para que complete si no queremos escribir el nombre completo)
Aceptamos todas las opciones que nos propone, las compatibilidad con OpenGL para 32, reconfigurar el fichero xorg… Todo OK
Tendremos que llegar hasta aqui sin errores si todo ha ido bien. Reiniciamos:
$ sudo reboot (o pulsamos control+alt+suprimir, sí, como en Win2)
NOTA: Ver errores.
6.- Nos movemos de nuevo a la carpeta donde hemos descargado los paquetes y ejecutamos el toolkit como superusuario y el sdk SIN sudo:
$ sudo sh ./cudatoolkit4.1 (otra vez tabulador para que complete)
$ sh ./gpucomputingsdk (tabulador de nuevo)
7.- Nos movemos a la carpeta NVIDIA_GPU_COMPUTING_SDK que tendremos en nuestro directorio personal, vamos a compilar los ejemplos.
Necesitamos antes unos paquetes:
$ sudo apt-get install freeglut3-dev libxi-dev
Y crear unos enlaces:
$ sudo ln -s /usr/lib/libXmu.so.6 /usr/lib/libXmu.so
$ sudo ln -s /usr/lib/nvidia-173/libGL.so /usr/lib/libGL.so
Tenemos que movernos a la carpeta C, dentro de NVIDIA_GPU_COMPU… encontraremos una carpeta llamada “common”, y dentro de ella el archivo “common.mk”, lo abrimos
para editarlo, buscamos la línea donde pone
LINKFLAGS +=
Y la dejamos así:        LINKFLAGS += -L/usr/lib/nvidia-current
8.- Volvemos a la carpeta C y compilamos todo:
$ make
9.- Si todo ha ido bien nos pondrá algo así como FINISHED (no recuerdo ahora bien). Y dentro de la carpeta C aparecerán más cosas, nos movemos a 
$ cd ~/NVIDIA_GPU_COMPUTING_SDK/C/bin/linux/release
Dentro de esta carpeta tendremos los ejemplos compilador de CUDA, no tenemos más 
que escribir la orden
$ ls
Para mostrarlos, si todo ha ido bien no deberíamos tener ningún problema al escribir:
$ ./deviceQuery
Nos deben salir los datos de nuestra/s tarjeta gráfica.
Ahora podemos divertirnos un rato ejecutando los demás ejemplos, recomiendo mirarel de smoke;
$ ./smokeParticles






 En las entradas escribiré sobre la compilación de ejemplos, pero adelanto cosas:
$ nvcc -ccbin ~/gcc-4.4 my_app.cu
En caso de que queráis compilar vuestros programas.
ERRORES:
Puede que en la compilación del driver aparezca el error de que hay un driver incompatible, se soluciona desinstalándolo y reconfigurando el fichero xorg.conf.
Si os puedo ayudar en algo, dejad un comentario.
Esta entrada fue publicada en CUDA. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s