Comparativa del rendimiento de una GPU usando OpenMP, OpenACC O CUDA

Baños Ramírez, Francisco (2022). Comparativa del rendimiento de una GPU usando OpenMP, OpenACC O CUDA. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S. de Ingenieros Informáticos (UPM), Madrid, España.

Description

Title: Comparativa del rendimiento de una GPU usando OpenMP, OpenACC O CUDA
Author/s:
  • Baños Ramírez, Francisco
Contributor/s:
Item Type: Final Project
Degree: Grado en Ingeniería Informática
Date: July 2022
Subjects:
Faculty: E.T.S. de Ingenieros Informáticos (UPM)
Department: Arquitectura y Tecnología de Sistemas Informáticos
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[thumbnail of TFG_FRANCISCO_BANOS_RAMIREZ.pdf] PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (1MB)

Abstract

La idea central de este TFG es comparar el uso y rendimiento de una GPU cuando se programa con diferentes técnicas (OpenACC, OpenMP o CUDA) para acelerar aplicaciones computacionalmente costosas. La programación de GPU se puede hacer tanto con el uso de directivas tales como son OpenMP y OpenACC, que permiten mantener el código original hasta cierto punto, como una conversión más directa al lenguaje CUDA, el cual requiere un mayor trabajo a la hora de modificar el código para adaptarlo a la forma en que este lenguaje funciona. En este TFG no solo se realizarán análisis en las diferencias de rendimiento de cada versión, sino que también se medirá el tiempo necesario para desarrollar y depurar cada una de ellas. Para ello, se usarán varios ejemplos sencillos, fáciles y conocidos, aunque computacionalmente costosos. Los ejemplos elegidos son el algoritmo de multiplicación de matrices, el algoritmo de cálculo del número pi, un simulador simple de dinámica molecular, el algoritmo de Mandelbrot, y un simulador simple que simula la transferencia de calor de una placa calentada. ---ABSTRACT---The main idea of this TFG is to compare the use and performance of the GPU when it is used to accelerate computationally expensive applications. GPU programming offers both the use of directives such as OpenMP and OpenACC, which allow to keep the original structure of the code to a certain extent, and a more direct conversion to the CUDA language, which requires more work to modify said structure to be adapted to the language’s workings. In this TFG, such versions will not only be analyzed to compare their performance and execution speed, but also the time needed to develop and debug each of them will be measured. For this, several simple, easy and well-known examples will be used, although computationally expensive. The ones selected for this work are the matrix multiplication algorithm, pi-calculation algorithm, a simple simulation of molecular dynamics, the Mandlebrot algorithm, and a simple simulation that checks the temperatures of a heated plate.

More information

Item ID: 71430
DC Identifier: https://oa.upm.es/71430/
OAI Identifier: oai:oa.upm.es:71430
Deposited by: Biblioteca Facultad de Informatica
Deposited on: 28 Jul 2022 12:50
Last Modified: 28 Jul 2022 12:50
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM