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

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

1 2 next

  1. Huismann, Immo; Stiller, Jörg; Fröhlich, Jochen: Efficient high-order spectral element discretizations for building block operators of CFD (2020)
  2. Tim Besard, Valentin Churavy, Alan Edelman, Bjorn De Sutter: Rapid software prototyping for heterogeneous and distributed platforms (2019) not zbMATH
  3. Kang, Zhijiang; Deng, Ze; Han, Wei; Zhang, Dongmei: Parallel reservoir simulation with OpenACC and domain decomposition (2018)
  4. Zhang, Jia-Le; Ma, Zhi-Hua; Chen, Hong-Quan; Cao, Cheng: A GPU-accelerated implicit meshless method for compressible flows (2018)
  5. Afzal, Asif; Ansari, Zahid; Rimaz Faizabadi, Ahmed; Ramis, M. K.: Parallelization strategies for computational fluid dynamics software: state of the art review (2017)
  6. Stpiczyński, P.; Zubik-Kowal, B.: Fast parameter estimation for cancer cell progression and response to therapy (2017)
  7. Zhang, Shanghong; Li, Wenda; Jing, Zhu; Yi, Yujun; Zhao, Yong: Comparison of three different parallel computation methods for a two-dimensional dam-break model (2017)
  8. Fagerlund, Olav Aanes; Kitayama, Takeshi; Hashimoto, Gaku; Okuda, Hiroshi: Effect of GPU communication-hiding for SpMV using OpenACC (2016)
  9. Mantas, José Miguel; de la Asunción, Marc; Castro, Manuel J.: An introduction to GPU computing for numerical simulation (2016) ioport
  10. Turcksin, Bruno; Kronbichler, Martin; Bangerth, Wolfgang: \textitWorkStream-- a design pattern for multicore-enabled finite element computations (2016)
  11. 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)
  12. Gorlatch, Sergei; Steuwer, Michel: Towards high-level programming for systems with many cores (2015) ioport
  13. Huismann, Immo; Stiller, Jörg; Fröhlich, Jochen: Two-level parallelization of a fluid mechanics algorithm exploiting hardware heterogeneity (2015)
  14. Luo, Lixiang; Edwards, Jack R.; Luo, Hong; Mueller, Frank: A fine-grained block ILU scheme on regular structures for GPGPUs (2015)
  15. Paulino, Hervé; Marques, Eduardo: Heterogeneous programming with single operation multiple data (2015)
  16. Pickering, Brent P.; Jackson, Charles W.; Scogland, Thomas R. W.; Feng, Wu-Chun; Roy, Christopher J.: Directive-based GPU programming for computational fluid dynamics (2015)
  17. Bigot, Julien; Hou, Zhengxiong; Pérez, Christian; Pichon, Vincent: A low level component model easing performance portability of HPC applications (2014) ioport
  18. 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)
  19. Förster, Michael: Algorithmic differentiation of pragma-defined parallel regions. Differentiating computer programs containing OpenMP (2014)
  20. Gasc, Thibault; De Vuyst, Florian: Suitable formulations of Lagrange remap finite volume schemes for manycore/GPU architectures (2014)

1 2 next