Por favor, use este identificador para citar o enlazar este ítem:http://uvadoc.uva.es/handle/10324/33256
Título
Solapamiento transparente de tareas de comunicación y computación en dispositivos GPU CUDA
Director o Tutor
Año del Documento
2018
Titulación
Grado en Ingeniería Informática
Resumen
La computación paralela ha adquirido importancia significativa en diversos campos de la ciencia y la
tecnología, presente en el incremento de trabajos de investigación donde se consigue mejorar el rendimiento
del uso de los recursos de los diferentes dispositivos de un sistema. Estos trabajos son, como ejemplo, el
entrenamiento de grandes redes neuronales dedicadas al aprendizaje profundo, las simulaciones de fluidos
que exigen cada vez más precisión, o la creciente tendencia de uso de algoritmos paralelos para el minado
de cripto-monedas.
Actualmente, la programación paralela basa sus soluciones sobre todos los tipos de hardware existentes.
La construcción de granjas de computación –como las presentes en la lista TOP 500–, la fabricación de
unidades de proceso cada vez con mayor número de núcleos, el uso de unidades de computo gráfico –también
conocidas como GPU– para cálculos genéricos (General-Purpose Computing on Graphics Processing Units
ó GP-GPU) o el diseño de nuevos co-procesadores como Xeon Phi, muestran el amplio abanico de máquinas
y dispositivos donde se realizan las ejecuciones de dichos programas.
En particular, la diversidad de dispositivos GPU (compatibles con la computación de propósito general)
hace que se deba implementar soluciones específicas pensando en los dispositivos donde va a ser ejecutadas.
La programación de estos dispositivos necesita de unos conocimientos de alto nivel sobre la arquitectura y
las librerías de desarrollo de cada dispositivo, las cuales se renuevan cada poco tiempo. Esta dificultad
aumenta cuando se pretende explotar, de forma eficiente, los diferentes recursos hardware de un dispositivo.
Este trabajo propone un modelo de programación que permite el solapamiento de operaciones de
comunicación y computación en dispositivos GPU mejorando el rendimiento de las aplicaciones. Nuestro
estudio experimental muestra que este modelo oculta, de forma automática y transparente para el usuario,
el solapamiento de estas operaciones ahorrando esfuerzo de desarrollo al usuario. Con este modelo se
obtiene hasta un 50% de mejora de rendimiento comparado con una implementación puramente secuencial.
Palabras Clave
Computación de alto rendimiento (HPC)
Tecnología CUDA
Arquitectura GPU
Idioma
spa
Derechos
openAccess
Aparece en las colecciones
- Trabajos Fin de Grado UVa [30023]
Ficheros en el ítem
La licencia del ítem se describe como Attribution-NonCommercial-NoDerivatives 4.0 International