TU Berlin

Fachgebiet Kommunikations- und BetriebssystemeParallel Programming

Logo Fachgebiet KBS

Inhalt des Dokuments

zur Navigation

Parallel Programming

Integrated Course (4 weekly hours) 0432 L 536 in SS 2012

News

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.

Dates

Type
Date
Time
Room
Lecturer
Integrated Course
Friday
10-12

MA 041

Schönherr

Thursday
14-16

EN 458 (Lab)



Start: April 13, 2012

Applicability

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

Course Language

The course will be given in English.

Summary

The 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.

Learning outcomes

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.

Contents

  • Programming models for parallel computing
  • Fundamental parallel algorithms
  • Concepts of MPI, OpenMP, OpenCL
  • Properties of parallel architectures
  • Introduction to the cluster management software CCS

References

  • 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.

Material

  • Course Slides
  • Assignments

Organization

The 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 (Thursday, 14-16) is in the computer lab to solve the programming assignments with some guidance and supervision.

Exam

Oral examination of the module (together with Cluster Computing). Successful completion of assignments is a prerequisite.

Prerequisites

Bachelor in Computer Science or related; basic knowledge in computer architecture, operating systems, algorithms and data structures; C programming.

Navigation

Direktzugang

Schnellnavigation zur Seite über Nummerneingabe