PDA

Ver la versión completa : GPGPU, una idea alucinante



LUK
10-10-2008, 11:31
La técnica GPGPU (http://en.wikipedia.org/wiki/Gpgpu) (General Purpose computing on Graphics Processing Units) lleva muy poco tiempo en el mercado, y aunque su despegue es aún muy lento (y no acabo de ver porqué) parece evidente que está destinada (http://www.gpgpu.org/) a convertirse en todo un éxito.

Y se lo merece. Hace mucho ya que se sabe que la potencia de los procesadores gráficos es muy superior a la de los procesadores de propósito general. Así, las GPUs de las nuevas ATI Radeon HD 4870 o las NVIDIA GTX 280 disponen de micros que dejan a la altura del betún a cualquier Intel Core Quad Extreme, y no digamos ya a micros dual-core modestitos.


http://img148.imageshack.us/img148/6001/nvidiagtx280bc5.jpg

Esta diferencia en potencia bruta era conocida, pero no aprovechable en la práctica: la GPU, para gráficos y listo, era el lema. Sin embargo, NVIDIA comenzó a poner en práctica la idea y saltó a la palestra con CUDA (http://www.nvidia.com/object/cuda_get.html), un conjunto de herramientas de programación que permiten “adaptar” código de aplicaciones convencionales para que estas se puedan ejecutar en una GPU. AMD/ATI está tratando de hacer lo propio con su “Close To Metal“, mucho menos evolucionado y que está acompañado de desarrollos más prometedores, entre los que destaca sobre todos OpenCL (http://en.wikipedia.org/wiki/OpenCL), en el que Apple ha tenido mucho que decir.


http://img148.imageshack.us/img148/6261/nvidialogove3.jpg

Sea como fuere, la idea del procesamiento GPGPU es tan sencilla como increíble: poder utilizar la dantesca potencia bruta de las GPUs para procesar todo tipo de tareas convencionales, y no sólo juegos. Los primeros desarrollos CUDA ya demuestran esta potencia, y yo he probado recientemente uno, Badaboom (http://badaboomit.com/),(este es el enlace de descarga directo de NVIDIA (http://nzone.download.nvidia.com/nodlm/Badaboom_Setup_0.9_RC12_BETA4.exe), con el autoinstalable de 7,90 MB) un conversor de vídeo muy limitado en opciones pero que demuestra de lo que estamos hablando.


http://img148.imageshack.us/img148/4534/badaboom1vc0.jpg

Con este programa es posible convertir una película de DVD a formatos MP4 (perfectos para mi iPhone) en tiempos asombrosamente reducidos. Yo hice la prueba con la película “Camino a la Perdición“, que dura casi dos horas. Cogí el DVD, lo pasé a disco duro con DVDShrink, y luego cargué ese “DVD en disco” en Badaboom, que es una de las opciones recomendables para esta tarea. Después de elegir el formato y algún parámetro más, ¿sabéis lo que tardó en convertir la película gracias a mi GeForce 9600GT?

20 minutos.

¡20 minutos! Con suerte, el mismo proceso realizado por la CPU (no lo he hecho en mi Intel Core 2 Duo E8400, pero esa era la idea) llevaría, más o menos, 120 minutos, ya que la tasa de conversión de estos micros es casi casi la de “tiempo real”, es decir, 25 fps, que equivalen a convertir la película en un tiempo idéntico al que dura ese film. Si con Badaboom podemos reducir ese tiempo 6 veces y la herramienta aún no está del todo pulida, no quiero ni imaginar lo que nos depara el futuro.


http://img148.imageshack.us/img148/6181/badaboom3po9.jpg

Lo cierto es que Badaboom no es lo que se dice una herramienta demasiado completa: no da soporte a formatos muy importantes, y las posibilidades de personalización de la compresión son casi nulas. De hecho, también lo indican así en AnadTech (http://www.anandtech.com/video/showdoc.aspx?i=3374) (son tan listos como yo), por lo que si la cosa avanza pronto deberíamos tener un software mucho más pulido y potente. Y aunque así no fuera, yo no me preocuparía demasiado: no creo que los desarrolladores tarden demasiado en darse cuenta de que sus aplicaciones pueden “volar” gracias al uso de la GPU.

Iros preparando, que la cosa promete.

Fuente: Incognitosis (http://www.javipas.com/2008/10/09/gpgpu-una-idea-alucinante/)

gondar_f
10-10-2008, 11:44
Realmente las aplicaciones para edición de video en tiempo real (empezando por las de Apple que fue la primera compañia que aprovecho esto hace ya la friolera de 7 años, que en la informática son muchos, el Quarz estreme usa esto precisamente y viene de serie desde el MacOS X 10.1) se lleva usando hace ya muchos años, este tio no descubrio nada, lo único fue que uso una pequeña utilidad gratuita para hacer algo que las otras gratuitas aun no hacen. Pero por ejemplo Pinacle hace al menos 5 años que sus programas si aprovechan estas posivilidades para la edición en tiempo real con varias lineas de video...

Es cierto que escepto aplicaciones muy caras y muy complejas hasta ahora poco más se usaba esto y ahora se empieza a utilizar para otras tareas, pero eso es lo único nuevo, ya que esto se lleva haciendo hace años y si no que se lo pregunten a Apple... precisamente este es uno de los secretos de que el rico escritorio del MacOS X estuviese durante muchso años por delante de los de la competencia, que tuvieron que esperar que los micros aumentansen mucho de potencia antes de poder usar efectos que el MacOS X ya tenia (y sin ralentizar la máquina, algo que no puede decir el Vista o un Linux con CopizFusión).

Además, desde hace años, los núcleos de gráficas se utilizan para hacer equipo para calculos científicos, incluso cuando ATI o Nvidia presentan sus nuevas GPUs al mismo tiempo presentas sus nuevas soluciones en este campo al menos desde el 2005. Por ejemplo AMD-ATI tiene un cocharro con una 16 GPUs de la serie 4mil que con capaces de hacer más calculos en punto flotante de lo que pueden hacer algunos de los mayores supercomputadores del mundo por unidad de tiempo.

Un Saludo

LUK
10-10-2008, 13:09
Yo ayer instalé los drivers de CUDA y el Badaboom, tengo una 8600GT, y la aunque mi tarjeta no es de las mejores, la verdad es que el coding del video lo hacia a una velocidad bastante mejor que con el virtualdub por ejemplo (que tira de cpu).

RaidMan
10-10-2008, 14:54
A ver de lo que es capaz con mi 9600GT XXX.(Es la Alpha Dog edition, no se como se portara)

http://www.nvnews.net/reviews/xfx_geforce_9600_gt/Card02.jpg
Ya os contare los resultados


Un saludo

gondar_f
10-10-2008, 15:35
Pues lo bueno de muchos de estos proyectos para usar las GPUs es que a más GPUs todo mejor, con 2 tienes el doble con 4 pues 4 veces... algo que no se consigue con procesadores, en donde si pones 2 (o 2 núcleos) con suerte consigues 1'8 veces lo que conseguias con uno, que pones 4 pues al final solo consigues algo más de 3veces lo que conseguirias con un solo núcleo...

Eso si cuidado, normalmente las gráficas domesticas no están pensadas para sera aprovechadas de esa forma, y aunque usarlas puntualmente sería similar a usarlas jugando, no pueden aguantar estar al 60 o 70% más de x horas seguidas, juas que se ponen al rojo vivo :D

Un Saludo

RaidMan
10-10-2008, 15:56
Os cuento:

Grafica--> nVidia 9600GT XXX Alpha Dog Edition
Pelicula--> Traffic
Tiempo--> 34:12 min.

No esta nada mal, sobre todo teniendo un solo procesador con HT (un Pentium 4)
Y ademas, lo hice sin extraer la pelicula del DVD antes, lo hizo el programa directamente.


Un saludo
PD: Gondar, ha llegado a los 62ºC

gondar_f
10-10-2008, 16:06
El problema no es que llegua a los 80º (que jugando se llega muchas veces), el problema es cuando está a altas temperaturas durante horas (solo hay que ver que le pasaba a las XBOX 360 de las primeras que se jodian), las GPUs domesticas no estan pensadas para eso, pero por ahora no te preocupes, tendrías que estar al menos 6 horas seguidas al máximo para entrar en riesgo de joder la gráfica u otro componente.

Además, por ahora apenas se usa esta posivilidad, el problema vendrá cuando se use intensivamente, no creo que eso pase en fechas próximas, por lo menos hasta dentro de un par de años cuando esto se popularice.

Un Saludo