Creo que todos estamos de acuerdo en que la industria del software se ha quedado un poco estancada cuando se trata de aprovechar el hardware actual, sobre todo en el caso de los microprocesadores con múltiples núcleos y de las múltiples unidades de cálculo de los GPUs con cada vez más modernos entornos de programación que hagan ello posible. Resulta que un grupo de investigadores del Artificial Intelligence Lab and Computer Science del Massachusetts Institute of Technology (MIT CSAIL) han desarrollado un nuevo lenguaje de programación al que denominan Halide, el cual está orientado al procesamiento de imágenes en entornos multi-núcleo, y a la vez es facilita las tareas de escribir/probar el código y es capaz de optimizarlo automáticamente.
Según sus análisis al migrar el código de una aplicación al lenguaje Halide resulta en código un 30% más largo que el de los lenguajes tradicionales, pero compensa ello ofreciendo un rendimiento 2, 3, 6 y en algunos casos hasta 70 veces más veloz. Lo cual es simplemente impresionante.
El secreto detrás del nuevo lenguaje reside en su diseño modular, el cual consta con dos secciones: una para los algoritmos de propósito general y otra para el planificador de procesos (scheduler), este último con comandos que permiten modificarlo sobre la marcha y sin que se requiera modificar el código del programa; permitiendo experimentar múltiples y nuevas ideas sin la necesidad de verificar ni reescribir el programa.
Gracias a la construcción modular de Halide, es posible migrar las aplicaciones desarrolladas con él a nuevas plataformas simplemente cambiando el módulo scheduler, convirtiendo a Halide en un entorno multi-plataforma.
Sin dudas una gran noticia, y esperemos no quede solo en eso y podamos ver en un futuro cercano los beneficios de dicho descubrimiento.
Fuente: Xtreview