OpenACC: first experiences with real-world applications

  • Authors:
  • Sandra Wienke;Paul Springer;Christian Terboven;Dieter an Mey

  • Affiliations:
  • Center for Computing and Communication, JARA, RWTH Aachen University, Germany;Center for Computing and Communication, JARA, RWTH Aachen University, Germany;Center for Computing and Communication, JARA, RWTH Aachen University, Germany;Center for Computing and Communication, JARA, RWTH Aachen University, Germany

  • Venue:
  • Euro-Par'12 Proceedings of the 18th international conference on Parallel Processing
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Today's trend to use accelerators like GPGPUs in heterogeneous computer systems has entailed several low-level APIs for accelerator programming. However, programming these APIs is often tedious and therefore unproductive. To tackle this problem, recent approaches employ directive-based high-level programming for accelerators. In this work, we present our first experiences with OpenACC, an API consisting of compiler directives to offload loops and regions of C/C++ and Fortran code to accelerators. We compare the performance of OpenACC to PGI Accelerator and OpenCL for two real-world applications and evaluate programmability and productivity. We find that OpenACC offers a promising ratio of development effort to performance and that a directive-based approach to program accelerators is more efficient than low-level APIs, even if suboptimal performance is achieved.