OpenMP is an application programming interface designed to facilitate parallelism. It is the model of choice for shared-memory programming, which enables serial programs to be parallelised using compiler directives. Since its introduction in 1997, OpenMP has tracked the evolution of hardware used in high-performance computing including the increasing use of accelerators such as GPUs.
In this course the student will learn a wide range of OpenMP topics, starting from the basics before moving to really advanced topics.
The material presented in this course is a prerequisite for the “OpenMP offloading” course and specifically the knowledge of the tasking.