OpenMP to GPGPU: A compiler framework for automatic translation and optimization

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

197 Scopus citations

Abstract

GPGPUs have recently emerged as powerful vehicles for generalpurpose high-performance computing. Although a new Compute Unified Device Architecture (CUDA) programming model from NVIDIA offers improved programmability for general computing, programming GPGPUs is still complex and error-prone. This paper presents a compiler framework for automatic source-to-source translation of standard OpenMP applications into CUDA-based GPGPU applications. The goal of this translation is to further improve programmability and make existing OpenMP applications amenable to execution on GPGPUs. In this paper, we have identified several key transformation techniques, which enable efficient GPU global memory access, to achieve high performance. Experimental results from two important kernels (JACOBI and SPMUL) and two NAS OpenMP Parallel Benchmarks (EP and CG) show that the described translator and compile-time optimizations work well on both regular and irregular applications, leading to performance improvements of up to 50X over the unoptimized translation (up to 328X over serial on a CPU).

Original languageEnglish
Title of host publicationProceedings of the 2009 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP'09
PublisherAssociation for Computing Machinery (ACM)
Pages101-110
Number of pages10
ISBN (Print)9781605583976
DOIs
StatePublished - Feb 14 2009
Externally publishedYes
Event14th ACM SIGPLAN symposium on Principles and practice of parallel programming, PPoPP 2009 - Raleigh, NC, United States
Duration: Feb 14 2009Feb 18 2009

Publication series

NameProceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP
ISSN (Print)1542-0205

Conference

Conference14th ACM SIGPLAN symposium on Principles and practice of parallel programming, PPoPP 2009
Country/TerritoryUnited States
CityRaleigh, NC
Period02/14/0902/18/09

Keywords

  • Automatic translation
  • CUDA
  • Compiler optimization
  • GPU
  • OpenMP

Fingerprint

Dive into the research topics of 'OpenMP to GPGPU: A compiler framework for automatic translation and optimization'. Together they form a unique fingerprint.

Cite this