From Describing to Prescribing Parallelism: Translating the SPEC ACCEL OpenACC Suite to OpenMP Target Directives


From Describing to Prescribing Parallelism: Translating the SPEC ACCEL OpenACC Suite to OpenMP Target Directives

Juckeland, G.; Hernandez, O.; Jacob, A. C.; Neilson, D.; Vergara Larrea, V. G.; Wienke, S.; Chandrasekaran, S.; Grund, A.; Henschel, R.; Müller, M. S.; Perminov, M.; Shelepugin, P.; Whitney, B.; Joubert, W.; Wang, B.; Kumaran, K.; SPEC High Performance Group (HPG), Email: info@spec.org – Website: http://www.spec.org/hpg; Bobyr, A.

Abstract

Current and next generation HPC systems will exploit accelerators and self-hosting devices within their compute nodes to accelerate applications. This comes at a time when programmer productivity and the ability to produce portable code has been recognized as a major concern. One of the goals of OpenMP and OpenACC is to allow the user to specify parallelism via directives so that compilers can generate device specific code and optimizations. However, the challenge of porting codes becomes more complex because of the different types of parallelism and memory hierarchies available on different architectures.
In this paper we discuss our experience with porting the SPEC ACCEL benchmarks from OpenACC to OpenMP 4.5 using a performance portable style that lets the compiler make platform-specific decisions to achieve performance. The SPEC ACCEL OpenMP benchmarks were tested on different platforms including Xeon Phi, GPUs and CPU cores. We also discuss some performance-portable best practices that help expose more parallelism in the codes in a portable style. We believe that this expe rience can help the community and compiler vendors understand how users plan to write OpenMP 4.5 applications in a performance portable
style.

Keywords: SPEC; SPEC ACCEL; OpenMP; OpenACC; Offloading

  • Beitrag zu Proceedings
    Workshop on Performance Portable Programming Models for Accelerators (P^3MA), 23.06.2016, Frankfurt (Main), Deutschland
    Lecture Notes on Computer Science (LNCS) - Volume 9934: High Performance Computing ISC High Performance 2016 International Workshops, ExaComm, E-MuCoCoS, HPC-IODC, IXPUG, IWOPH, P^3MA, VHPC, WOPSSS, Frankfurt, Germany, June 19–23, 2016: Springer, 978-3-319-46078-9, 470-488
    DOI: 10.1007/978-3-319-46079-6_33
    Cited 10 times in Scopus

Permalink: https://www.hzdr.de/publications/Publ-23664