The Library
Achieving portability and performance through OpenACC
Tools
Herdman, J. A., Gaudin, W. P., Perks, O. F. J., Beckingsale, David A., Mallinson, Andrew C. and Jarvis, Stephen A. (2014) Achieving portability and performance through OpenACC. In: First Workshop on Accelerator Programming using Directives, New Orleans, LA, 16-21 Nov 2014. Published in: IEEE Special Interest Group in High Performance Computing pp. 19-26. ISBN 9781467367530.
PDF
07081674.pdf - Published Version Embargoed item. Restricted access to Repository staff only - Requires a PDF viewer. Download (400Kb) |
Official URL: https://doi.org/10.1109/WACCPD.2014.10
Abstract
OpenACC is a directive-based programming model designed to allow easy access to emerging advanced architecture systems for existing production codes based on Fortran, C and C++. It also provides an approach to coding contemporary technologies without the need to learn complex vendor-specific languages, or understand the hardware at the deepest level. Portability and performance are the key features of this programming model, which are essential to productivity in real scientific applications.
OpenACC support is provided by a number of vendors and is defined by an open standard. However the standard is relatively new, and the implementations are relatively immature. This paper experimentally evaluates the currently available compilers by assessing two approaches to the OpenACC programming model: the "parallel" and "kernels" constructs. The implementation of both of these construct is compared, for each vendor, showing performance differences of up to 84%. Additionally, we observe performance differences of up to 13% between the best vendor implementations. OpenACC features which appear to cause performance issues in certain compilers are identified and linked to differing default vector length clauses between vendors. These studies are carried out over a range of hardware including GPU, APU, Xeon and Xeon Phi based architectures. Finally, OpenACC performance, and productivity, are compared against the alternative native programming approaches on each targeted platform, including CUDA, OpenCL, OpenMP 4.0 and Intel Offload, in addition to MPI and OpenMP.
Item Type: | Conference Item (Paper) | ||||||
---|---|---|---|---|---|---|---|
Subjects: | Q Science > QA Mathematics > QA76 Electronic computers. Computer science. Computer software | ||||||
Divisions: | Faculty of Science, Engineering and Medicine > Science > Computer Science | ||||||
Journal or Publication Title: | IEEE Special Interest Group in High Performance Computing | ||||||
Publisher: | IEEE Computer Society | ||||||
ISBN: | 9781467367530 | ||||||
Official Date: | 16 November 2014 | ||||||
Dates: |
|
||||||
Page Range: | pp. 19-26 | ||||||
Status: | Peer Reviewed | ||||||
Publication Status: | Published | ||||||
Access rights to Published version: | Restricted or Subscription Access | ||||||
Date of first compliant deposit: | 2 August 2017 | ||||||
Embodied As: | 1 | ||||||
Conference Paper Type: | Paper | ||||||
Title of Event: | First Workshop on Accelerator Programming using Directives | ||||||
Type of Event: | Workshop | ||||||
Location of Event: | New Orleans, LA | ||||||
Date(s) of Event: | 16-21 Nov 2014 |
Request changes or add full text files to a record
Repository staff actions (login required)
View Item |