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:
- 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
Prerequisites: Knowledge in C
This course is a Prace Advanced Training Centres (PATC) course.Application
Registrations are only considered until 7 March 2014;
due to available space, the maximal number of participants is limited.
Applicants will be notified, whether they are accepted for participitation.
Instructors:
Dr. Jan Meinke, Jochen Kreutz, Peter Philippen, Andrew Adinetz, Anke Zitz, JSC;
Jiri Kraus, NVIDIA
Contact
For any questions concerning the course please send an e-mail to w.homberg@fz-juelich.de