Parallel and High Performance Computing
(ehem. "Parallel Computing: Grundlagen und Anwendungen")
Vorlesung mit Übung im Wintersemester 2021/22
Prof. Dr. D. Kranzlmüller,
Dr. K. Fürlinger
This course will be held in English!
Welcome to the course webpage for Parallel and High Performance
for winter-term 2021/22 at LMU Munich. Here you will
find details on the lecture and the accompanying practical lab
- Oct. 7, 2021: The course will be held online, without in-person meetings. See Important Notes below.
- July 6, 2021: Webpage is online and course registration is enabled on Uni2Work.
Parallel computing is concerned with using multiple compute units
to solve a problem faster or with higher accuracy. Historically, the
main application area for parallel machines is found in engineering
and scientific computing, where high performance computing (HPC)
systems today employ tens- or even hundreds of thousand compute
The application area for parallel computing has, however,
expanded recently to essentially include all areas of information
technology. Virtually all servers, desktop, and notebook systems, and
even smartphones and tables are today equipped with CPUs that contain
multiple compute cores. In each case, the potential for these systems
can only be fully realized by explicit parallel programming. As such
understanding the benefits, challenges, and limits of parallel
computing is increasingly becoming a "must have" qualification for IT
This course addresses the increasing importance of parallel and high
performance computing and is covering three interwoven areas:
Parallel hardware architectures, parallel algorithm
design, and parallel programming. The successful student
will be able to identify potentials for parallel computing in various
application areas, judge the suitability of contemporary hardware
architectures for a parallel computing problem and understand
efficient implementation strategies using modern parallel programming
The lecture is partially based on material that has been developed at
UC Berkeley and which has been funded by the US National Science
Foundation. The course slides will be made available for download by
the date of the lecture and will be in English.
The course is intended for both bachelor and master students of
computer science and related fields. More formally, in German: Die
Vorlesung richtet sich an Studenten der Informatik
bzw. Medieninformatik (Diplom) nach dem Vordiplom sowie an Studenten
der Informatik, Bioinformatik bzw. Medieninformatik (Bachelor, Master)
im Rahmen der vertiefenden Themen der Informatik. Für Vorlesung und
Übung werden 6 ECTS-Punkte vergeben.
Notes regarding lecture and lab in WS21/22
: Due to the large number of
students already registered for the course and continued interest, in
combination with the limited seating space in the assigned rooms for
lecture and lab exercises, we have decided to switch to an online mode
for the coming semester. Here is the plan:
- The lecture material will be provided in the form of pre-recorded
videos (slides+audio), made available on a weekly basis via LMUcast
for download and streaming.
- The lab exercises will be held using weekly synchronous (live) Zoom
meetings. These meetings will not be recorded.
- There will be additional Q&A / feedback sessions
for the material presented in the lecture, held every few weeks
throughout the semester as synchronous (live) Zoom meetings. Those
sessions will be scheduled during the time originally planned for
the lecture: Fridays starting at around 2pm. These meetings will not
- The exam will take place as a regular in-person exam.
The lecture is accompanied by a lab exercises to deepen the
understanding of topics covered in the lecture. High performance
computing systems hosted at the Leibniz Supercomputing Center will be
made available to the students. Worksheets for the lab exercises will
be made available on Uni2Work.
Lecture slides will be made available chapter-by-chapter through this
Paul E. McKenney (Ed.): Is Parallel Programming Hard, And, If So, What Can You Do About It?(online) (link)
Ananth Grama et al.:Introduction to Parallel Computing (2nd Ed.) (link)
David Culler and Jaswinder Pal Singh: Parallel Computer Architecture, A Hardware / Software Approach (link)
John Hennessy and David Patterson: Computer Architecture a Quantitative Approach (5th Ed.) (link)
Georg Hager and Gerhard Wellein: Introduction to High Performance Computing for Scientists and Engineers (link)
Barbara Chapman et al.: Using OpenMP (link)
Ruud van der Pas, Eric Stotzer and Christian Terboven Using OpenMP - The next Step (link)
William Gropp, Ewing Lusk, Anthony Skjellum: Using MPI (link)
William Gropp, Torsten Hoefler, Ewing Lusk: Using Advanced MPI (link)
Please register for the course on Uni2Work
and/or after the
lecture and lab exercises.