Design and development of support for GPU unified memory in OMPSS
Heterogeneous computing has become prevalent as part of High Performance Computing in the last decade, with asynchronous devices such as Graphics Processing Units constantly evolving. As HPC becomes more specialized and heterogeneous devices become more advanced and implement new features, a challen...
| Autor: | |
|---|---|
| Tipo de recurso: | tesis de maestría |
| Fecha de publicación: | 2017 |
| País: | España |
| Institución: | Universitat Politècnica de Catalunya (UPC) |
| Repositorio: | UPCommons. Portal del coneixement obert de la UPC |
| Idioma: | inglés |
| OAI Identifier: | oai:upcommons.upc.edu:2117/112437 |
| Acceso en línea: | https://hdl.handle.net/2117/112437 |
| Access Level: | acceso abierto |
| Palabra clave: | Parallel programming (Computer science) Càlcul intensiu (Informàtica) GPGPU OmpSs Models de programació Computació d'altes prestacions CUDA Nanos Programming Models Programació en paral·lel (Informàtica) High performance computing Àrees temàtiques de la UPC::Informàtica |
| Sumario: | Heterogeneous computing has become prevalent as part of High Performance Computing in the last decade, with asynchronous devices such as Graphics Processing Units constantly evolving. As HPC becomes more specialized and heterogeneous devices become more advanced and implement new features, a challenge is presented to traditional programming models. Programming models and tools needs to adapt in order to keep a competitive performance. Due to this, a new version of the OmpSs programming model is being developed, taking into account the nuances of newer technologies and architectures. In this context, a need to develop support for heterogeneous devices for the new version of the model arises. This project presents the development and evaluation of support for CUDA enabled devices on the Nanos6 runtime being developed for the OmpSs-2 programming model. The design choices are analyzed in the context of modern GPU programming and architectures, and the performance and execution of a series of benchmarks is analyzed to understand the performance characteristics of the runtime. |
|---|