Eficiente organización de memoria para la implementación de acelerador de hardware DNN en PSoC
Autores: Rios-Navarro, Antonio; Gutierrez-Galan, Daniel; Dominguez-Morales, Juan Pedro; Piñero-Fuentes, Enrique; Duran-Lopez, Lourdes; Tapiador-Morales, Ricardo; Dominguez-Morales, Manuel Jesús
Idioma: Inglés
Editor: MDPI
Año: 2021
Acceso abierto
Artículo científico
2021
Eficiente organización de memoria para la implementación de acelerador de hardware DNN en PSoC
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Aprendizaje profundo
Aceleradores de hardware
Transferencias de datos
Dispositivos híbridos
FPGA
Organización de memoria
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 29
Citaciones: Sin citaciones
El uso de soluciones de aprendizaje profundo en diferentes disciplinas está aumentando y sus algoritmos son computacionalmente costosos en la mayoría de los casos. Por esta razón, han aparecido numerosos aceleradores de hardware para calcular sus operaciones de manera eficiente en paralelo, logrando un mayor rendimiento y menor latencia. Estos algoritmos necesitan grandes cantidades de datos para alimentar cada una de sus capas de cálculo, lo que hace necesario manejar eficientemente las transferencias de datos que alimentan y recopilan la información hacia y desde los aceleradores. Para la implementación de estos aceleradores, se utilizan ampliamente dispositivos híbridos, que tienen una computadora integrada, donde se puede ejecutar un sistema operativo, y una matriz de compuertas programable en campo (FPGA), donde se puede implementar el acelerador. En este trabajo, presentamos una API de software que organiza eficientemente la memoria, evitando la reasignación de datos de una área de memoria a otra, lo que mejora el controlador nativo de Linux con un aumento de velocidad del 85% y reduce el tiempo de cálculo del marco en un 28% en una aplicación real.
Descripción
El uso de soluciones de aprendizaje profundo en diferentes disciplinas está aumentando y sus algoritmos son computacionalmente costosos en la mayoría de los casos. Por esta razón, han aparecido numerosos aceleradores de hardware para calcular sus operaciones de manera eficiente en paralelo, logrando un mayor rendimiento y menor latencia. Estos algoritmos necesitan grandes cantidades de datos para alimentar cada una de sus capas de cálculo, lo que hace necesario manejar eficientemente las transferencias de datos que alimentan y recopilan la información hacia y desde los aceleradores. Para la implementación de estos aceleradores, se utilizan ampliamente dispositivos híbridos, que tienen una computadora integrada, donde se puede ejecutar un sistema operativo, y una matriz de compuertas programable en campo (FPGA), donde se puede implementar el acelerador. En este trabajo, presentamos una API de software que organiza eficientemente la memoria, evitando la reasignación de datos de una área de memoria a otra, lo que mejora el controlador nativo de Linux con un aumento de velocidad del 85% y reduce el tiempo de cálculo del marco en un 28% en una aplicación real.