Presentation
SIGN IN TO VIEW THIS PRESENTATION Sign In
Mastering OpenMP Tasking: From Start to Free-Agent Tasks
DescriptionOpenMP is the leading, portable, and widely supported directive-based programming model. Already in 2008, OpenMP introduced tasking to support the creation of composable parallel software blocks and the parallelization of irregular algorithms. Developers usually find OpenMP easy to learn. However, mastering the tasking concept requires a change in the way developers reason about the structure of their code and how they expose its parallelism. Our tutorial has been designed for the SC audience to learn about the tasking concept in detail and to understand code patterns as solutions to many common problems. Throughout all topics, we showcase the additions brought with OpenMP 5.x and OpenMP 6.0 and explain how to adopt codes. For this tutorial, we assume attendees understand basic parallelization concepts and know the fundamentals of OpenMP. First, we introduce the OpenMP tasking language features in detail and then focus on performance aspects, such as introducing cutoff mechanisms, exploiting task dependencies, and preserving locality. The new free-agent tasks introduced with OpenMP 6.0 are covered in detail. All topics are accompanied by extensive case studies. If accepted as a full-day tutorial, we will include hands-on sessions.




