Skip to content Skip to navigation
University of Warwick
  • Study
  • |
  • Research
  • |
  • Business
  • |
  • Alumni
  • |
  • News
  • |
  • About

University of Warwick
Publications service & WRAP

Highlight your research

  • WRAP
    • Home
    • Search WRAP
    • Browse by Warwick Author
    • Browse WRAP by Year
    • Browse WRAP by Subject
    • Browse WRAP by Department
    • Browse WRAP by Funder
    • Browse Theses by Department
  • Publications Service
    • Home
    • Search Publications Service
    • Browse by Warwick Author
    • Browse Publications service by Year
    • Browse Publications service by Subject
    • Browse Publications service by Department
    • Browse Publications service by Funder
  • Help & Advice
University of Warwick

The Library

  • Login
  • Admin

Achieving portability and performance through OpenACC

Tools
- Tools
+ 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.

[img] 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

Request Changes to record.

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 > 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:
DateEvent
16 November 2014Published
1 September 2014Accepted
Page Range: pp. 19-26
Status: Peer Reviewed
Publication Status: Published
Access rights to Published version: Restricted or Subscription Access
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 View Item
twitter

Email us: wrap@warwick.ac.uk
Contact Details
About Us