Content:
E. Agullo (Inria), M. Faverge (Institut Polytechnique de Bordeaux), L. Giraud (Inria), A. Guermouche (Université de Bordeaux 1), J. Pedron (Inria), P. Ramet (Université de Bordeaux 1)
Learning outcomes
Understand the main features of the direct and iterative methods, their tradeoffs and when using them is most advisable.
Gain practical experience with some state of the art solvers.
Prerequisites
Basic knowledge of linear algebra and parallel algorithms
Knowledge of a programming language (Fortran, C, C++)
Ability to use Linux (Unix)
-
This course will present the state of the art in the development of parallel direct methods for sparse linear systems. Some of these methods are being implemented as black box solvers; the corresponding toolkits will be experimented in dedicated hand-on sessions.
The course will also present recent work on hybrid (direct / iterative) methods that better exploit the two-level structure of current parallel architectures.
Direct solvers:- Dense matrices (serial and parallel, 1D and 2D distributions)
- Sparse matrices (graph model, renumbering, elimination graph, symbolic and numeric factorizations)
- Parallel methods: data distribution, scheduling of computations and communications
- Hands-on with the MUMPS and Pastix solvers
Hybrid methods
- Basics on Krylov subspace methods
- Basics on algebraic domain decomposition methods (Schur/Schwarz)
- Hybrid direct/iterative methods: motivation and description of methods
- Hierarchical parallel implementation and scalability issues
Hands-on session with the MaPhys and HIPS solvers.
E. Agullo (Inria), M. Faverge (Institut Polytechnique de Bordeaux), L. Giraud (Inria), A. Guermouche (Université de Bordeaux 1), J. Pedron (Inria), P. Ramet (Université de Bordeaux 1)
Learning outcomes
Understand the main features of the direct and iterative methods, their tradeoffs and when using them is most advisable.
Gain practical experience with some state of the art solvers.
Prerequisites
Basic knowledge of linear algebra and parallel algorithms
Knowledge of a programming language (Fortran, C, C++)
Ability to use Linux (Unix)