Tecnología

GPGPU, una idea alucinante [actualizado]

·

La técnica 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 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.

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, 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, en el que Apple ha tenido mucho que decir.

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,(este es el enlace de descarga directo de NVIDIA, con el autoinstalable de 7,90 MB) un conversor de vídeo muy limitado en opciones pero que demuestra de lo que estamos hablando.

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.

Actualización (14/10/2008): Manuel ha hecho la comparativa completa en su blog y ha llegado a la misma conclusión que yo, aunque en realidad la diferencia no es tanta como yo pensaba: mientras que la codificación de la película Iron Man de DVD a H.264 ha tardado 25 minutos con BadaBoom, con su Core 2 Duo 6300 le ha tardado 46 minutos usando el programa AVS Video Converter 6. Aún así, la diferencia es importante, ¿no creéis?

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 (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.


Incognichollos

Esta es una selección con las mejores ofertas tecnológicas actualizadas casi diariamente, como expliqué aquí. Aunque estés en un post «antiguo» las ofertas son de última hora, los Incognichollos los actualizo aparte. También puedes seguir los Incognichollos en Twitter o en el nuevo canal de Telegram 🙂 . Aprovecha, que no suelen durar mucho tiempo:

  • Xiaomi Mi 9 SE: y la versión compacta: 5,97 pulgadas, Snapdragon 712, 6 GB de RAM, 64 GB de capacidad, triple cámara (48+12+16), lector de huella en pantalla, está a 276,76 euros en Banggood con el cupón 5BGM9SE. Brutal. La versión con 128 GB de capacidad está algo más cara pero esos gigas más son muy chulos. Está a 312 euros en Banggood con el cupón 5BGM9SE6
  • Xiaomi Redmi Note 7: 6,3» (mininotch), Snapdragon 660, 4 GB de RAM, 64 GB de capacidad (ampliables vía MicroSD), 4.000 mAh, minijack y cámara dual de 48+5 MP realmente estupenda. Todo por 169 euros en Banggood con el cupón 5BGRN7
  • Proyector ABOX 720p: un proyector sorprendente con 3000 lúmenes de resolución, resolución nativa 720p (escala a 1080p), diagonal máxima de 176″, integra dos altavoces de pequeña potencia. Está a 79,99 euros en Amazon con el código XWPC6MDA (antes 129,99).
  • Monitor gaming MSI AG32CQ: una maravilla curva 1800R de 31,5 pulgadas, resolución WQHD (2.560×1.440), y sobre todo soporte de frecuencia de refresco de 144 Hz. Estupenda para gamers por 399 euros en Amazon (499 en PCComp)
  • Monitor LG 32QK500-W: si no queréis curvas y no sois jugones, atentos a este modelo de 31,5″ con resolución 2560×1440 píxeles, dos entradas HDMI, 1 DP y una Mini DP. Está a 199 euros en Amazon, ofertaza.
  • Zapatillas Reebook Trainfusion Nine 3.0: liquidación para estas zapatillas de running, entrenamiento y actividades al aire libre. Están en varios colores y tallas por 29,60 euros en Amazon
  • Marco de fotos digital Andoer 15,6″: interesante esta pantallita FullHD que sirve para mostrar fotos pero también como reproductor MP3/MP4, vídeo, ebook, dsespertador o calendario. Está a 64 euros en Amazon con el código HKQA89SL (antes 129).
  • Portátil gaming Lenovo Legio Y530: un portátil de 15,6», Core i7-8750H, 8 GB RAM, 1 TB (HDD), 128 GB de SSD, GTX 1050, Windows 10. Muy bien por 819,19 euros en Amazon (999 en PCComp)
  • Xiaomi PocoPhone F1: telefonazo de 6,1», Snapdragon 845, 6 GB de RAM, 128 GB de capacidad, cámara dual (12+5 MP), 4.000 mAh. Nunca lo había visto a este precio en esa versión de 128GB: Está a 249 euros en Banggood con el código 4F164G.
  • Impresora 3D Ender-3 Pro: una impresora 3D con tamaño de impresión de 220x220x250 mm, fuente de alimentación segura y extrusión mejorada. Perfecta para niños. Está a con 173 euros en AliExpress con este cupón.
  • Pendrive SanDisk Ultra Flair 128 GB: enorme capacidad para esta llave USB de almacenamiento con interfaz USB 3.0. Está a 17,39 euros en Amazon
  • Xiaomi Mi Notebook Air 13,3: un portátil ultraligero de 13,3″ Full HD, Core i5-8250U, 8 GB de RAM, 256 GB SSD, lector huella, salida HDMI. vuelve a estar a precio suculento, 629 euros en Banggood con el código 423710BG
  • SSD Kingston A400: una unidad de 240 GB perfecta para renovar o mejorar el almacenamiento en viejos PCs y portátiles. Fiable, rápida y con un precio absurdo: 29,60 euros en Amazon.
  • Pack 5 gomas Milan + Alpino: buena oferta para los niños, un pack con 5 gomas de borrar de caucho (no se comen, recordad), y 12 lápices de colores Alpino. Todo por 2,95 euros en Amazon (antes 4,12).
  • Monitor Lenovo L24e: que vivan los monitores baratos. Este modelo tiene una diagonal de 23,8″ y resolución Full HD (1920×1080). Conector VGA y HDMI, contraste 1000:1. Poco más se puede pedir por este precio de chollo: 99,99 euros en Amazon.
  • SSD SanDisk Ultra 1 TB: brutal esta unidad de 1 TB con velocidad de lectura de 535 MB/s. Está a 108,99 euros en Amazon.
  • Auriculares inalámbricos Sony MDR-XB950N1: con tecnología de cancelación de ruido y función extra bass, batería de hasta 22 horas. En España salen por 150 euros, pero están a 118 euros en Amazon Alemania envío incluido.
  • Mando a distancia universal por infrarrojos: un inventazo para controlarlo todo desde el móvil con esta «pasarela» en forma de pequeño disco que pones en línea de visión con tu tele, altavoz inteligente etc. Está a 12,69 euros en eBay (18 euros en Amazon).
  • 24 pilas Energizer AAA: un pack de 24 pilas alcalinas modelo E92, buena oferta por 7,98 euros en Amazon
  • Figuras Héroes Marvel 30 cm: ahora que se estrena #vengadoresendgame atentos a estas figuras de juguete con precios que parten de los 6,32 euros en AliExpress. En Amazon están a 25 euros, por ejemplo.
  • Xiaomi Mi A2 Lite: versión global, 5,84» Snapdragon 625, 3 GB de RAM, 32 GB capacidad (ampliable), cámara dual 12+5 MP, 4.000 mAh batería, Android One puro. Increíble que cueste 126,89 euros en Banggood con el cupón 4BGA2L3
  • Repetidor WiFi dodocool: para mejorar la cobertura de tu red WiFi, soporte de redes 802.11b/g/n, antena integrada, enchufe europeo. Está a 16,99 euros en Amazon.
  • Windows 10 Pro: una licencia para el sistema operativo de Microsoft a 2,99 euros. Te la mandan por correo junto a algunas instrucciones. Está a 2,99 euros en eBay, perfecta para esos equipos que se venden sin sistema operativo.
  • Xiaomi Mi 9: atentos, chicos. AMOLED 6,39” , Snapdragon 855, 6 GB de RAM, 64 GB de capacidad, huella dactilar en pantalla, carga inalámbrica y rápida, cámara triple (48+12+16 MP). Está a 401 euros en Banggood con el cupón 4BGM964. Otra alternativa: está a 449 en Amazon.
  • Auriculares inalámbricos Xiaomi AirDots TWS: los competidores de los AirPods de Apple con Bluetooth 5.0, 4 horas de autonomía y 12 más en el estuche, control táctil. Están a 22,74 euros en GearBest con el código 321U9GID
  • Xbox Game Pass 6 meses: en un pack de dos códigos digitales de 3 meses cada uno. Rebaja del 50% para este servicio que te permite jugar a cerca de 200 juegos de la Xbox One como si fueran tuyos. Mola, y está a 29,99 euros en Amazon.
  • Xiaomi Mi A2: la versión global de este móvil de 5,99″ con un Snapdragon 660, 4 GB de RAM, 32 GB de capacidad (no ampliables), cámara dual 12+20. Está a 131,60 euros en AliExpress con el código aliexpress19084. El modelo con 4/64 GB está en Amazon a 152 euros
  • Auriculares i12 TWS: unos auriculares inalámbricos BT 5.0 con control táctil, diseño «inspirado» (ja) en los AirPods. Están a 15,15 euros en GeekBuying con el cupón JJVWTEUK
  • Office 2019 Professional Plus: licencia para un PC, solo para Windows 10, licencia perpetua, envío del código de licencia por correo. Se dan instrucciones para descarga, instalación y aplicación. Está a 10,60 euros en Amazon.
  • Bolígrafo Xiaomi Mijia Pen + 3 recambios: el boli de 0,5 mm con tecnología suiza (o eso dicen) que enamora. Yo ya he comprado varios, y la verdad es que molan, y por este precio, más. El boli + tres recambios sale por 3,57 en AliExpress.
  • Huawei Honor 10 Lite: 6,21», CPU Kirin 710, 3 GB de RAM, 64 GB de capacidad (ampliables), cámara dual trasera (13+13 MP), frontal de 24 MP, 3.400 mAh, lector de huellas y hasta NFC para pagos móviles. Está a 194 euros en AliExpress con el cupón «plaza1«

¿Quieres recibir un correo de aviso cuando publique nuevas entradas?

Standard

19 comentarios en “GPGPU, una idea alucinante [actualizado]

  1. edge dice:

    Tu idea es como la de muchos: creer que las GPU son muy superiores a las CPU. Siendo sinceros, sí son superiores, pero porque están optimizados.

    Si te fijas, verás que todo lo que sea instrucciones multimedia o cálculo intensivo (muy parecidos) vuelan literalmente, pero son peores en interrupciones (acceso a todo lo que es el hardware, coordinación…).

    Hace poco me preguntaron por qué no se hacían ordenadores sólo con «nvidias» o «atis» (porque leyeron cosas como esta). Te animo a un artículo en el que lo expliques.

  2. nnarayann dice:

    Jeje, nada más que decir. Sólo que la verdad nunca se me hubiera ocurrido que se podría usar una GPU para otra cosa que no fuera para lo que están hechas y ahora que leo esto suena bastante lógico.

    En este mundillo se tiende siempre a optimizar todo al máximo y a no desperdiciar recursos, y esta era una potencia que estaba «desaprovechada», se podría decir, hasta ahora.

    Buen artículo!!.

  3. Josechu dice:

    Wenas… tengo una nvidia 8600GT, y no puedo utilizar el Badaboom… me dice que no tengo un sistema compatible CUDA… solo funciona con serie 9000 o que? Gracias

  4. gualfire dice:

    No os fiéis del Badaboom, está muy, muy verde. Yo tengo una geforce 8400M GS, que es compatible con CUDA (probado en linux). Pues he instalado en Vista dos versiones beta de badaboom y no logro que funcione. He probado como entradas DVD, «carpeta dvd», y fichero, y en ninguno de los casos consige arrancar la codificación, el programa se queda sin responder y hay que forzar su cierre.

  5. edge dice:

    ¡La leche, y yo que comentaba justo con el propósito contrario!

    Perdón si te he ofendido, comentaba con el interés de que expusieses un artículo informal (es lo que me gusta de tu blog) con las ventajas e inconvenientes reales de ambas vertientes.

    Y lo de Tesla no lo conocía ni de oídas, la primera noticia que tengo es esta.

    Caray, espero que tu último artículo no venga por mi.

  6. Las gráficas han dado un salto BRUTAL en los últimos años… aún recuerdo mi vieja S3 por PCI, a la que sustituí por una Asus con el Riva 128 en AGP… luego vino una Voodoo 4 (que aún funciona y tengo guardada), más tarde una Geforce 4 MX 440, una ATI 9600XT (que me vendieron como Pro y resultó ser superior… 😀 ), otra ATI 1950Pro (gran tarjetón que guardo como oro en paño) y por ultimo una NVidia 9600GT (la Asus Glaciator)…

    Y cuando me pongo a pensar en los juegos que ejecutaba en cada una, es para flipar con la evolución que han llevado a cabo…

    La idea de usar la GPU para algo más que los gráficos es sencillamente genial, y de hecho ya se empiezan a ver ejemplos en los que se usa una vieja gráfica para Físicas con Physx por su potencia aprovechable…

    Y ahora esto, usar la GPU para tareas del día a día en el PC… una forma de aprovechar mejor el HW que ya tenemos.

    Tan solo me queda una duda con tu ejemplo… cuando dices que pasaste la película a MP4, ¿a qué formato fue? ¿h.264? ¿DivX? ¿Xvid?…

    Lo digo porque me has despertado el gusanillo… 😀 … y como también tengo una 9600GT, estaba pensando en hacer yo también la comparativa entre este programa y pasar a DivX un DVD usando el DVDX en mi C2D 6300…

    Sobre que las GPUs den patadas a las CPUs… no lo voy a poner en duda, aunque como son arquitecturas distintas las comparativas no son fáciles. Estaría bien ver una comparativa del mismo sistema con CPU y con GPU… con tareas del día a día, por ver las diferencias…

    Un saludo. 🙂

  7. LC dice:

    Voy a dar una de cal y otra de arena, intentando ser lo mas educado posible.

    Javipas, eres sabio, porque rectificar es de sabio y lo has hecho con Edge, felicidades.

    Pero creo que deberias de investigar un poco mas el tema de las gráficas. Yo si conocia, algo, lo de Tesla y te digo mas o menos como Edge, las gráficas tienen mucha potencia en calculo numérico con cierto tipo de números, no sabria decirte ahora si con enteros o con coma flotante, obviamente, si en un proceso se utilizan ese tipo de números pues la gráficas ganan. Supongo que te acordaras cuando a los procesadores centrales no hacian los calculos rapiditos y se les ponia un coprocesador matemático, en definitiva un hard especializado en cálculos, y obviamente, si se escribia un programa para usar el «copro», pues volaba, comparado con la cpu principal, tambien puedes hacer programas aprovechando ciertos juegos de instrucciones de las cpu principales, aquello de las mmx, los sse o como se llamen, pero no se hace mucho, porque hay que empezar a preguntar al hard que tipo de instrucciones soporta, crear distinto código en función del juego de instrucciones especiales que usen, en fin, un follón.

    Por otra parte ten en cuenta que tu procesador central, cuando le dices que te pase la «peli» a mp4, esta haciendo bastante mas cosas aparte de esto, en el caso de la gráfica supongo que no hace solo lo de la peli pero casi.
    Cuando dicen que el código esta optimizado es cierto, tambien es verdad como tu lo dices, adaptado, si lo prefieres, pero es que esta adaptación es pensando en las especificadiones del hardware que tiene debajo, o sea, la gráfica y su especialización en cierto tipo de cálculos y su arquitectura. Probablemente esta adaptación sea a medias entre el programador y el compilador, a ti te parece C, vamos es C, pero el compilador (no creo que sea un interprete), hara virguerias para adaptarlo a código de la gráfica, o sea, que lo optimiza.

    En hard siempre se da la lucha entre especializacion y generalizacion, una máquina que se apoyó en la especializacion fue el Amiga y ahi lo tienes, muerto de asco, (te vendo mi Amiga 500), eso si, increible lo que hacia, llegaron los pc con su «cutre-hard» generalista y se lo comieron. En las consolas, la ps3 es un poco mas especializada y por tanto mas dificil de programar y la xbox 360 se la esta merendando con un hard mas general (PPC(+ o -) y grafica). Lo mismo paso, si no me equivoco, con la sega dreamcast y las consola de su generación, por eso te digo que siempre ocurre. Al final lo que ha pasado es que estas especialidades se integran en la cpu, y por lo tanto, pasa a generalizarse y se acabo el problema. En la actualidad no se que ocurrira por que el hard de las gráficas es tan potente que no se si volverá a pasar.

    Un saludo.

  8. Por ahí anda un programa que usa tarjetas Nvidia para acelerar la búsqueda de contraseñas. No tengo el enlace a mano, pero salió en kriptopolis. Lo que no me quedó claro es si usan cuda, pero los tipos logran incluso usar varias tarjetas en paralelo y dejan muy atrás a un Core Duo.

  9. Chemahm dice:

    Hola, creeis que seria factible sacar password WPA con el progrema «elcomsoft password recovery «, y varias GTX280 en SLI? Segun la pagina de elcomsoft con este software y usando las Nvidia se pueden sacar.

    ¿Algun documento o prueba de que esto es posible?, toy buscando pero no encuentro nada.

    Un saludo

  10. Pues haré la prueba, cuenta con ello… en cuanto me quite un marrón del curro.

    Sobre lo que comenta LC, efectivamente las arquitecturas son distintas… y las GPUs ganan en manejo de coma flotante por todas las unidades shader que montan. Por eso lo ideal sería un PC con CPU y otro con GPU y una buena tanda de test que pasarles… 😀

    Sobre lo del Amiga… no estoy de acuerdo, más que por la especialización, yo creo que al Amiga se lo cargaron por el enfoque que le dieron. Del Amiga recuerdo que te lo vendían para ‘jugar’ (aunque pudiese hacer más), y del PC que te lo vendían para trabajar (más serio).

    Además, en el mundo PC empezó a haber un gran desarrollo… del 8088 pasamos al 8086, de ahí al 286 y un año o dos ya estábamos en el 386… y al poco los 486, que en comparación con los primeros PCs eran mucho más potentes.

    Si el Amiga se hubiese enfocado para más que juegos, buscando un uso profesional, y hubiese mejorado tanto su HW en tan poco tiempo, otro gallo le hubiese cantado…

  11. Manuel, genial tu comparativa, enhorabuena, la enlazo en el post para actualizarlo. La verdad es que la CPU tarda bastante menos de lo que pensaba, pero aún así, ahorras la mitad de tiempo. ¡Buen trabajo!

  12. Hago un inciso tardío del comentario de JaviPas del 10 de Octubre de 2008 (perdón por el retraso) {

    El proceso de «traducción» de un lenguaje de alto nivel (pongamos C/C++) se lleva a cabo por un conjunto de procesadores de lenguaje y herramientas que a grosso modo se pueden dividir en:

    1. El preprocesador: se encarga de parsear el código fuente y resuelve las macros, defines, includes (librerías estáticas), inlines, que puede haber.

    2. El compilador: se encarga de traducir a código ensamblador nativo de la arquitectura el código de alto nivel. En este proceso, se realizan optimizaciones, reordenaciones de código, desenrrollado de bucles, sin alterar el significado semántico obviamente. La salida es el código objeto (instrucciones binarias).

    3. El linkador: se encarga de recoger todos los ficheros objeto (código objeto), introducir los stubs para acceso en tiempo de ejecución a librerías dinámicas y crear el ejecutable.
    }

    Moraleja: el compilidador SI que optimiza código para la GPU.

    Ala, a pasarlo bien.

Comentarios cerrados