viernes, 9 de abril de 2010

CUDA [II] Instalación de toolkit y SDK para CUDA

Buenooo. Ahora nos dejamos ya de palabras y empezamos haciendo algo interesante. Pero antes quiero hacer un par de notitas:
  1. Vamos a instalar drivers nuevos. Lo más fácil es que los drivers nuevos no funcionarán a la primera o vete a saber tu qué. Entiendase que se puede liar la cosa.
  2. Hay gente que ha conseguido instalar todo el SDK y todo en Ubuntu 9.10. Yo no puede/supe. Lo he probado en Ubuntu 9.04 y ha funcionado perfectamente. El soporte de nVidia llega hasta 9.04.
  3. AVISO. El material que voy a poner aqui, en su mayoría van a ser cópido de otras páginas. Como podeis imaginar hay mucha gente que ha hablado hasta ahora del proceso de instalación, lo que la información está un poco "separada". Yo os pondré lo que me ha funcionado a mi, a modo de recopilación/traducción. No dejen de visitar las fuentes originales.
  4. Comprueben que sus tarjetas sean compatibles con CUDA.
Dados estos avisos, empezemos.

[INSTALANDO 9.04]
Tuve muchos problemas en Ubuntu 9.10. Como nVidia da soporte a Ubuntu 9.04 me dije, pues instalalo. Y esto hice. He creado una partición en mi disco y he instalado 9.04. Os recomiendo que hagais igual, si os quereis ahorrar problemas. Además, así podeis hacer las pruebas que querais sin miedo a perder datos ni nada. La instalación tiene que ser nativa! No virtualizeis!

[INSTALANDO DRIVERS][1]
Una vez tenemos nuestro 9.04 funcionando y operativo, debemos instalar los últimos drivers de nVidia, los 195. Para ello seguiremos estos pasos:
$ sudo su
$ echo DRIVERS NVIDIA 195 >> /etc/apt/sources.list
$ echo deb http://ppa.launchpad.net/nvidia-vdpau/ppa/ubuntu jaunty main >> /etc/apt/sources.list
$ echo deb-src http://ppa.launchpad.net/nvidia-vdpau/ppa/ubuntu jaunty main >> /etc/apt/sources.list
$ apt-key adv --keyserver keyserver.ubuntu.com --recv-keys CEC06767
$ aptitude update
$ aptitude install nvidia-195-modaliases nvidia-glx-195

[DESCARGANDO PAQUETES]
Tenemos que ir a la pagina web de CUDA, a descargas. Los paquetes que necesitamos son:
  • CUDA Toolkit for Ubuntu Linux 9.04
  • GPU Computing SDK code samples and more
La versión 32bits o 64 bits. Como corresponda. Los descargamos en el escritorio.

[INSTALANDO TOOLKIT] [2]
Para ello damos permisos de ejecución con el comando:
$ chmod +x ~/Escritorio/cudatoolkit_3.0_linux_32_ubuntu9.04.run

Y ahora lo instalaremos. Pero resulta que al instalarlo, si tenemos GDM iniciado, da un error. Para esto utilizaremos una consola tty1. Apunta los pasos ya que cerraremos GDM y te vas a quedar sin gestor de ventanas. Será solo un momento.
  • Pulsamos Control+Alt+F1
  • Entramos con un usuarios que tenga privilegios administrativos
  • $ sudo service gdm stop
  • $ cd /home/nombre_del_usuario/Escritorio
  • $ sudo ./cudatoolkit_3.0_linux_32_ubuntu9.04.run
  • $ sudo service gdm start
  • Pulsamos Control+Alt+F7, iniciamos sesion normalmente y seguimos el proceso
Ahora tenemos que añadir los directorios de nvidia a PATH. Abrimos un terminal:
  • $ sudo vim /etc/bash.bash.rc #Si no sabes usar vim, pon "gedit" en lugar de "vim"
  • Al final del fichero incluiremos dos líneas:
export PATH=${PATH}:/usr/local/cuda/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda/lib64

Si tenemos un sistema de 32 bits, cambiamos "lib64" por "lib". Guardamos el fichero y Toolkit instalado.

[INSTALANDO EL SDK][2]
Hacemos el fichero ejecutable con:
$ chmod +x ~/Escritorio/gpucomputingsdk_3.0_linux.run
No hace falta que se instale con privilegios de ROOT. Instalar con el usuario que va a usar el SDK.
$ ./gpucomputingsdk_3.0_linux.run
Las preguntas que nos hace las contestamos con un "enter". El default ya nos sirve. Una vez instalado entramos en la carpeta del SDK:
$ cd ~/NVIDIA_GPU_Computing_SDK/C
Instalamos dependencias:
$ sudo aptitude install freeglut3 freeglut3-dev libx11-dev mesa-common-dev libxmu6 libxi-dev libxmu-dev
Y compilamos los codigos:
$ make

[EJECUTANDO EJEMPLOS][2]
Si todo ha funcionado correctamente, ahora podremos ejecutar los siguientes comandos:
$ cd ~/NVIDIA_GPU_Computing_SDK/C/bin/linux/released
$ ./deviceQuery
$ ./fluidsGL
$ ./smokeParticles
$ ./particles

[POSIBLES PROBLEMAS]
  • El compilador gcc tiene que ser verión 4.3 ( en mi caso 4.3.3 ). El compilador 4.4 no funciona directamente. Diríganse a [2] para ver como se puede "arreglar" el problema.
  • Es muy importante tener instalado ( y funcionando ) los últimos drivers de nVidia. El SDK funciona solo con los drivers más nuevos.
  • Links dónde encontré respuestas que ayudaron a aclararme: [3] [4]
  • De dependencias. Pero siguiendo los pasos anteriores deberían quedar todas cubiertas.

[1] Via: dame-linux. Un post simple, fácil y para toda la familia. No dejen de hecharle un vistazo.
[2] Vía stealthcopter Fué el mejor post que encontré. Lo instalan en 9.10, pero a mi no me llegó a funcionar. Yo lo he traducido y adaptado a 9.04, pero es una copia de este post.
[3] Foro de nVidia. Problemas a la ejecución de algunas demos.
[4] Foro de nVidia. Error con ficheros gl.h glu.h

No hay comentarios:

Publicar un comentario