skip to main content
10.1145/2949550.2949654acmotherconferencesArticle/Chapter ViewAbstractPublication PagesxsedeConference Proceedingsconference-collections
research-article
Public Access

From OpenACC to OpenMP 4: Toward Automatic Translation

Authors Info & Claims
Published:17 July 2016Publication History

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.

References

  1. J. R. Allen and K. Kennedy. Optimizing Compilers for Modern Architectures: A Dependence-based Approach. Morgan Kaufmann, San Francisco, CA, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. EPCC OpenACC benchmark suite. https://www.epcc.ed.ac.uk/research/computing/performance-characterisation-and-benchmarking/epcc-openacc-benchmark-suite. Accessed April 29, 2016.Google ScholarGoogle Scholar
  3. S. Grauer-Gray, L. Xu, R. Searles, S. Ayalasomayajula, and J. Cavazos. Auto-tuning a high-level language targeted to GPU codes. In Innovative Parallel Computing (InPar), 2012, pages 1--10, May 2012.Google ScholarGoogle ScholarCross RefCross Ref
  4. O. Hernandez, W. Ding, W. Joubert, D. Bernholdt, M. Eisenbach, and C. Kartsaklis. Porting OpenACC 2.0 to OpenMP 4.0: Key similarities and differences. http://openmpcon.org/wp-content/uploads/openmpcon2015-oscar-hernandez-portingacc.pdf. Accessed April 29, 2016.Google ScholarGoogle Scholar
  5. O. Hernandez, W. Ding, W. Joubert, D. Bernholdt, M. Eisenbach, and C. Kartsaklis. YouTube: Porting OpenACC 2.0 to OpenMP 4.0: Key similarities and differences. https://www.youtube.com/watch?v=CHMrcMUXuuY. Accessed April 29, 2016.Google ScholarGoogle Scholar
  6. D. B. Kirk and W.-m. Hwu. Programming massively parallel processors: a hands-on approach. Morgan-Kaufmann, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. S. Lee and J. S. Vetter. Early evaluation of directive-based GPU programming models for productive exascale computing. In Proc. SC12, page 23. IEEE Computer Society Press, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. The OpenACC application programming interface, version 2.5. http://www.openacc.org/sites/default/files/OpenACC_2pt5.pdf. Accessed June 15, 2016.Google ScholarGoogle Scholar
  9. OpenMP 4.0 on NVIDIA CUDA GPUs. https://parallel-computing.pro/index.php/9-cuda/43-openmp-4-0-on-nvidia-cuda-gpus. Accessed April 29, 2016.Google ScholarGoogle Scholar
  10. OpenMP application programming interface, version 4.5. http://www.openmp.org/mp-documents/openmp-4.5.pdf. Accessed June 15, 2016.Google ScholarGoogle Scholar
  11. S. Wienke, C. Terboven, J. C. Beyer, and M. S. Müller. A pattern-based comparison of OpenACC and OpenMP for accelerator computing. In Euro-Par 2014 Parallel Processing, pages 812--823. Springer, 2014.Google ScholarGoogle Scholar
  12. M. J. Wolfe. High Performance Compilers for Parallel Computing. Addison-Wesley, Boston, MA, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. R. Xu, S. Chandrasekaran, and B. Chapman. Exploring programming multi-GPUs using OpenMP and OpenACC-based hybrid model. In IPDPSW '13, pages 1169--1176. IEEE, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  1. From OpenACC to OpenMP 4: Toward Automatic Translation

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Other conferences
      XSEDE16: Proceedings of the XSEDE16 Conference on Diversity, Big Data, and Science at Scale
      July 2016
      405 pages
      ISBN:9781450347556
      DOI:10.1145/2949550

      Copyright © 2016 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 17 July 2016

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed limited

      Acceptance Rates

      Overall Acceptance Rate129of190submissions,68%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader