Descarga de kernels desde la CPU a la GPU
López Sevilla, Sergio
Sikora, Anna, dir. (Universitat Autònoma de Barcelona. Departament d'Arquitectura de Computadors i Sistemes Operatius)
Universitat Autònoma de Barcelona. Escola d'Enginyeria

Títol variant: Descàrrega dels kernels des de la CPU a la GPU
Títol variant: Offloading kernels from CPU to GPU
Data: 2024
Resum: La computació d'alt rendiment (HPC) és la pràctica en què s'utilitzen clústers de processadors, aquest conjunt treballen en paral·lel per processar dades i fer càlculs complexos a velocitats altes. Per poder fer ús dels recursos que ens ofereixen aquests clústers, disposem de models de programació com OpenMP, OpenACC, CUDA i OpenMP amb descàrrega a GPU. Aquest conjunt ens pot permetre executar de manera eficient. Al llarg d'aquest article, es compararà el rendiment d'una GPU quan es programa per a diferents models de programació de computació paral·lela (OpenMP, OpenACC o CUDA) ja coneguts. A la programació d'OpenMP, s'implementarà l'opció de descarregar codi a GPU inclosa a partir de la versió 4. 0 d'OpenMP. Es realitzarà un estudi exhaustiu de les opcions que ens permet implementar, així com les més eficients per a cadascun dels escenaris i, de manera, poder realitzar una implementació eficient. Per tal de dur a terme les anàlisis del rendiment per a cada versió, farem ús d'un programa que conté un conjunt de nuclis programats en llenguatge C. Finalment, amb els resultats obtinguts podrem comparar els diferents models i així obtenir unes conclusions basades.
Resum: La computación de alto rendimiento (HPC) es la práctica en los que se utilizan clústeres de procesadores, este conjunto trabajan en paralelo para procesar datos y realizar cálculos complejos a velocidades altas. Para poder hacer uso de los recursos que nos ofrecen estos clústeres, disponemos de modelos de programación como OpenMP, OpenACC, CUDA y OpenMP con descarga en GPU. Este conjunto nos puede permitir ejecutar de forma eficiente. A lo largo de este artículo, se comparará el rendimiento de una GPU cuando se programa para diferentes modelos de programación de computación paralela (OpenMP, OpenACC o CUDA) ya conocidos. En la programación de OpenMP, se implementará la opción de descargar código en GPU incluida a partir de la versión 4. 0 de OpenMP. Se realizará un estudio exhaustivo de las opciones que nos permite implementar, así como las más eficientes para cada uno de los escenarios y, de tal forma, poder realizar una implementación eficiente. Con el fin de llevar a cabo los análisis del rendimiento para cada versión, haremos uso de un programa que contiene un conjunto de kernels programados en lenguaje C. Finalmente, con los resultados obtenidos podremos comparar los diferentes modelos y así obtener unas conclusiones basadas.
Resum: High-Performance Computing (HPC) is the practice in which computer clusters are utilized, and this ensemble operates in parallel to process data and perform complex calculations at high speeds. To harness the resources offered by these clusters, we have programming models such as OpenMP, OpenACC, CUDA, and OpenMP with GPU offloading. This set can enable us to execute efficiently. Throughout this article, we will compare the performance of a GPU when programmed using different known parallel computing programming models (OpenMP, OpenACC, or CUDA). In OpenMP programming, the option to offload code to the GPU will be implemented, a feature included from version 4. 0 onwards. A thorough study of the available implementation options and the most efficient ones for each scenario will be conducted, aiming to achieve an efficient implementation. In order to carry out performance analyses for each version, we will use a program containing a set of kernels programmed in the C language. Finally, with the obtained results, we can compare the different models and draw conclusions based on them.
Drets: Aquest document està subjecte a una llicència d'ús Creative Commons. Es permet la reproducció total o parcial i la comunicació pública de l'obra, sempre que no sigui amb finalitats comercials, i sempre que es reconegui l'autoria de l'obra original. No es permet la creació d'obres derivades. Creative Commons
Llengua: Castellà
Titulació: Grau en Enginyeria Informàtica [2502441]
Pla d'estudis: Enginyeria Informàtica [958]
Document: Treball final de grau ; Text
Àrea temàtica: Menció Enginyeria de Computadors
Matèria: Computació paral·lela ; HPC ; OpenMP ; OpenACC ; CUDA ; GPU ; Descàrrega openmp ; Computación paralela ; Descarga openmp ; Parallel computing ; OpenMP offloading



14 p, 807.3 KB

El registre apareix a les col·leccions:
Documents de recerca > Treballs de Fi de Grau > Escola d'Enginyeria. TFG

 Registre creat el 2024-03-13, darrera modificació el 2024-03-17



   Favorit i Compartir