Description
This course gives a thorough introduction to programming GPUs using the directive based OpenACC paradigm. The course consists of lectures and hands-on exercises. Topics of this course include the basic usage of OpenACC, as well as some more advanced issues related to profiling, performance and interoperability with CUDA.
Learning outcome
After the course the participants should have the basic skills needed for utilizing OpenACC in new, or existing programs.
Prerequisites
The participants are assumed to have working knowledge of Fortran and/or C programming languages. In addition, fluent operation in a Linux/Unix environment will be assumed.
Agenda
Day 1, Monday 4.12
09:00 - 12:00 SESSION 1 & Coffee break
- Introduction to accelerators
- Introduction to OpenACC
- Exercises
12:00 - 13:00 Lunch
13:00 - 16:00 SESSION 2 & Coffee break
- Data movement
- Exercises
Day 2, Tuesday 5.12
09:00 - 12:00 SESSION 3 & Coffee break
- Profilling
- Performance considerations
- Exercises
12:00 - 13:00 Lunch
13:00 - 16:00 SESSION 4 & Coffee break
- Asynchronous operations and pipelining
- Interoperability with CUDA and GPU-Accelerated libraries
- Exercises
Lecturers: Sami Ilvonen (CSC), Fredrik Robertsén (CSC)
Language: English
Price: Free of charge