Inhalt des Dokuments
News, forums, slides and other resources are available on the module's ISIS-page . Please register yourself using the module's registration form  in ISIS.
Start: April 12, 2013
Informatik (Diplom): Study Area BKS
Informatik (MSc): Mandatory course in module MINF-KS-PS
Technische Informatik (Diplom): Catalogue Technical Applications
Technische Informatik (MSc): Mandatory course in module MINF-KS-PS
integrated course will give an introduction to parallel programming.
It will be discussed, how parallel machines can be modeled and how
parallel algorithms can be designed. Based on the two paradigms of
parallel programming, message passing and shared memory, basic
parallel algorithms are presented. Practical training will be provided
by programming assignments using MPI, OpenMP and/or OpenCL on
different parallel architectures.
After finishing this course students should:
- understand the fundamental difference between shared memory and message passing programming models,
- know the primitives and control structures of parallel programming environments and how to use them,
- be able to design and implement parallel algorithms.
- Programming models for parallel computing
- Fundamental parallel algorithms
- Concepts of MPI, OpenMP, OpenCL
- Properties of parallel architectures
- Introduction to the cluster management software CCS
- Quinn, M.: Parallel programming in C with MPI and OpenMP. Mgraw-Hill, 2003.
- Rauber, Th., Rünger, G.: Parallele Programmierung, 2. Aufl. Springer, 2007.
- Mattson, T.; Sanders, B.; Massingill, B.: Patterns for Parallel Programming. Addison-Wesley, 2004.
- Herlihy, M.; Shavit, N.: The art of multiprocessor programming. Morgan Kaufmann, 2008.
- Andrews, G. A.: Foundations of Multithreaded, Parallel and Distributed Programming. Addison-Wesley, 2000.
- Jaja, J.: An introduction to parallel algorithms. Addison-Wesley, 1992.
course consists of two meetings per week. One meeting (Friday, 10-12)
is a mix of lecturing, introduction of assignments and discussion of
results. The other meeting (Wednesday, 10-12) is in the computer lab
to solve the programming assignments with some guidance and
examination of the module (together with Cluster Computing).
Successful completion of assignments is a prerequisite.
Bachelor in Computer Science or related; basic knowledge in computer architecture, operating systems, algorithms and data structures; C programming.