La revolución GPGPU es más como un giro lento.

Si usted es un usuario doméstico promedio, ¿qué ha hecho GPGPU por usted además de proporcionar otro punto de bala en la caja del fabricante de una tarjeta gráfica??

La verdad es que la informática profesional de alto rendimiento que se ofrece a través de GPGPU es un gran negocio. Alrededor de un cuarto de la facturación de $ 1 billón de Nvidia proviene de servicios 'profesionales', si sabe a qué nos referimos. Y nos referimos a la super computación. Para aplicaciones específicas, a menudo la representación en 3D y el modelado científico, las granjas de procesamiento en red de GPGPU proporcionan una manera rentable de entregar una potencia de cómputo masiva.

  • El pasado, presente y futuro de la tecnología multi-GPU.

En los días pasados, si deseaba grandes cantidades de poder de procesamiento, se dedicaría a empresas como IBM o Cray con su talonario de cheques abierto, y continuaría con el diseño de sistemas de supercomputadores personalizados con enfriamiento criogénico. Hoy en día, los componentes estándar pueden hacer el mismo trabajo gracias a las soluciones de software a medida..

Todo este arduo trabajo de desarrollo finalmente llega a los usuarios individuales como usted y como yo..

La mala noticia, dependiendo de su perspectiva, es que incluso después de haber sido distribuidas, las herramientas de GPGPU tienden a estar muy sesgadas en términos matemáticos. Genial si amas las matemáticas, pero a quién le gusta?

Hacer las matematicas

Las matemáticas no son algo malo; En última instancia, los juegos 3D son matemáticas en forma de transformaciones matriciales. Es solo que cualquier función GPGPU necesita trabajar en un nivel similar. Esto limita las aplicaciones hasta que la bifurcación condicional se convierte en la corriente principal, lo que está sucediendo, pero lentamente.

Desde la otra dirección, la mayoría de los programas GPGPU son compatibles con todas las tarjetas. Con la excepción de las compilaciones dedicadas de Nvidia CUDA, la principal diferencia es la cantidad de trabajo que puede realizar la tarjeta, y por lo tanto su máxima velocidad máxima. En algunos casos, es muy posible que una tarjeta gráfica más antigua pueda ser superada por un procesador más moderno, a pesar de que nuestras pruebas de codificación todavía vieron que un Nvidia 6600 GT relativamente pobre funcionaba relativamente bien..

Entonces, ¿qué programas puede encontrar que aprovechen sus sombreadores de GPU perezosos y buenos para nada? Bueno, para empezar, WinZip ofrece aceleración OpenCL para comprimir y descomprimir archivos con un aumento del 20-30% en la velocidad..

Uno de los usos originales, y uno que sigue siendo fuerte, es descifrar el cifrado y las contraseñas. Echa un vistazo a CRARk. Un juego inteligente en Crack RAR, este programa de línea de comandos de apariencia poco amigable es, de hecho, un descifrador de contraseñas RAR hardcore, que utiliza GPGPU para aumentar 20 veces la velocidad de ataque. Usando su modo de referencia, las comprobaciones de contraseña saltaron de 283 por segundo a 4,281 por segundo. Dudamos que sea particularmente útil, pero es un ejemplo real de lo que se puede lograr. Si quieres algo un poco más fácil de usar, prueba la recuperación paralela.

Otro viejo pero bueno es Folding @ Home. Esta fue, y sigue siendo, una de las aplicaciones más conocidas de GPGPU, que se hizo muy famosa al aprovechar el procesador PlayStation 3 Cell. Igualmente inteligente es el sistema de modelado distribuido que distribuye las tareas de trabajo a los sistemas individuales. Sin embargo, a pesar de su inteligencia y el hecho de que podría estar ayudando a la humanidad a avanzar, Folding @ Home en realidad no hace nada práctico..

Usos prácticos

El primer programa realmente útil es Musemage, un procesador de imágenes escrito desde cero en torno a la aceleración de GPGPU. Esto lo hace muy rápido y le permite aplicar filtros, efectos y manipulaciones de imagen en tiempo real. Es un paquete impresionantemente rápido, y es interesante cómo un poco de carga en la GPU hace una gran ganancia en el rendimiento del programa. Por ejemplo, ajustar los niveles de desenfoque agrega solo un 5 por ciento de carga GPGPU.

Lo mismo está llegando a GIMP a través de una tecnología llamada GEGL, pero esto no se debe implementar completamente hasta la versión 2.10. Se habló de su implementación parcial en ciertos filtros para 2.8 RC1, pero eso parece no estar disponible por ahora..