Many-core programming is a very dynamic research area. Many scientific applications have been ported to GPU architectures in recent years. We will give an introduction to CUDA, OpenACC, OpenCL, and multi-GPU programming using examples of increasing complexity. After introducing the basics the focus will be on optimization and tuning of scientific applications. Topics covered will include:
Prerequisites: Knowledge in C
This course is a Prace Advanced Training Centres (PATC) course.