A Study of GPU Programming Paradigms: OpenACC vs. CUDA in Linear Algebra Computations
Scientific and engineering problems are frequently governed by partial differential equations; however, the analytical solutions of these equations are often impractical, thereby forcing the adoption of numerical methods. Basic Linear Algebra Sub-programs (BLAS) operations constitute a fundamental component of these numerical approaches, incorporating essential tasks such as Level 1 operations (dot products and vector addition), Level 2 operations (matrix-vector multiplication), and Level 3 operations (matrix-matrix multiplication). Graphics Processing Units (GPUs), particularly those produced by NVIDIA, have gained significant computational power and are extensively employed to tackle a variety of numerical challenges. Nevertheless, substantial obstacles remain in targeting diverse GPU architectures, particularly concerning portability, the reduction of workarounds, and the enhancement of performance. This study utilizes directive-based programming languages, such as OpenACC, to effectively exploit GPU capabilities. We undertake a comprehensive comparative study and performance evaluation of the OpenACC programming model in comparison to CUDA in executing essential BLAS routines.
Authors
- Ezhilmathi Krishnasamy (ORCID: https://orcid.org/0000-0002-1971-4973)
- Pascal Bouvry (ORCID: https://orcid.org/0000-0001-9338-2834)
Institutions
- University of Luxembourg (LU)
Publication Details
- Published
- 2025-03-21
- DOI
- https://doi.org/10.1109/eect64505.2025.10966957
- Citations
- 1
- Primary Topic
- Parallel Computing and Optimization Techniques
- Type
- article
- Field-Weighted Citation Impact
- 2.27
Funders
- Fonds National de la Recherche Luxembourg