Adaptación de algoritmos de aprendizaje automático para su ejecución sobre GPUs

[ES] En este proyecto trabajamos en el desarrollo de algunos algoritmos de aprendizaje automático usados para entrenar redes neuronales, concretamente en la implementación para ser ejecutada en las unidades de procesamiento gráfico (GPUs). Actualmente, las GPUs están disponibles en la mayoría de las...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
1. Verfasser: Vieco Pérez, Jesús
Format: Dissertation
Sprache:spa
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:[ES] En este proyecto trabajamos en el desarrollo de algunos algoritmos de aprendizaje automático usados para entrenar redes neuronales, concretamente en la implementación para ser ejecutada en las unidades de procesamiento gráfico (GPUs). Actualmente, las GPUs están disponibles en la mayoría de las tarjetas gráficas porque son utilizadas para realizar las operaciones en paralelo necesarias para obtener el color y la intensidad de los pixeles. Gracias a la rápida evolución de las GPUs durante los últimos años podemos realizar eficientemente cálculos en paralelo. El objetivo principal de este proyecto es el diseño de algoritmos para ser ejecutados en las GPUs para aprovechar la ventaja de esto. Después se llevará a cabo un estudio comparativo sobre las dos versiones del mismo algoritmo (para las CPUs y para las GPUs). Los resultados del estudio serán representados y comentados en el proyecto. La comparativa se centrará en el efecto que algunos híper-parámetros pueden tener sobre las diferentes implementaciones. Para programar dichos algoritmos usaremos los lenguajes de programación C++ y CUDA. El primero para la implementación para CPU y el segundo para la implementación GPU. [EN] In this project we worked in the development of some machine learning algorithms used for training neural networks, in particular the implementation to be run on Graphical Processor Units (GPUs). Currently, GPUs are available on most graphic cards because they are used for performing in parallel the operations needed to get color and intensity of all pixels. Thanks to the rapid evolution of GPUs during last years we can efficiently perform parallel computations. The main goal of this project is just the design of algorithms to be executed in GPUs in order to take advantage of them. Then, a comparative study of the two versions of same algorithm (for CPUs and for GPUs) will be carried out. The results of that study will be presented and discussed in this project. The study will focus on the effect some hyper-parameters can have on the different implementations. For programming these algorithms we will use the programming languages C++ and CUDA. The first one for the CPU implementation and the second one for the GPU implementation. [CA] En este projecte hem treballat en el desenvolupament d'alguns algorismes d'aprenentatge automàtic utilitzats per entrenar xarxes neuronals. En particular la seua implementació per executar-se en GPUs (de l'anglés Graphical Processor Units). Actualmen