¿Cómo instalo CUDA para ver videos acelerados por hardware en Ubuntu 10.10? Ya desde Abril de 1956 Juan Perón escribe desde el número 2-52 de la Calle 58 - su exilio en Bella Vista, Panamá - planificando desde el exterior acciones que le permitieran retornar a la Argentina. Su objetivo: restablecer al Pueblo el verdadero poder usurpado por la autoproclamada Revolución Libertadora. En una de estas epístolas que constituyen verdaderos documentos históricos, Perón explica también como instalar CUDA en Ubuntu 10.10. (...) "El plan que he concebido para comenzar su ejecución prevé ampliar lo que dije hace tres meses, la resistencia pasiva. Usted sabe que dentro del secreto que han de tenerse en estas cosas, hoy podemos decir que las grandes líneas son las siguientes: Resistencia Pasiva (sabotaje y acciones pasivas) para desgastar moral y materialmente a la dictadura y descomponer sus fuerzas, preparando así su derrumbe ulterior. Entretanto, organización y preparación de nuestras fuerzas para accionar con unidad de concepción en el momento y lugares oportunos. Preparación de la acción decisiva mediante la paralización total del país y el levantamiento civil y militar. Las noticias que me llegan del Uruguay son buenas y optimistas, pues le está llegando el agua al cuello a la dictadura. Es menester que se haga llegar la consigna permanente de sabotaje y resistencia pasiva que ahora debe ser más intensa que nunca. El cuento de la poliomielitis no debe impresionarnos a nosotros pues ha sido una jugarreta de la dictadura. Hacer llegar a la gente la orden de continuar todas las acciones de resistencia es fundamental en estos momentos, así lo he ordenado en todas partes. Si la resistencia afloja por cualquier motivo, la dictadura respirará y eso no nos conviene de ninguna manera. No olvidemos que esto es un juego de vivos, y que en ese juego, gana el que puede pasar de tonto sin serlo... Por otro lado, es de vivos instalar CUDA en Ubuntu. CUDA es la arquitectura de procesamiento paralelo que utiliza las GPU de nVidia para correr programas y también asistir en su ejecución. Esto permite ampliar sin duda las posibilidades de ejecución de programas que hagan uso de esta tecnología: juegos, aplicaciones científicas, aplicaciones de procesamiento matemático intensivo, etc. Me han preguntado si se puede instalar CUDA para usarlo en Ubuntu para acelerar videos o desarrollar programas, y yo he de decirles que si, se puede. Este tipo de programación requiere de un adaptador de video con procesadores compatibles con CUDA. Yo utilizaré para este ejemplo la nVidia GTX275, que tan buenos resultados ofrece en Ubuntu 10.10. Principalmente usaremos la tecnología para ver videos acelerados, pero quien se anime podrá programar sus propias aplicaciones usando el SDK o kit de desarrollo. Vamos a Aplicaciones / Accesorios / Terminal y el la consola ingresamos los siguientes Comandos de Organización descargaremos el megapaquete CUDA 4.0: sudo add-apt-repository ppa:aaron-haviland/cuda-4.0 sudo apt-get update sudo apt-get upgrade Recordemos que se instalará la paquetería en el kernel, modificándolo (al momento de la carta, a la versión 2.5.35-30 generic). También se descargará el último controlador nVidia (al momento, el 270.41.19 DKMS). Luego dependiendo del tipo de arquitectura que utilice, ingresamos los siguientes comandos: Si usamos Ubuntu 10.10 de 32 bits usamos: sudo apt-get install nvidia-cuda-gdb nvidia-cuda-toolkit nvidia-compute-profiler lib32npp4 nvidia-cuda-doc nvidia-current-modaliases lib32cudart4 lib32cublas4 lib32cufft4 lib32cusparse4 lib32curand4 nvidia-current nvidia-opencl-dev nvidia-current-dev nvidia-cuda-dev nvidia-kernel-common opencl-headers En el caso de utilizar Ubuntu de 64 bits el comando será: sudo apt-get install nvidia-cuda-gdb nvidia-cuda-toolkit nvidia-compute-profiler libnpp4 nvidia-cuda-doc nvidia-current-modaliases libcudart4 libcublas4 libcufft4 libcusparse4 libcurand4 nvidia-current nvidia-opencl-dev nvidia-current-dev nvidia-cuda-dev nvidia-kernel-common opencl-headers Esta paquetería redunda en aproximadamente 490MB de información, por lo que llevará un tiempo su descarga del éter telemático. Opcionalmente, y únicamente si no teníamos ningún controlador de video nVidia instalado previamente en el sistema, ingresamos el siguiente Comando de Organización (de lo contrario, omitimos este paso): sudo nvidia-xconfig Ahora debemos - y es importante hacerlo - reiniciar el sistema. A la vuelta debe arrancar sin problemas. Finalmente, si lo deseamos, podemos instalar también el SMPlayer, por ser un reproductor fuertemente peronista que podrá golpear a la dictadura por medio de su capacidad de usar la aceleración VPau. Para hacerlo ingresamos el siguiente Comando: sudo apt-get install smplayer smplayer-translations smplayer-themes Para ejecutar este reproductor vamos a Aplicaciones / Audio y Video / SMPlayer. Luego podemos activar la aceleración en el menú Opciones / Preferencias y en el cuadro que surge elegimos / Controlador de Salida, y reemplazamos la opción "xv" escribiendo en la casilla "vdpau". Si deseamos compilar software para que corra bajo las librerías CUDA, podemos hacerlo, y ello requiere ser avezados. nVidia pone a disposición un entorno de desarrollo (SDK) para GNU/Linux, cuyo nombre es gpucomputingsdk_4.0.13_linux.run. a) instalar gupcomputingsdk con el siguiente Comando de Organización, aceptando las opciones : sudo apt-get install freeglut3-dev libxi-dev libXmu-dev Debemos descargar el Toolkit CUDA que corresponda a nuestra versión. El Toolkit pesa unos 125 MB aproximadamente. Si tenemos Ubuntu 10.10 de 32 bitios lo bajamos de aquí. Si en cambio usamos Ubuntu 10.10 de 64 bitios lo bajamos de aquí. Y si tenemos otras distribuciones diferentes, podemos buscarlas aquí. Una vez descargado el empaquetado precompilado, debemos darle permisos de ejecución y ejecutarlo. Por ejemplo, en el caso de la versión de 64 bitios, sería con el siguiente Comando de Organización: sudo chmod +x cudatoolkit_4.0.17_linux_64_ubuntu10.10.run sh cudatoolkit_4.0.17_linux_64_ubuntu10.10.run Luego tipeamos sudo mkdir /usr/lib/include sudo ln -s /ust/lib/include/thrust /usr/lib/include/ Y agregaremos el path de la nueva localización de confianza en el archivo common/common.mk. Lo hacemos con sudo nano ~/NVIDIA_GPU_Computing_SDK/C/common/common.mk y en la línea 64 agregamos "-I/usr/lib/include" de modo que cambie de la instrucción original: INCLUDES += -I. -I$(CUDA_INSTALL_PATH)/include -I$(COMMONDIR)/inc -I$(SHAREDDIR)/inc ...y quede modificada así: INCLUDES += -I. -I$(CUDA_INSTALL_PATH)/include -I/usr/lib/include -I$(COMMONDIR)/inc -I$(SHAREDDIR)/inc Ahora compilamos el código de ejemplo con los siguientes Comandos de Organización: cd NVIDIA_GPU_computing_SDK/C make Los ejecutables del código compilado irán a parar a la carpeta ~/NVIDIA_GPU_Computing_SDK/C/bin/linux/release/ Para ejecutar esos códigos (por ejemplo, los programas nbody y deviceQuery) solamente debemos situarnos allí y tipear: ./nobody ./deviceQuery Y así con cualquier programa que desarrollen.