Operación stencil en plataformas multi-core y many-core
Visualitza/Obre
Estadístiques de LA Referencia / Recolecta
Inclou dades d'ús des de 2022
Cita com:
hdl:2099.1/12453
Tipus de documentProjecte/Treball Final de Carrera
Data2011-06-29
Condicions d'accésAccés obert
Tots els drets reservats. Aquesta obra està protegida pels drets de propietat intel·lectual i
industrial corresponents. Sense perjudici de les exempcions legals existents, queda prohibida la seva
reproducció, distribució, comunicació pública o transformació sense l'autorització del titular dels drets
Abstract
Catellano: Los problemas derivados de la disipación de energía en la computación secuencial, están haciendo que cada vez se popularice más el uso de máquinas y sistemas con mayor cantidad de núcleos de proceso. Pasando desde pequeños procesadores con un número reducido de núcleos, por clusters con varias máquinas secuenciales distribuidas, e incluso por dispositivos de procesamiento gráfico (GPUs) con varios cientos de núcleos que permiten asignar tareas generales a estos, muchos algoritmos están siendo adaptados a estos modelos de paralelización. Resumen En este trabajo se ha llevado a cabo el análisis, implementación, optimización y paralelización de las operaciones stencil de 5 puntos y 27 puntos, que son operaciones cuyo origen es la resolución de ecuaciones en derivadas parciales mediante un método finito y que tienen una importancia significativa en el campo de la ciencia. La paralelización se ha llevado a cabo tanto en un sistema multi-core con dos procesadores Intel Xeon E5520, como utilizando un dispositivo gráfico Nvidia GeForce GTX 295 con 240 núcleos CUDA. Resumen En cuanto a la optimización del algoritmo, se han aplicado al cálculo una serie de optimizaciones al código secuencial tales como desenrollado de bucles, eliminación de subexpresiones comunes o vectorizaciones mediante instrucciones SSE. Resumen Para la paralelización en el entorno multi-core, y con el fin de poder explotar todos los recursos hardware del sistema, se han probado diferentes modelos de programación paralela, tanto basados en sistemas de memoria distribuida como MPI, como basados en sistemas de memoria compartida como OpenMP y POSIX Threads. Resumen En cuanto a la implementación en el entorno many-core, se han utilizado dos formas diferentes de enfocar la resolución del problema, una de ellas empleando el método que a simple vista parece más práctico para la resolución, y la otra creando una estructuración de las tareas más apropiado para la arquitectura utilizada. La diferencia de rendimiento de ambas versiones es de un 20% en el caso del stencil de 5 puntos y de un 80% en el de 27 puntos, en ambos casos a favor de la segunda versión del algoritmo. Resumen Finalmente, los resultados de las optimizaciones han sido diferentes dependiendo de la operación implementada, para el stencil de 5 puntos se ha podido conseguir un Speed Up de 5.41x en el entorno multi-core y de 15.95x en el entorno many-core. Para el stencil de 27 puntos, el Speed Up ha sido de 13.9x en el entorno multi-core y de 146.97x en el entorno many-core.
TitulacióENGINYERIA INFORMÀTICA (Pla 2003)
Col·leccions
Fitxers | Descripció | Mida | Format | Visualitza |
---|---|---|---|---|
72537.pdf | 2,956Mb | Visualitza/Obre |