OpenMP to CUDA graphs: a compiler-based transformation to enhance the programmability of NVIDIA devices

Type of publication
Publication in Conference Proceedings/Workshop
Authors

Chenle Yu, Sara Royuela Alcazar, Eduardo Quiñones.

Conference / Journal
23th International Workshop on Software and Compilers for Embedded Systems (SCOPES)
Publisher
Association for Computing Machinery.
Year of publication
2020
Place of publication
New York, NY, USA.
Citation

Chenle Yu, Sara Royuela Alcazar, Eduardo Quiñones. OpenMP to CUDA graphs: a compiler-based transformation to enhance the programmability of NVIDIA devices. Association for Computing Machinery. 2020.

Abstract

Heterogeneous computing is increasingly being used in a diversity of computing systems, ranging from HPC to the real-time embedded domain, to cope with the performance requirements. Due to the variety of accelerators, e.g., FPGAs, GPUs, the use of high-level parallel programming models is desirable to exploit the performance capabilities of them, while maintaining an adequate productivity level. In that regard, OpenMP is a well-known high-level programming model that incorporates powerful task and accelerator models capable of efficiently exploiting structured and unstructured parallelism in heterogeneous computing. This paper presents a novel compiler transformation technique that automatically transforms OpenMP code into CUDA graphs, combining the benefits of programmability of a high-level programming model such as OpenMP, with the performance benefits of a low-level programming model such as CUDA. Evaluations have been performed on two NVIDIA GPUs from the HPC and embedded domains, i.e., the V100 and the Jetson AGX respectively.

DOI
https://doi.org/10.1145/3378678.3391881
ISSN number
978-1-4503-7131-5/20/05