Parallel and High Performance Computing
Vorlesung mit Übung im Wintersemester 2024/25
Prof. Dr. D. Kranzlmüller,
Dr. K. Fürlinger,
Sergej Breiter
This course will be held in English!
Welcome to the course webpage for
Parallel and High Performance
Computing for winter-term 2024/25 at LMU Munich. Here you will
find details on the lecture and the accompanying practical lab
exercises.
-
Here is the enrollment key for the lecture on Moodle: ParallelPioneers
- The first lecture will take place on Thursday 17th October, 2024 in room M 110 (Geschw.-Scholl-Pl. 1) starting at 9:15am. and
the first lab exercise will take place a week later, on Thursday 24th October, 2024 in room M 110 (Geschw.-Scholl-Pl. 1) starting at 12:15 pm.
- The lab exercise on Thursday, November 14th will not take place.
- There will be a C crash course instead of the lab exercise on October 17th. Participation is strongly recommended for students without prior knowledge of the C programming language since we will use C in the lecture and lab exercises. Note: Windows users should install WSL and get familiar with Linux in advance.
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
cores.
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 tablets 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
professionals.
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
approaches.
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.
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 Moodle.
Lecture slides will be made available chapter-by-chapter through
this
webpage.
|
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)
|
Here is the enrollment key for the
lecture on Moodle: ParallelPioneers
Via
email and/or after the
lecture and lab exercises.