The Swiss National Supercomputing Centre organized the workshop "Directive Based GPU Programming", which was held on May 14-15, 2018 at CSCS in Lugano, Switzerland.

Directives-based programming facilitates the task of parallelizing your application by letting you focus on its parallel logic rather than on the very details and the low-level intricacies of the GPU architecture. In this course, we will introduce the OpenACC programming paradigms for the GPU. We will cover the parallel execution model and how it can be used to leverage parallelism, the memory model and how this differs from the classic CPU paradigm, as well as more advanced issues such as synchronisation and interoperability with MPI and CUDA. Throughout the course, hands-on practical exercises will accompany the theoretical material, so that the participants get a first grasp and a real feeling on how GPU programming with directives looks like.

Playlist with all the videos >>

Introduction to the GPU architecture >>

Introduction to OpenACC >>

Debugging and Profiling >>

Asynchronous execution >>

Interoperability with cuda >>

Deepcopy handling user defined data structures >>