From OpenACC to OpenMP 4: Toward automatic translation

Nawrin Sultana, Alexander Calvert, Jeffrey L. Overbey, Galen Arnold

Research output: Chapter in Book/Report/Conference proceedingConference contribution


For the past few years, OpenACC has been the primary directive-based API for programming accelerator devices like GPUs. OpenMP 4.0 is now a competitor in this space, with support from different vendors. In this paper, we describe an algorithm to convert (a subset of) OpenACC to OpenMP 4; we implemented this algorithm in a prototype tool and evaluated it by translating the EPCC Level 1 OpenACC benchmarks. We discuss some of the challenges in the conversion process and propose what parts of the process should be automated, what should be done manually by the programmer, and what future research and development is necessary in this area.

Original languageEnglish (US)
Title of host publicationProceedings of XSEDE 2016
Subtitle of host publicationDiversity, Big Data, and Science at Scale
PublisherAssociation for Computing Machinery
ISBN (Electronic)9781450347556
StatePublished - Jul 17 2016
EventConference on Diversity, Big Data, and Science at Scale, XSEDE 2016 - Miami, United States
Duration: Jul 17 2016Jul 21 2016

Publication series

NameACM International Conference Proceeding Series


OtherConference on Diversity, Big Data, and Science at Scale, XSEDE 2016
Country/TerritoryUnited States


  • Accelerators
  • GPUs
  • OpenACC
  • OpenMP
  • Translation

ASJC Scopus subject areas

  • Software
  • Human-Computer Interaction
  • Computer Vision and Pattern Recognition
  • Computer Networks and Communications


Dive into the research topics of 'From OpenACC to OpenMP 4: Toward automatic translation'. Together they form a unique fingerprint.

Cite this