Scientific computing and parallelisation

Unit Coordinator: Sabine Le Borne, Daniel Ruprecht
Programme: Erasmus Mundus
ECTS Credits: 9
Semester: 2
Year: 1
Campus: Hamburg University of Technology
Language: English
Aims:

Students can list classical and modern iteration methods and their interrelationships, repeat convergence statements for iterative methods and explain aspects regarding the efficient implementation of iteration methods.

They will learn the fundamental concepts of parallel programming and how to translate them into efficient, parallel code.

They will learn how to compile parallel code and how to model and measure performance of parallelized software. 

Content:
  • Sparse systems: orderings and storage formats, direct solvers;
  • Classical methods: basic notions, convergence;
  • Projection methods;
  • Rylov space methods;
  • Preconditioning (e.g. ILU);
  • Multigrid methods;
  • Domain decomposition methods, shared versus distributed memory parallelization;
  • Message Passing Interface;
  • OpenMP;
  • Threads;
  • Processes;
  • HPC architecture;
  • Performance models;
  • Speedup and parallel efficiency 
Pre-requisites:
  • Analysis,
  • Linear Algebra,
  • Programming experience in C and C++, FORTRAN, Python or a similar programming language.
Reading list:
  • Y. Saad. Iterative methods for sparse linear systems
  • M. Olshanskii, E. Tyrtyshnikov. Iterative methods for linear systems: theory and applications
  • Thomas Rauber, Parallel Programming : for Multicore and Cluster Systems, Berlin [u.a.] Springer 2010
  • Bertil Schmidt, Parallel programming : concepts and practice, Amsterdam Morgan Kaufmann 201

Print  

Related Articles