Skip to main content

Advertisement

Log in

Porting and scaling OpenACC applications on massively-parallel, GPU-accelerated supercomputers

  • Regular Article
  • Published:
The European Physical Journal Special Topics Aims and scope Submit manuscript

Abstract

An increasing number of massively-parallel supercomputers are based on heterogeneous node architectures combining traditional, powerful multicore CPUs with energy-efficient GPU accelerators. Such systems offer high computational performance with modest power consumption. As the industry trend of closer integration of CPU and GPU silicon continues, these architectures are a possible template for future exascale systems. Given the longevity of large-scale parallel HPC applications, it is important that there is a mechanism for easy migration to such hybrid systems. The OpenACC programming model offers a directive-based method for porting existing codes to run on hybrid architectures. In this paper, we describe our experiences in porting the Himeno benchmark to run on the Cray XK6 hybrid supercomputer. We describe the OpenACC programming model and the changes needed in the code, both to port the functionality and to tune the performance. Despite the additional PCIe-related overheads when transferring data from one GPU to another over the Cray Gemini interconnect, we find the application gives very good performance and scales well. Of particular interest is the facility to launch OpenACC kernels and data transfers asynchronously, which speeds the Himeno benchmark by 5%–10%. Comparing performance with an optimised code on a similar CPU-based system (using 32 threads per node), we find the OpenACC GPU version to be just under twice the speed in a node-for-node comparison. This speed-up is limited by the computational simplicity of the Himeno benchmark and is likely to be greater for more complicated applications.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. J.Dongarra, P.Beckman, et al., Int J. High Performance Computing Applications 25, ISSN 1094-3420, http://www.exascale.org/mediawiki/images/2/20/IESP-roadmap.pdf

  2. J.Levesque, G.Wagenbreth, High Performance Computing: Programming and Applications (Chapman & Hall/CRC Computational Science, 2010)

  3. The OpenACC standard, http://www.openacc-standard.org

  4. R.Himeno, The Himeno benchmark, http://accc.riken.jp/HPC_e/himenobmt_e.html

  5. R.Ansaloni, A.Hart, Cray’s approach to heterogeneous computing, in: Advances of Parallel Computing, Proceedings of ParCo 2011 conference (IOS-Press, Amsterdam, to appear)

  6. The Cray XK6, http://www.cray.com/Products/XK6

  7. The Cray XE6, http://www.cray.com/Products/XE6

  8. CUDA, http://www.nvidia.com/object/cuda_home.html

  9. OpenCL, http://www.khronos.org/opencl

  10. OpenMP, http://www.openmp.org

  11. NVIDIA, http://www.nvidia.com

  12. W.Long, private communication

  13. A.Gray, A.Hart, A.Richardson, K.Stratford, Lattice Boltzmann for large-scale GPU systems, in: Advances of Parallel Computing, Proceedings of ParCo 2011 conference (IOS-Press, Amsterdam, to appear)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to A. Hart.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Hart, A., Ansaloni, R. & Gray, A. Porting and scaling OpenACC applications on massively-parallel, GPU-accelerated supercomputers. Eur. Phys. J. Spec. Top. 210, 5–16 (2012). https://doi.org/10.1140/epjst/e2012-01634-y

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1140/epjst/e2012-01634-y

Keywords

Navigation