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.
Keywords for this software
References in zbMATH (referenced in 12 articles )
Showing results 1 to 12 of 12.
- Mantas, José Miguel; de la Asunción, Marc; Castro, Manuel J.: An introduction to GPU computing for numerical simulation (2016)
- 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)
- Paulino, Hervé; Marques, Eduardo: Heterogeneous programming with single operation multiple data (2015)
- Bigot, Julien; Hou, Zhengxiong; Pérez, Christian; Pichon, Vincent: A low level component model easing performance portability of HPC applications (2014)
- 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)
- Förster, Michael: Algorithmic differentiation of pragma-defined parallel regions. Differentiating computer programs containing OpenMP (2014)
- Gasc, Thibault; De Vuyst, Florian: Suitable formulations of Lagrange remap finite volume schemes for manycore/GPU architectures (2014)
- Ghosh, Sayan; Liao, Terrence; Calandra, Henri; Chapman, Barbara M.: Performance of CPU/GPU compiler directives on ISO/TTI kernels (2014)
- Liao, Xiangke; Xiao, Liquan; Yang, Canqun; Lu, Yutong: MilkyWay-2 supercomputer: system and application (2014)
- 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)
- Silber-Chaussumier, F.; Muller, A.; Habel, R.: Generating data transfers for distributed GPU parallel programs (2013)
- Viñas, Moisés; Bozkus, Zeki; Fraguela, Basilio B.: Exploiting heterogeneous parallelism with the heterogeneous programming library (2013)