[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 ...[+]
[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 ...[+]
[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 ...[+]
[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).
Actualment, tenim GPUs disponibles en moltes targetes gràfiques, perquè són
utilitzades per operar en paral·lel a l'hora d'estimar el color i la intensitat de cada pixel.
Gràcies a la ràpida evolució de les GPUs als darrers anys, podem abordar càlculs en
paral·lel de manera eficient. El principal objectiu d'este projecte és justament el disseny
d'algorismes per executar-se en GPUs per treure profit d'elles. Aleshores, es durà a
terme un estudi comparatiu de dues versions del mateix algorisme (una per CPUs i
l'altra per GPUs). Els resultats d'este estudi es presentarà i discutirà en este projecte.
L'estudi farà especial èmfasi en l'efecte que alguns del hiper-paràmetres poden tindre
en les diferents implementacions. Per programar estos algorismes farem ús dels
llenguatges de programació C++ i CUDA. El primer per executar-se en CPUs i el segon
per GPUs.
[-]
|