Skip to main content

OpenMP Target Task: Tasking and Target Offloading on Heterogeneous Systems

by Pedro Valero Lara, Jungwon Kim, Oscar R Hernandez Mendoza, Jeffrey S Vetter
Publication Type
Conference Paper
Book Title
Euro-Par 2021: Parallel Processing Workshops
Publication Date
Page Numbers
445 to 455
Publisher Location
Cham, Switzerland
Conference Name
27th International European Conference on Parallel and Distributed Computing (Euro-Par)
Conference Location
Online Event, Portugal
Conference Sponsor
Springer, Google
Conference Date

This work evaluated the use of OpenMP tasking with target GPU offloading as a potential solution for programming productivity and performance on heterogeneous systems. Also, it is proposed a new OpenMP specification to make the implementation of heterogeneous codes simpler by using OpenMP target task, which integrates both OpenMP tasking and target GPU offloading in a single OpenMP pragma. As a test case, the authors used one of the most popular and widely used Basic Linear Algebra Subprogram Level-3 routines: triangular solver (TRSM). To benefit from the heterogeneity of the current high-performance computing systems, the authors propose a different parallelization of the algorithm by using a nonuniform decomposition of the problem. This work used target GPU offloading inside OpenMP tasks to address the heterogeneity found in the hardware. This new approach can outperform the state-of-the-art algorithms, which use a uniform decomposition of the data, on both the CPU-only and hybrid CPU-GPU systems, reaching speedups of up to one order of magnitude. The performance that this approach achieves is faster than the IBM ESSL math library on CPU and competitive relative to a highly optimized heterogeneous CUDA version. One node of Oak Ridge National Laboratory’s supercomputer, Summit, was used for performance analysis.