DOI:

https://doi.org/10.14483/23448393.15634

Publicado:

2020-12-19

Número:

Vol. 26 Núm. 1 (2021): Enero-Abril

Sección:

Ingeniería Eléctrica y Electrónica

Análisis de desempeño de capas de CNN para arquitecturas heterogéneas basadas en FPGA usando HLS

Performance analysis of CNN layers forheterogeneous FPGAs-based architectures usingHLS

Autores/as

Descargas

Resumen (es)

Contexto: Las redes neuronales convolucionales (CNN, por sus siglas en inglés de Convolutional Neural Networks) son actualmente utilizadas en una amplia gama de aplicaciones de inteligencia artificial. En muchos casos las aplicaciones requieren la ejecución de la red neuronal en tiempo real, por esto el interés en que estas aplicaciones puedan alcanzar un buen desempeño con bajo consumo de potencia. Las CNN realizan operaciones entre los datos de entrada y los pesos de la red con la particularidad de que no existe dependencia entre la mayoría de las operaciones. Por tal motivo, el paralelismo inherente de los FPGA (por sus siglas en inglés de Field Programmable Gate Array) puede ser usado para realizar múltiples operaciones en paralelo, manteniendo el buen desempeño por vatio que caracteriza a estos dispositivos. Este trabajo se enfoca en la evaluación del algoritmo de convolución para una capa convolucional de redes neuronales, explorando directivas de paralelización a través del uso de Vivado HLS, cuyo objetivo es evaluar el desempeño del algoritmo utilizando directivas de optimización.
Método: La metodología consiste en realizar una exploración del espacio de diseño de la implementación de una capa de una red neuronal convolucional usando Vivado HLS. La verificación del funcionamiento sobre el FPGA fue realizada comparando los datos de salida con el mismo algoritmo de convolución implementado en MATLAB. Una capa de la versión comercial Xilinx DNNK fue usada como referencia para las medidas de desempeño de las diferentes implementaciones obtenidas en la exploración del espacio de diseño. En este trabajo se utilizan múltiples variaciones de directivas de optimización tales como pipeline, array partition y unroll.
Resultados: Este trabajo presenta los resultados de una implementación de referencia (sin directivas de optimización) del algoritmo de convolución con respecto a la latencia del algoritmo y los recursos de hardware utilizados por la FPGA. Los resultados se comparan con implementaciones del algoritmo incluyendo diferentes combinaciones de dos directivas de optimización (pipeline y partición array).

Conclusiones: Este trabajo realiza la exploración del espacio de diseño de un algoritmo de convolución para una capa de red neuronal convolucional sobre FPGA. La exploración incluye el efecto causado por la transferencia de los datos entre la memoria DDR y la memoria on-chip del FPGA, también, el efecto causado por las directivas de optimización en Vivado HLS sobre los diferentes ciclos del algoritmo.

Palabras clave: Convolución, directivas de optimización, FPGA, red neuronal convolucional, síntesis
de alto nivel.

Agradecimientos: Este trabajo se enmarca dentro del proyecto” Mejora de la percepción visual en robots humanoides para el reconocimiento de objetos en entornos naturales mediante aprendizaje profundo” con código P17224, cofinanciado por el Instituto Tecnológico Metropolitano y la Universidad de Antioquia. Mateo Guerra agradece al programa “Jóvenes Investigadores e Innovadores ITM” del Instituto Tecnológico Metropolitano (ITM).

Resumen (en)

Context: Convolutional neural networks (CNNs) are currently used in a wide range of artificial intelligence applications. In many cases, the applications require the execution of the neural network in real-time on embedded devices. Therefore, the interest in these applications can achieve excellent performance with low power consumption. The CNNs perform operations between the input data and the network weights, with the particularity that there is no dependency between most of the operations. Thus, the inherent parallelism of FPGAs can be used to perform multiple operations in parallel, maintaining good performance per watt that characterizes these devices. This paper focuses on evaluating the convolution algorithm for a convolutional layer of neural networks by exploring parallelization directives using VIVADO HLS and aims to evaluate the performance of the algorithm using optimization directives.

Method: The methodology consists of an exploration of the design space of a convolutional neural network layer implementation using VIVADO HLS. Performance verification on the FPGA was performed by comparing the output data with the same convolution algorithm implemented in MATLAB. A layer of the commercial version Xilinx DNNK was used as a reference for performance measurements of the different implementations obtained in the design space exploration. In this work, multiple variations of optimization directives such as Pipeline, Array partition and Unroll are used.

Results: This paper presents the results of a reference implementation (without optimization directives) of the convolution algorithm concerning the algorithm latency and the hardware resources used by the FPGA. The results are compared with the implementations of the algorithm, including different combinations of two optimization directives (pipeline and partition array).

Conclusions: This work explores the design space of a convolution algorithm for a convolutional neural network layer on FPGAs. The exploration includes the effect of data transfer between DDR memory and on-chip memory of the FPGA. Also, the effect is caused by the optimization directives in Vivado HLS on the different cycles of the algorithm.

Keywords: Convolution, convolutional neural network, FPGA, high-level synthesis, optimization directives.

Acknowledgements: This work was supported in part by the Autom´atica, Electr´onica y Ciencias Computacionales Group (COL0053581) - Instituto Tecnol´ogico Metropolitano and in part by Sistemas Embebidos e Inteligencia Computacional Group (COL0010717) - Universidad de Antioquia under Grant P17224.

Cómo citar

APA

Guerra Londono, M., Alzate Anzola, C. C., Castano Londono , L. F., Marquez Viloria, D. A., & Velasquez Velez, R. A. (2020). Análisis de desempeño de capas de CNN para arquitecturas heterogéneas basadas en FPGA usando HLS. Ingeniería, 26(1). https://doi.org/10.14483/23448393.15634

ACM

[1]
Guerra Londono, M., Alzate Anzola, C.C., Castano Londono , L.F., Marquez Viloria, D.A. y Velasquez Velez, R.A. 2020. Análisis de desempeño de capas de CNN para arquitecturas heterogéneas basadas en FPGA usando HLS. Ingeniería. 26, 1 (dic. 2020). DOI:https://doi.org/10.14483/23448393.15634.

ACS

(1)
Guerra Londono, M.; Alzate Anzola, C. C.; Castano Londono , L. F.; Marquez Viloria, D. A.; Velasquez Velez, R. A. Análisis de desempeño de capas de CNN para arquitecturas heterogéneas basadas en FPGA usando HLS. Ing. 2020, 26.

ABNT

GUERRA LONDONO, M.; ALZATE ANZOLA, C. C.; CASTANO LONDONO , L. F.; MARQUEZ VILORIA, D. A.; VELASQUEZ VELEZ, R. A. Análisis de desempeño de capas de CNN para arquitecturas heterogéneas basadas en FPGA usando HLS. Ingeniería, [S. l.], v. 26, n. 1, 2020. DOI: 10.14483/23448393.15634. Disponível em: https://revistas.udistrital.edu.co/index.php/reving/article/view/15634. Acesso em: 13 abr. 2021.

Chicago

Guerra Londono, Mateo, Cristian Camilo Alzate Anzola, Luis Fernando Castano Londono, David Andres Marquez Viloria, y Ricardo Andres Velasquez Velez. 2020. «Análisis de desempeño de capas de CNN para arquitecturas heterogéneas basadas en FPGA usando HLS». Ingeniería 26 (1). https://doi.org/10.14483/23448393.15634.

Harvard

Guerra Londono, M., Alzate Anzola, C. C., Castano Londono , L. F., Marquez Viloria, D. A. y Velasquez Velez, R. A. (2020) «Análisis de desempeño de capas de CNN para arquitecturas heterogéneas basadas en FPGA usando HLS», Ingeniería, 26(1). doi: 10.14483/23448393.15634.

IEEE

[1]
M. Guerra Londono, C. C. Alzate Anzola, L. F. Castano Londono, D. A. Marquez Viloria, y R. A. Velasquez Velez, «Análisis de desempeño de capas de CNN para arquitecturas heterogéneas basadas en FPGA usando HLS», Ing., vol. 26, n.º 1, dic. 2020.

MLA

Guerra Londono, M., C. C. Alzate Anzola, L. F. Castano Londono, D. A. Marquez Viloria, y R. A. Velasquez Velez. «Análisis de desempeño de capas de CNN para arquitecturas heterogéneas basadas en FPGA usando HLS». Ingeniería, vol. 26, n.º 1, diciembre de 2020, doi:10.14483/23448393.15634.

Turabian

Guerra Londono, Mateo, Cristian Camilo Alzate Anzola, Luis Fernando Castano Londono, David Andres Marquez Viloria, y Ricardo Andres Velasquez Velez. «Análisis de desempeño de capas de CNN para arquitecturas heterogéneas basadas en FPGA usando HLS». Ingeniería 26, no. 1 (diciembre 19, 2020). Accedido abril 13, 2021. https://revistas.udistrital.edu.co/index.php/reving/article/view/15634.

Vancouver

1.
Guerra Londono M, Alzate Anzola CC, Castano Londono LF, Marquez Viloria DA, Velasquez Velez RA. Análisis de desempeño de capas de CNN para arquitecturas heterogéneas basadas en FPGA usando HLS. Ing. [Internet]. 19 de diciembre de 2020 [citado 13 de abril de 2021];26(1). Disponible en: https://revistas.udistrital.edu.co/index.php/reving/article/view/15634

Descargar cita

Visitas

168

Dimensions


PlumX


Descargas

Los datos de descargas todavía no están disponibles.