@inproceedings{e9a01aa023aa40e49348722106ea79af,
title = "From describing to prescribing parallelism: Translating the SPEC ACCEL OpenACC suite to OpenMP target directives",
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 optimizations to achieve good performance on a variety of systems. The ported SPEC ACCEL OpenMP benchmarks were validated on different platforms including Xeon Phi, GPUs and CPUs. We believe that this experience can help the community and compiler vendors understand how users plan to write OpenMP 4.5 applications in a performance portable style.",
keywords = "Offloading, OpenACC, OpenMP, SPEC, SPEC ACCEL",
author = "Guido Juckeland and Oscar Hernandez and Jacob, {Arpith C.} and Daniel Neilson and Larrea, {Ver{\'o}nica G.Vergara} and Sandra Wienke and Alexander Bobyr and Brantley, {William C.} and Sunita Chandrasekaran and Mathew Colgrove and Alexander Grund and Robert Henschel and Wayne Joubert and M{\"u}ller, {Matthias S.} and Dave Raddatz and Pavel Shelepugin and Brian Whitney and Bo Wang and Kalyan Kumaran",
note = "Publisher Copyright: {\textcopyright} Springer International Publishing AG 2016.; International Workshops on High Performance Computing, ISC High Performance 2016 and Workshop on 2nd International Workshop on Communication Architectures at Extreme Scale, ExaComm 2016, Workshop on Exascale Multi/Many Core Computing Systems, E-MuCoCoS 2016, HPC I/O in the Data Center, HPC-IODC 2016, Application Performance on Intel Xeon Phi – Being Prepared for KNL and Beyond, IXPUG 2016, International Workshop on OpenPOWER for HPC, IWOPH 2016, International Workshop on Performance Portable Programming Models for Accelerators, P^3MA 2016, Workshop on Virtualization in High-Performance Cloud Computing, VHPC 2016, Workshop on Performance and Scalability of Storage Systems, WOPSSS 2016 ; Conference date: 19-06-2016 Through 23-06-2016",
year = "2016",
doi = "10.1007/978-3-319-46079-6_33",
language = "English",
isbn = "9783319460789",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
publisher = "Springer Verlag",
pages = "470--488",
editor = "Bernd Mohr and Kunkel, {Julian M.} and Michela Taufer",
booktitle = "High Performance Computing - ISC High Performance 2016 International Workshops ExaComm, E-MuCoCoS, HPC-IODC, IXPUG, IWOPH, P^3MA, VHPC, WOPSSS, Revised Selected",
}