viernes, 20 de abril de 2012

CUDA a la vista!!

Venga, ya está bien de hablar de política y de otras cosas aburridas. Vamos a hablar de CUDA hoy. Cuda es una tecnología que permite la utilización de las GPU de las -cada día más potentes- tarjetas gráficas de nuestros ordenadores.

Y es que, además de ser cada día más potentes, la tecnología permite, casi cualquier cosa, es decir, un programador en CUDA, puede, potencialmente hacer cualquier procesamiento aprovechando la GPU, que suele ser una barbaridad más potente que la CPU, pero sobre todo la ingente cantidad de memoria, (entre 1 y 3 GB) rapidísima (mis gráficas de antepenúltima generación ya llevan GDDR5).

Esto es la panacea, ¿no?, ¡¡todos a CUDA!!


Pues no, por desgracia. Primero, pasa lo de siempre, que es una tecnología que necesita que las aplicaciones sean recodificadas casi desde cero, para poder aprovechar las nuevas capacidades. Pasa como con los micros multicore. ¿Quién puede usarlo? Pues Photoshop, que lo venía haciendo desde hace mucho, y pocas aplicaciones más que han decidido, o tocaba rehacer el código. Las demás, han puesto unos plugins en los compiladores, que permiten hacer algunas operaciones básicas en multicore, pero realmente nada significativo.

Otra desgracia para CUDA, es que está atado a la tecnología. Esto es de nVidia sólo. Ni Intel ni AMD, tienen otra tecnología compatible, aunque sí similares, pero no tan evolucionadas. Si no tienes nVidia en tu máquina, esperemos que el software tenga un plan b.

La tercera desgracia de CUDA, es que hoy por hoy, las aplicaciones no tienen demasiada necesidad de computación severa en local. La mayoría de aplicaciones son web, están basadas en navegador, el JavaScript es cada vez menos y más ligero, con lo que nuestros microprocesadores, están cada vez más y más ociosos. Sus 4, 6 u ocho núcleos, me refiero.

Por tanto, CUDA es una gran idea que se ha quedado en la esquina de los frikis. Hoy por hoy, además de para jugar, claro, se usa en algunas aplicaciones para codificar vídeo, y en computación distribuida, porque hay proyectos específicos. Vaya como muestra, este pantallazo de mi BOINC del server, en donde  dos tareas iguales, llevan 28 horas y 16 minutos a uno de los cores que la ha pillado, y 1 hora y 45 minutos a la GTX 560Ti que puebla mi querido HOMER.


Por cierto, sé de buena tinta, que Santander y otros bancos punteros, están comprando GPU's a cascoporro para empezar a hacer grid computing.

No hay comentarios:

Publicar un comentario