PATC Training Course "GPU Programming"
(Course no. 72/2013 in the training programme of Forschungszentrum Jülich)
Instructors: | Dr. Jan Meinke, Jochen Kreutz, Peter Philippen, Willi Homberg, JSC; Suraj Prabhakaran, GRS; Jiri Kraus, NVIDIA |
Language: | This course is given in English. |
Contents: | |
Duration: | 3 days |
Dates: | 15-17 April 2013, 9:00 - 16:30 |
Venue: | Jülich Supercomputing Centre, Ausbildungsraum 1, building 16.3, room 021 |
Many-core programming is a very dynamic research area. Many scientific applications have been ported to GPU architectures during the past four years. We will give an introduction to CUDA, 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:
- Programming models: CUDA, OpenACC, OpenCL
- Using libraries as interface for GPU programming (e.g. Thrust)
- Partitioning and granularity of parallel applications
- Debugging and profiling of kernels
- Performance optimizations
- Multi-GPU programming using MPI
Prerequisites: Knowledge in C
This course is a PATC course (PRACE Advanced Training Centres).