This course gives an overview on GPGPU computing techniques to accelerate computational demanding tasks of HPC applications. The course is mainly focused on the CUDA (Compute Unified Device Architecture) programming language, but some introductory notes on OpenCL, OpenACC will be given. The attendees will be introduced to the basic concepts of the language, the main features of this programming model and to the performance tuning.
Researchers and programmers interested in scientific programming and in efficient use of GPGPU in HPC context
GPU NVIDIA architecture, CUDA programming and execution model, CUDA libraries, performance tuning, Kepler GPU features, introductory notes on OpenCL, OpenACC.
A basic knowledge on C programming and Linux or Unix. A basic knowledge of any parallel programming is recommended.