This course provides the introductory level information for porting a code to GPUs using directive-model approaches. The course will be structured
* introduction to the GPU architecture
* OpenACC application programming interface
* OpenMP offload directives
By the end of the course, students will be able to:
* understand the strengths and weaknesses of GPUs as accelerators
* program GPU accelerated applications using a high level directive approach (either OpenACC or OpenMP)
* overcome problems and bottlenecks regarding data movement between host and device memories
Researchers and programmers interested in porting scientific applications or use efficient post-process and data-analysis techniques in modern heterogeneous HPC architectures.
A good knowledge of C or Fortran is mandatory. Hands on sessions are performed using a standard Unix/Linux developing environment. A basic knowledge of any parallel programming technique/paradigm such as OpenMP or MPI is recommended, but not required.