This course teaches advanced parallel programming for science and engineering. Building on the knowledge obtained in the course Parallel Programming I, the students attending this course will gain deeper insights into parallel programming and will learn about emerging parallel programming models.
Contents:
• POSIX threads
• Programming of graphics processing units (GPUs)
• Advanced MPI features
• Partitioned global address space (PGAS) languages
Language of instruction:
• English
Requirements:
• Knowledge of the C programming language
• Completion of Parallel Programming I or equivalent knowledge
Hours:
• 3h lecture and 2h practical exercise per week
Schedule:
This course is available every summer semester. For details regarding venue and time please consult the
CAMPUS system.
Literature:
T. Rauber, G. Rünger: Parallele Programmierung, Springer, 2. Auflage, 2007
D. Kirk: Programming Massiveley Parallel Processors, Morgan Kaufmann, 2010
W. Gropp, E. Lusk, R. Thakur: Using MPI-2: Advanced Features of the Message-Passing Interface, The MIT Press, 1999.
T. El-Ghazawi, W. Carlson, T. Sterling: UPC: Distributed Shared Memory Programming, John Wiley & Sons, 2005.