Compiling Algorithms for Heterogeneous Systems
La mayoría de las aplicaciones emergentes en el campo de la imagen y el aprendizaje automático deben realizar ingentes cantidades de cálculos respetando estrictos límites de energía y potencia. Para alcanzar estos objetivos, los arquitectos están construyendo motores informáticos cada vez más especializados y adaptados a estas tareas específicas. Los sistemas informáticos resultantes son heterogéneos y contienen múltiples núcleos de procesamiento con modelos de ejecución muy diferentes. Por desgracia, el coste de producción de este hardware especializado -y del software para controlarlo- es astronómico. Además, la tarea de portar algoritmos a estas máquinas heterogéneas suele requerir que el algoritmo se particione en toda la máquina y se reescriba para cada arquitectura específica, lo que lleva mucho tiempo y es propenso a errores.
En los últimos años, los autores han abordado este problema utilizando lenguajes específicos de dominio (DSL): lenguajes de programación de alto nivel adaptados a dominios específicos, como la manipulación de bases de datos, el aprendizaje automático o el procesamiento de imágenes. Al renunciar a la generalidad, estos lenguajes son capaces de proporcionar abstracciones de alto nivel al desarrollador, al tiempo que producen resultados de alto rendimiento. El propósito de este libro es estimular la adopción y la creación de lenguajes específicos de dominio, especialmente para la tarea de crear diseños de hardware.
En el primer capítulo, un breve recorrido histórico explica las fuerzas que impulsan la arquitectura de ordenadores en la actualidad. En el capítulo 2 se describen los distintos métodos de diseño de aceleradores, el impulso hacia una mayor abstracción y las herramientas que permiten a los diseñadores trabajar a un nivel conceptual superior. A partir de ahí, el Capítulo 3 ofrece una breve introducción a los algoritmos de procesamiento de imágenes y a los patrones de diseño de hardware para implementarlos. Los capítulos 4 y 5 describen y comparan Darkroom y Halide, dos lenguajes de dominio específico creados para el procesamiento de imágenes que producen diseños de alto rendimiento tanto para FPGA como para CPU a partir del mismo código fuente, lo que permite ciclos de diseño rápidos y una rápida portabilidad de algoritmos. La última sección describe cómo el enfoque DSL también simplifica el problema de la interfaz entre el código de la aplicación y el acelerador al generar la pila de controladores además de la configuración del acelerador.
Este libro debería servir como una útil introducción a la informática especializada en dominios para estudiantes de arquitectura informática y como un manual básico sobre lenguajes específicos de dominios y hardware de procesamiento de imágenes para aquellos con más experiencia en el campo.
© Book1 Group - todos los derechos reservados.
El contenido de este sitio no se puede copiar o usar, ni en parte ni en su totalidad, sin el permiso escrito del propietario.
Última modificación: 2024.11.14 07:32 (GMT)