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

Abstract

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
DOIs
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
Volume17-21-July-2016

Other

OtherConference on Diversity, Big Data, and Science at Scale, XSEDE 2016
CountryUnited States
CityMiami
Period7/17/167/21/16

Fingerprint

Set theory
Application programming interfaces (API)
Particle accelerators
Graphics processing unit

Keywords

  • Accelerators
  • GPUs
  • OpenACC
  • OpenMP
  • Translation

ASJC Scopus subject areas

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

Cite this

Sultana, N., Calvert, A., Overbey, J. L., & Arnold, G. (2016). From OpenACC to OpenMP 4: Toward automatic translation. In Proceedings of XSEDE 2016: Diversity, Big Data, and Science at Scale [a44] (ACM International Conference Proceeding Series; Vol. 17-21-July-2016). Association for Computing Machinery. https://doi.org/10.1145/2949550.2949654

From OpenACC to OpenMP 4 : Toward automatic translation. / Sultana, Nawrin; Calvert, Alexander; Overbey, Jeffrey L.; Arnold, Galen.

Proceedings of XSEDE 2016: Diversity, Big Data, and Science at Scale. Association for Computing Machinery, 2016. a44 (ACM International Conference Proceeding Series; Vol. 17-21-July-2016).

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

Sultana, N, Calvert, A, Overbey, JL & Arnold, G 2016, From OpenACC to OpenMP 4: Toward automatic translation. in Proceedings of XSEDE 2016: Diversity, Big Data, and Science at Scale., a44, ACM International Conference Proceeding Series, vol. 17-21-July-2016, Association for Computing Machinery, Conference on Diversity, Big Data, and Science at Scale, XSEDE 2016, Miami, United States, 7/17/16. https://doi.org/10.1145/2949550.2949654
Sultana N, Calvert A, Overbey JL, Arnold G. From OpenACC to OpenMP 4: Toward automatic translation. In Proceedings of XSEDE 2016: Diversity, Big Data, and Science at Scale. Association for Computing Machinery. 2016. a44. (ACM International Conference Proceeding Series). https://doi.org/10.1145/2949550.2949654
Sultana, Nawrin ; Calvert, Alexander ; Overbey, Jeffrey L. ; Arnold, Galen. / From OpenACC to OpenMP 4 : Toward automatic translation. Proceedings of XSEDE 2016: Diversity, Big Data, and Science at Scale. Association for Computing Machinery, 2016. (ACM International Conference Proceeding Series).
@inproceedings{7b0d0dfa456c490fae9002dc00d199f7,
title = "From OpenACC to OpenMP 4: Toward automatic translation",
abstract = "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.",
keywords = "Accelerators, GPUs, OpenACC, OpenMP, Translation",
author = "Nawrin Sultana and Alexander Calvert and Overbey, {Jeffrey L.} and Galen Arnold",
year = "2016",
month = "7",
day = "17",
doi = "10.1145/2949550.2949654",
language = "English (US)",
series = "ACM International Conference Proceeding Series",
publisher = "Association for Computing Machinery",
booktitle = "Proceedings of XSEDE 2016",

}

TY - GEN

T1 - From OpenACC to OpenMP 4

T2 - Toward automatic translation

AU - Sultana, Nawrin

AU - Calvert, Alexander

AU - Overbey, Jeffrey L.

AU - Arnold, Galen

PY - 2016/7/17

Y1 - 2016/7/17

N2 - 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.

AB - 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.

KW - Accelerators

KW - GPUs

KW - OpenACC

KW - OpenMP

KW - Translation

UR - http://www.scopus.com/inward/record.url?scp=84989168389&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84989168389&partnerID=8YFLogxK

U2 - 10.1145/2949550.2949654

DO - 10.1145/2949550.2949654

M3 - Conference contribution

AN - SCOPUS:84989168389

T3 - ACM International Conference Proceeding Series

BT - Proceedings of XSEDE 2016

PB - Association for Computing Machinery

ER -