. .

Parallel Programming I


This course teaches parallel programming for science and engineering. Emphasis is given to programming models predominantly used in high-performance computing. Students attending this course will be trained to write correct and efficient parallel programs.

Contents:
  •  Principles of parallel performance
  •  Parallel architectures
  •  Processes and threads
  •  MPI
  •  OpenMP
  •  Parallel programming tools
  •  Patterns of parallel programming

 

Language of instruction:
  •  English

 

Requirements:
  •  Knowledge of the C programming language
  •  Literature: C Programming Language by Brian W. Kernighan and Dennis M. Ritchie, Prentice Hall, 2nd edition.

 

Hours:
  •  3h lecture and 2h practical exercise per week

 

Schedule:
This course is available every winter semester. For details regarding venue and time please consult the CAMPUS system.

 

Literature:
W. Gropp, A. Skjellum, E. Lusk: Using MPI: Portable Parallel Programming with the Message Passing Interface, 2nd Edition, The MIT Press, 1999.

R. Chandra, L. Dagum, D. Kohr, D. Maydan, J. McDonald, R. Menon: Parallel Programming in OpenMP, Morgan Kaufmann Publishers, Academic Press, 2001.

B. Chapman, G. Jost , R. van der Pas: Using OpenMP: Portable Shared Memory Parallel Programming, The MIT Press, 2007.

T. Mattson, B. Sanders, B. Massingill: Patterns for Parallel Programming, Addison-Wesley, 2004.