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 16 articles )

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

  1. Afzal, Asif; Ansari, Zahid; Rimaz Faizabadi, Ahmed; Ramis, M.K.: Parallelization strategies for computational fluid dynamics software: state of the art review (2017)
  2. Fagerlund, Olav Aanes; Kitayama, Takeshi; Hashimoto, Gaku; Okuda, Hiroshi: Effect of GPU communication-hiding for SpMV using OpenACC (2016)
  3. Mantas, José Miguel; de la Asunción, Marc; Castro, Manuel J.: An introduction to GPU computing for numerical simulation (2016) ioport
  4. Casoni, E.; Jérusalem, A.; Samaniego, C.; Eguzkitza, B.; Lafortune, P.; Tjahjanto, D.D.; Sáez, X.; Houzeaux, G.; Vázquez, M.: Alya: computational solid mechanics for supercomputers (2015)
  5. Paulino, Hervé; Marques, Eduardo: Heterogeneous programming with single operation multiple data (2015)
  6. Bigot, Julien; Hou, Zhengxiong; Pérez, Christian; Pichon, Vincent: A low level component model easing performance portability of HPC applications (2014) ioport
  7. 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)
  8. Förster, Michael: Algorithmic differentiation of pragma-defined parallel regions. Differentiating computer programs containing OpenMP (2014)
  9. Gasc, Thibault; De Vuyst, Florian: Suitable formulations of Lagrange remap finite volume schemes for manycore/GPU architectures (2014)
  10. Ghosh, Sayan; Liao, Terrence; Calandra, Henri; Chapman, Barbara M.: Performance of CPU/GPU compiler directives on ISO/TTI kernels (2014) ioport
  11. Liao, Xiangke; Xiao, Liquan; Yang, Canqun; Lu, Yutong: MilkyWay-2 supercomputer: system and application (2014) ioport
  12. 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) ioport
  13. Niemeyer, Kyle E.; Sung, Chih-Jen: Accelerating moderately stiff chemical kinetics in reactive-flow simulations using GPUs (2014)
  14. Silber-Chaussumier, F.; Muller, A.; Habel, R.: Generating data transfers for distributed GPU parallel programs (2013) ioport
  15. Viñas, Moisés; Bozkus, Zeki; Fraguela, Basilio B.: Exploiting heterogeneous parallelism with the heterogeneous programming library (2013) ioport
  16. Wienke, Sandra; Springer, Paul; Terboven, Christian; an Mey, Dieter: Openacc -- first experiences with real-world applications (2012) ioport