|
Description
|
The introduction of Graphics Processing Units (GPUs) to scientific computing has led to the development of various programming models designed to maximize their computational capabilities. Over the past few decades, GPU vendors have matured, resulting in a diverse array of GPU programming models and continuous advancements in compiler technologies that support these developments. Among these options, Open Multi-Processing (OpenMP) Offloading has emerged as a particularly promising programming model that targets GPUs from NVIDIA, AMD, and Intel. This study investigates the effectiveness of OpenMP Offloading on NVIDIA (H100) and AMD (MI250X) GPUs, which utilize different interconnect technologies—Peripheral Component Interconnect Express (PCIe) Gen5 for NVIDIA and Infinity Fabric (IF) for AMD. Using vendor-specific compiler toolchains, namely NVHPC (version 23.7-0) for NVIDIA and Cray Clang (version 17.0.1) for AMD, we evaluate performance across key linear algebra operations, focusing on kernel execution efficiency and data transfer strategies between the host CPU and the GPU. Additionally, this work includes a comparative analysis of OpenMP Offloading against cuBLAS and hipBLAS. Our results indicate that OpenMP Offloading offers performance comparable to the best numerical library versions for BLAS level 1 and 2 operations on H100 and MI250X (except matrix-vector multiplication). Furthermore, Infinity Fabric provides approximately 1.5 times the bandwidth of PCIe Gen5, according to our measurements. We also recommend utilizing low-level Application Programming Interfaces (APIs) to achieve improved performance for data movement between the CPU and GPU. (2025-08-27)
***This entry has been automatically imported via OpenAlex by LIST harvest scripts. Please refer to https://doi.org/10.1145/3774949.3774956 for the original and latest version of the publication*** (2026-07-01)
|
|
Keyword
|
PCI Express, Compiler, Programming paradigm, CUDA, Kernel (algebra), General-purpose computing on graphics processing units, Graphics, Supercomputer |