Specialized Kernels for Optimizing GPU Offload in OpenMP
Dhruva R. Chakrabarti, Gregory P. Rodgers, Carlo Bertolli, Gheorghe-Teodor Bercea, Jan-Patrick Lehr, Lynd Stringer, Jan Leyonberg, Dan Palermo, Ron Lieberman · 2023
Programming models for general purpose GPU (GPGPU) computing include grid and non-grid languages. Grid languages like CUDA and HIP map directly to the GPU hardware and can extract high performance from applications. However, this low-level programming approach makes them more difficult to program than non-grid languages such as C, C++, and Fortran with OpenMP target offload. Furthermore, grid languages often have more portability issues than non-grid languages. However, code generated from non-grid languages using automatic compiler and runtime techniques often incur higher overhead while generating GPU kernels for target regions.