High-Performance Computing on Clusters Ruhr-Universität Bochum
Course Overview
The lecture deals with the parallelization on cluster computers. Distributed-memory programming concepts (MPI) are introduced and best-practice implementation is presented based on applications from scientific computing including the finite element method and machine learning.Special attention is paid to scalable solvers for systems of equations on distributed-memory systems, focusing on iterative schemes such as simple splitting methods (Richardson, Jacobi, Gauß-Seidel, SOR), Krylov-methods (Gradient descent, CG, BiCGStab) and, in particular, the multigrid method. The mathematical foundations for iterative solvers are reviewed, suitable object-oriented interface structures are developed and an implementation of these solvers for modern parallel computer architectures is developed.Numerical experiments and self-developed software implementations are used to discuss and illustrate the theoretical results.After successfully completing the module, the students- are enabled to design and create programs for parallel computing clusters,- can critically evaluate distributed-memory systems and programming patterns,- can assess the mathematical properties of iterative solvers and their scalability.
Learning Achievement
Competence
Course prerequisites
Grading Philosophy
The following technical equipment is required to attend the course: - Computer or Laptop with Windows, Linux or MacOS (hands-on programming)- Software to create beamer slides (e.g. Powerpoint, Keynote, PDF generator, ...)- Video camera and microphone
Course schedule
Course type
Online Course Requirement
Instructor
Prof. Dr. Andreas Vogel
Other information
Programme: Computational Engineering
Site for Inquiry
Please inquire about the courses at the address below.
Email address: a.vogel@rub.de