OpenACC — First Experiences with Real-World Applications. 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.

References in zbMATH (referenced in 11 articles )

Showing results 1 to 11 of 11.
Sorted by year (citations)

  1. Mantas, José Miguel; de la Asunción, Marc; Castro, Manuel J.: An introduction to GPU computing for numerical simulation (2016)
  2. Paulino, Hervé; Marques, Eduardo: Heterogeneous programming with single operation multiple data (2015)
  3. Bigot, Julien; Hou, Zhengxiong; Pérez, Christian; Pichon, Vincent: A low level component model easing performance portability of HPC applications (2014)
  4. Ciznicki, Milosz; Kurowski, Krzysztof; Węglarz, Jan: Evaluation of selected resource allocation and scheduling methods in heterogeneous many-core processors and graphics processing units (2014)
  5. Förster, Michael: Algorithmic differentiation of pragma-defined parallel regions. Differentiating computer programs containing OpenMP (2014)
  6. Gasc, Thibault; De Vuyst, Florian: Suitable formulations of Lagrange remap finite volume schemes for manycore/GPU architectures (2014)
  7. Ghosh, Sayan; Liao, Terrence; Calandra, Henri; Chapman, Barbara M.: Performance of CPU/GPU compiler directives on ISO/TTI kernels (2014)
  8. Liao, Xiangke; Xiao, Liquan; Yang, Canqun; Lu, Yutong: MilkyWay-2 supercomputer: system and application (2014)
  9. Liao, Xiang-Ke; Yung, Can-Qun; Tang, Tao; Yi, Hui-Zhan; Wang, Feng; Wu, Qiang; Xue, Jingling: OpenMC: towards simplifying programming for TianHe supercomputers (2014)
  10. Silber-Chaussumier, F.; Muller, A.; Habel, R.: Generating data transfers for distributed GPU parallel programs (2013)
  11. Viñas, Moisés; Bozkus, Zeki; Fraguela, Basilio B.: Exploiting heterogeneous parallelism with the heterogeneous programming library (2013)