- -

Desarrollo y paralelización del algoritmo de convolución rápida de Winograd sobre plataformas ARM de bajo consumo.

RiuNet: Repositorio Institucional de la Universidad Politécnica de Valencia

Compartir/Enviar a

Citas

Estadísticas

  • Estadisticas de Uso

Desarrollo y paralelización del algoritmo de convolución rápida de Winograd sobre plataformas ARM de bajo consumo.

Mostrar el registro sencillo del ítem

Ficheros en el í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


Este ítem aparece en la(s) siguiente(s) colección(ones)

Mostrar el registro sencillo del ítem