Complutense University Library

Estudio de rendimiento en GPU

Juega Reimúndez, Carlos (2010) Estudio de rendimiento en GPU. [Trabajo Fin de Máster]

[img]
Preview
PDF
2MB
View download statistics for this eprint

==>>> Export to other formats

Abstract

En la actualidad las plataformas multicore lideran la industria de los computadores, obligando a los desarrolladores software a adaptarse a nuevos paradigmas de programación para poder explotar su capacidad de cómputo. A día de hoy uno de los principales exponentes de las plataformas multicore son las unidades de procesamiento gráfico (GPUs). El desarrollo de aplicaciones para GPU requiere un alto esfuerzo por parte de los programadores. Por un lado, deben modelar los problemas de modo que permitan el aprovechamiento de plataformas masivamente paralelas. Por otro lado, deben preocuparse de que las aplicaciones hagan un uso eficiente del sistema de memoria, heterog´eneo, de múltiples niveles, con gestión software o hardware. En general, dado un algoritmo concreto, el
espacio de soluciones posibles para un mapeo sobre GPU es enorme. El recurso habitual de los programadores es el ensayo, prueba y error de distintas soluciones, guiados sólo
por su propia experiencia e intuici´on, lo que resulta ineficiente de cara al desarrollo y mantenimiento de software. En este proyecto hemos realizado un estudio sobre el impacto de distintas transformaciones de código de alto nivel en el rendimiento de distintos algoritmos en la GPU.
Nuestro objetivo consiste en evaluar las distintas decisiones que deber´ıa tomar cualquier
desarrollador al mapear un algoritmo sobre la GPU, identificando así aquellas que sean más importantes. Para ilustrar los resultados hemos utilizado como hilo conductor de la memoria la multiplicación de matrices. La extensi´on futura del trabajo consistiría en la definición de una metodología eficiente para el mapeo de aplicaciones sobre GPU.
[ABSTRACT]
At present, multicore platforms lead the computer industry, forcing software developers to adapt to new programming paradigms, in order to fully exploit their computing capabilities. Nowadays, graphics processing units (GPUs) are one of the main representatives of multi-core platforms.
The GPU application development requires a great effort by application programmers. On one hand, they must take advantage of massively parallel platform in the problem
modeling. On the other hand, the applications have to make an efficient use of the memory system, which is heterogeneous, with several levels that are software or hardware controlled. Given a specific algorithm, the search space for the mapping is huge. Generally the programmers’ methodology consists in evaluating several mapping alternatives, guided by their experience and intuition, which results inefficient for software development and
maintenance. This project deals with the study of the impact of several high level code transformations in the performance of different algorithms on the GPU. Our goal is the evaluation of the decisions that a programmer needs to make in the process of mapping an application on the GPU, identifying the most relevant. We use the matrix multiplication algorithm to illustrate our work. In the future this work will be completed by the definition of an
efficient methodology for the mapping process.


Item Type:Trabajo Fin de Máster
Additional Information:

Máster en Investigación en Informática, Facultad de Informática, Departamento de Arquitectura de Computadores y Automática, curso 2009-2010

Directors:
DirectorsDirector email
Gómez Pérez, José Ignacio
Tenllado Van der Reijden, Christian
Uncontrolled Keywords:GPU, SIMT, CUDA, Paralelización, Optimización de rendimiento, Modelo rendimiento, Compiladores, Multiplicación de matrices, Convolución, NMF supervisado, Parallelization, Performance optimizations, Performance model, Compilers, Matrix multiplication, Convolution, Supervised NMF.
Subjects:Sciences > Computer science > Hardware
Sciences > Computer science > Expert systems (Computer science)
ID Code:11384
Deposited On:29 Oct 2010 11:20
Last Modified:06 Feb 2014 09:02

Repository Staff Only: item control page