Mostrar el registro sencillo del ítem
dc.contributor.advisor | Alonso Jordá, Pedro | es_ES |
dc.contributor.advisor | Dolz Zaragozá, Manuel Francisco | es_ES |
dc.contributor.author | Cuadrillero Geer, Duero Joshua | es_ES |
dc.date.accessioned | 2021-12-28T09:39:24Z | |
dc.date.available | 2021-12-28T09:39:24Z | |
dc.date.created | 2021-12-13 | |
dc.date.issued | 2021-12-28 | es_ES |
dc.identifier.uri | http://hdl.handle.net/10251/179017 | |
dc.description.abstract | [ES] Los avances en el diseño y desarrollo de redes neuronales convolucionales profundas, así como el incremento de la precisión de las mismas en el campo de la visión artificial, ha supuesto su amplia adopción en un gran abanico de aplicaciones inteligentes. La mayoría de dispositivos móviles y empotrados, ya sea en forma de teléfono móvil, tableta, sistema de navegación, sistemas empotrado o robot, incorporan procesadores ARM y requieren la ejecución eficiente y consciente del consumo este tipo de redes neuronales. Desde el punto de vista computacional, la fase de inferencia de las redes neuronales convolucionales se puede resumir mayormente en la realización de dos operaciones básicas: la multiplicación de matrices, para el procesamiento de capas completamente conectadas, y la convolución, para el procesamiento de capas convolucionales. En este trabajo se aborda el desarrollo y la paralelización del algoritmo de convolución rápida de Winograd, una variante de esta operación basada en transformaciones y que tiene como objetivo de maximizar el rendimiento de la fase de inferencia a costa de reducir el número de operaciones realizadas. En concreto, el trabajo detalla las implementaciones y optimizaciones llevadas a cabo para aprovechar la naturaleza del algoritmo rápido de convolución sobre procesadores ARM y se compara con la convolución directa y en los basados en transformaciones im2col o im2row, seguidas de una multiplicación de matrices. La implementación desarrollada en este trabajo explora, además, distintas versiones vectorizadas y paralelas del algoritmo basadas en el uso de funciones intrínsecas de ARM-NEON y en el entorno de programación paralelo OpenMP. | es_ES |
dc.description.abstract | [EN] The ongoing progress on deep convolutional neural networks and their important role in artificial vision has made their role relevant in a vast number of smart applications. A large portion of mobile and embedded systems, be it in the shape of mobile phones, tablets, navigation systems, embedded systems or robots, currently make use of ARM microprocessors and require constant and efficient use of the before mentioned neural networks. From a computational point of view, convolutional neural network make use of two main operations: matrix multiplication for fully connected layers and the convolution operation for convolutional layers. This document will go over the development of a parallel convolution using Winograd's method for fast convolution. This method seeks to maximize performance, making use of various transformations that decrease the amount of calculations needed to perform a convolution. In more detail, this document will document various possible implementations and optimizations which will try and exploit the nature of this algorithm on ARM processors. These versions are later compared with other fast convolution techniques, as are im2row or im2col. The documented implementation will also go over a vectorized implementation based on ARM-NEON intrinsic functions and a thread based parallel implementation using Openmp. | es_ES |
dc.format.extent | 50 | es_ES |
dc.language | Español | es_ES |
dc.publisher | Universitat Politècnica de València | es_ES |
dc.rights | Reserva de todos los derechos | es_ES |
dc.subject | Redes neuronales | es_ES |
dc.subject | Convolución | es_ES |
dc.subject | Winograd | es_ES |
dc.subject | ARM | es_ES |
dc.subject | NEON | es_ES |
dc.subject | OpenMP | es_ES |
dc.subject | SoC bajo consumo | es_ES |
dc.subject | NVIDIA Jetson | es_ES |
dc.subject | Neural networks | es_ES |
dc.subject | Convolution | es_ES |
dc.subject | Energy efficient devices | es_ES |
dc.subject | Winograd algorithm | es_ES |
dc.subject | Basic Linear Algebra Subprograms (BLAS) | es_ES |
dc.subject | BLAS-like Library Instantiation Software (BLIS) | es_ES |
dc.subject.classification | CIENCIAS DE LA COMPUTACION E INTELIGENCIA ARTIFICIAL | es_ES |
dc.subject.other | Máster Universitario en Computación en la Nube y de Altas Prestaciones / Cloud and High-Performance Computing-Màster Universitari en Computació en Núvol i d'Altes Prestacions / Cloud and High-Performance Computing | es_ES |
dc.title | Desarrollo y paralelización del algoritmo de convolución rápida de Winograd sobre plataformas ARM de bajo consumo. | es_ES |
dc.type | Tesis de máster | es_ES |
dc.rights.accessRights | Abierto | es_ES |
dc.contributor.affiliation | Universitat Politècnica de València. Departamento de Sistemas Informáticos y Computación - Departament de Sistemes Informàtics i Computació | es_ES |
dc.description.bibliographicCitation | Cuadrillero Geer, DJ. (2021). Desarrollo y paralelización del algoritmo de convolución rápida de Winograd sobre plataformas ARM de bajo consumo. Universitat Politècnica de València. http://hdl.handle.net/10251/179017 | es_ES |
dc.description.accrualMethod | TFGM | es_ES |
dc.relation.pasarela | TFGM\141676 | es_ES |