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. Aprovecha, que no suelen durar mucho tiempo:

  • Xiaomi Mi A2 Lite: el telefonazo chollo por excelencia, 5,84 pulgadas, Snapdragon 625, 4 GB de RAM, 64 GB de capacidad, cámara dual 12+5 MP, batería de 4.000 mAh, sin NFC eso sí pero aún así triunfada. Atentos porque el modelo de 3 GB y 32 GB es impresionante en precio: 133,63 euros en Banggood con Banggood.
  • Consola PS4 Slim reacondicionada: la consola de 500 GB con un mando reacondicionada con la garantía de Amazon, está a 164,74 euros en Amazon Alemania gastos de envío incluidos, alucinante. Corred. Si queréis ir a más, la PS4 Pro de 1 TB nueva está a 316 euros en Amazon Francia gastos de envío incluidos.
  • iPhone Xr: el telefonazo de Apple en su modelo de 64 GB con el A12 Bionic y su pantalla de 6,1 pulgadas está a 749 euros en eBay.
  • Reloj Casio F-91W: un súper clásico de Casio con cronómetro, alarma, calendario y duración de batería de, atención, 7 años. AÑOS. Básico y maravilloso por 8,88 euros en Amazon. Ríete tú de los relojes inteligentes.
  • Monitor Gaming Acer Predator 27 pulgadas: una maravilla de monitor que en PC Componentes está por 699 euros. Atentos: 27 pulgadas resolución 2560×1440, LED IPS, contraste 1000:1, formato 16:9, soporta frecuencias de hasta 144 Hz. Una pasada que está a 499 euros en Amazon. A darse el capricho tocan.
  • Samsung Galaxy Note 9: el telefonazo con S-Pen está de rebajas. Pantalla de 6,4 pulgadas, Exynos 9810 Octa, 6 GB de RAM, 128 GB de capacidad (ampliables), cámara dual 12+12 Mpíxeles y una batería de 4.000 mAh. Difícil pedir más, y está a 609 euros en eBay.
  • Nokia X6: un smartphone curioso con pantalla de 5,8 pulgadas, Snapdragon 636, 6 GB de RAM, 64 GB de ROM, cámara dual 16+5 y un precio estupendo, 174 euros en GearBest con el cupón QY1LR09729.
  • Portátil Xiaomi Mi Air: el equipo que rivaliza con los grandes fabricantes del mercado a menor precio vuelve a ponerse interesante. Pantalla de 13,3 pulgadas, Core i5-8250U, 8 GB de RAM, 256 GB de SSD, lector de huellas, está a 626 euros en Banggood con el cupón 1B2G11710.
  • LG G7 ThinQ: un señor telefonazo con una cámara que impresiona. Pantalla de 6,1 pulgadas 2K, Snapdragon 845, 4 GB de RAM, 64 GB de capacidad, cámara dual 16+16 MP, está a 412 euros en Amazon.
  • Monitor BenQ GW2270H 21,5 pulgadas: un monitor 1080p de 21,5 pulgadas con conexión dual HDMI por 118 euros en Amazon. Y si queréis ir a un monitor gaming, el BenQ XL2411P ZOWIE con soporte de 144 HZ está a 246 euros en Amazon.
  • Tablet Amazon Fire HD 10: una tableta de 10 pulgadas 1080p con 32 GB de capacidad y un precio estupendo: 113 euros en Amazon Alemania, envío incluido.
  • Monitor LG 29 pulgadas: un monitor panorámico 21:9 con resolución 2560×1080, conectores HDMI, Display Port y USB-C y soporte AMD FreeSync, está a 219 euros en Amazon.
  • Ratón Logitech G402: para jugones, con 8 botones programables, está a 28,99 euros en Amazon.
  • Monitor LG 38 pulgadas: esta maravilla ultrawide con formato 21:9, diagonal de 38 pulgadas y resolución de 3.840 x 1.600 píxeles es una pasada si necesitáis área horizontal a lo bestia. Tiene dos altavoces estéreo de 10W y 2 HDMI, 1 DisplayPort, 1 USB-C y 2 USB 3.0. Está a 859,99 euros en Amazon.
  • Altavoz Bluetooth Sony SRSXB31B: un modelo que además de contar con extra Bass, y modo fiesta cuenta con resistencia al agua y al polvo, hasta 24 horas de autonomía y un sistema de iluminación simpático. Está a 89,91 euros en Amazon, casi la mitad de su precio normal.
  • Zotac NVIDIA GeForce RTX 2070: una de las gráficas más potentes del momento y con ese plus de la arquitectura Turing de NVIDIA que puede ser interesante (más en el futuro que ahora). Está a 499,99 euros en Amazon Alemania.
  • Linksys Velop Intelligent Mesh: para garantizarte cobertura WiFi en casa, este conjunto de tres nodos AC3600 con banda dual es una chulada, está a 179 euros en Amazon.
  • PlayStation PSVR: las gafas de realidad virtual de la PS4 con la cámara y el juego VR Worlds están a 186 euros en Amazon Italia, envío incluido.
  • Portátil gaming Medion Erazer P6705: con pantalla de 15,6 pulgadas 1080p, un Core i5-8300H, 8 GB de RAM, 1 TB de disco, 128 GB de SSD, una GTX 1050 Ti para darle vida a los juegos y Windows 10. Teclado en español, por cierto. Está a  749 euros en Amazon.
  • Samsung Galaxy S9: el telefonazo de Samsung con un Exynos 9810 Octa (equivalente al Snapdragon 845), 4 GB de RAM, 64 GB de capacidad, y cámara estupenda, aunque sea una sola, de 12 MP. Está a 509,99 euros en Amazon.
  • Xiaomi Mi 8 (Global): con dos años de garantía en España, envío inmediato. Pantalla AMOLED de 6,21 pulgadas FHD+, Snapdragon 845, 6 GB de RAM, 64 GB de capacidad, cámara trasera 12+12 MP, cámara frontal de 20 MP, lector de huellas trasero, batería de 3.400 mAh. Está en color azul a 328,52 euros en GearBest y en color negro a 328,52 euros en GearBest. Desactivad el seguro de envío, ya sabéis. En Amazon está a 379 euros, por si preferís esta opción.
  • OnePlus 6T: el telefonazo de este fabricante (análisis) está a precio más que interesante. Con pantalla de 6,44 pulgadas con “mini-notch”, Snapdragon 845, 6 GB de memoria, 128 GB de capacidad, batería de 3,700 mAh, cámara trasera dual de 20+16 MP, cámara frontal de 20 MP, lector de huella integrado en pantalla. Está a 506,10 euros en GearBest, impresionante. Mola además que tienen 2 años de garantía en España.
  • Unidad SSD Crucial BX300: una unidad de 120 GB con prestaciones estupendas y que sale por un precio ridículo: 25,99 euros en Amazon.
  • Unidad SSD Samsung 970 EVO: genial con 250 GB y velocidades de transferencia brutales: está a 72,99 euros en Amazon, nunca la vi tan barata. Es la que tengo en mi PC, y me salió a 95 euros como súper ganga, así que imaginad. La versión de 500 GB está a 119,98 euros, gran precio también.
  • Motorola One: un smartphone basado en Android One con pantalla de 5,9 pulgadas, un Snapdragon 625, 4 GB de RAM, 64 GB de capacidad, cámara dual 13+13 MP. Está a 269 euros en Amazon.
  • Patinete Eléctrico Ninebot ES1 No. 9: otro patinete similar al anterior pero algo menos potente. Hasta 20 km/h y hasta 25 km de autonomía, muy bien también por su precio, 277,92 euros en GearBest con el cupón GB12ES1 con dos años de garantía en España. Desactivad el seguro de envío, eso sí.
  • Tarjeta gráfica Zotac GeForce GTX 1060 6 GB: una gráfica estupenda para animar vuestras sesiones de gaming. Está a 230 euros en Amazon Alemania, gastos de envío incluidos.
  • Smartwatch Huawei Watch 2: con WiFi y 4G nada menos, este reloj tiene también GPS, Wear OS 2.0 para gobernarlo y un precio fantástico de 199,99 euros en Amazon. Brutal por lo que ofrece, os lo aseguro que lo sé de buena tinta: lo analicé hace tiempo.
  • Televisión Haier 4K 55 pulgadas: vale que no es una marca top, pero tener una Smart TV de 55 pulgadas con resolución  4K/UHD (sin HDR, parece por lo que he visto) por este precio es de locos. Cuenta con Netflix preinstalado, WiFi y TDT2, además de altavoces con soporte Dolby Digital+. Se envía desde UK con garantía de Haier, y está a 365,32 euros en Banggood EU con el cupón e2bcea.
  • PocoPhone F1: telefonazo que Xiaomi se acaba de sacar de la manga. Un Snapdragon 845, 6 GB de RAM, 64 GB de capacidad
    (ampliables), pantallón de 6,18 pulgadas y dos cámaras de 12+5 Mpíxeles, además de batería de 4.000 mAh y conector de auriculares. Si no os importa que no tenga NFC, compra estrella de la temporada, sobre todo a este precio. La edición de 6 GB y 64 GB de capacidad está a 259,05 euros en AliExpress, uauh.
  • Xiaomi Mi 8 Pro: la versión más brutal del telefonazo de Xiaomi: 6,21 pulgadas, el célebre diseño con la carcasa semitransparente (de pega, pero es curiosa), Snapdragon 845, 8 GB de RAM, 128 GB de capacidad, cámara dual de 12+12 MP, cámara frontal de 20 MP, sensor de huella bajo la pantalla, en fin, de todo. Está a 452,83 euros en GearBest.
  • Unidad SSD Netac 480 GB: mucho más barata que las que os pongo al final, casi medio terabyte a precio de 200 GB en unidades de marcas reputadas. Difícil no sentirse tentado porque cuesta 48,961 euros en JoyBuy. Para que veáis la diferencia, la Samsung 860 Evo de 250 GB (casi la mitad de capacidad) cuesta más: está a 56,90 euros en Amazon… y este último no es mal precio. El otro es ya la locura, aunque la marca, claro, no es muy conocida.

¿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