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