Practical Course on Parallel Computing

I. Overview

As a practical course, the focus is on hands-on sessions and problem solving. Students get an introduction to the various topics covered by the course and then use the laboratory equipment to solve assignments of each section of the course. Workable solutions will be graded.

II. Entrance criteria

None. Hearing Parallel Computing is highly recommended.

III. Recommended qualifications

  • Parallel Computing
  • Computer architecture
  • Data structures and algorithms
  • Programming in C(/C++)
  • Basic knowledge of computer networks
  • Basic know-how of computing clusters

IV. Educational objectives

Successfully completing this course, students are able to

  • practically work with a cluster of computers (e.g., using a batch system)
  • practically utilize grid computing infrastructures and manage their jobs (e.g., Globus toolkit)
  • apply distributed memory architectures for parallelism through practical problem solving (MPI programming)
  • utilize shared memory architectures for parallelism (e.g., OpenMP and pthreads)
  • utilize heterogenous parallelism (e.g., OpenCL, CUDA and general GPU
  • programming concepts)
  • utilize their previous knowledge in data structures and algorithm

V. Exam

None. Assignments will be graded, detailed information are given during the course.

VI. Textbook and recommended readings

An Introduction to Parallel Programming, Peter S. Pacheco, Morgan Kaufmann (MK), 2011, ISBN: 978-0-12-374260-52.

Modul M.Inf.1808

  • 6 Credits
  • Regularly offered in Summer semesters
  • Language: English

Dr. Sven Bingert

Amount of work

  • 56 h attendance, 4 hours of class per week
  • 124 h self-studies