MATH-505 / 5 crédits

Enseignant: Grigori Laura

Langue: Anglais


Summary

The objective of this course is to provide the necessary background for designing efficient parallel algorithms in scientific computing as well as in the analysis of large volumes of data. The operations considered are the most costly steps at the heart of many complex numerical simulations.

Content

  • Introduction to high performance computing
  • Overview of state-of-the-art parallel architectures and programming techniques
  • Parallelism in time and space for solving complex problems
  • Factorization methods and communication avoiding algorithms
  • Krylov subspace iterative solvers
  • Low rank matrix approximation algorithms
  • Dimensionality reduction through randomization for solving large scale problems
  • Applications to data science

 

Learning Prerequisites

Required courses

  • Analysis
  • Linear algebra
  • Exposure to numerical linear algebra and numerical methods
  • Programming skills in a language as Matlab, Python, Julia, C ...

There is no requirement to have knowledge of parallel machines or experience with high performance computing programming. You will get an overview of those during the lectures. The two projects that will be graded are expected to be performed in Python and a library as MPI that allows to exhibit parallelism. They require a considerable amount of coding and performing numerical experiments while using theoretical mathematical background from the lectures.

Learning Outcomes

By the end of the course, the student must be able to:

  • Choose a particular linear algebra algorithm to solve a specific problem
  • Interpret the numerical and parallel efficiency results
  • Assess / Evaluate the numerical stability of different algorithms
  • Formulate the parallelization of a given algorithm
  • Investigate the potential bottlenecks of a parallel algorithm

Teaching methods

Lectures + exercise sessions

Expected student activities

Students are expected to attend lectures and participate actively in class and exercises. Exercises will include both theoretical work and programming assignments.

Assessment methods

Projects. The grade will be based on two substantial projects.

Resources

Bibliography

 

Matrix Computations, Gene H. Golub and Charles F. Van Loan

Introduction to communication avoiding algorithms for direct methods of factorization in
Linear Algebra, Chapter in Computational Mathematics, Numerical Analysis and Applications, SEMA SIMAI Springer Series, pdf

R. Murray et al, Randomized Numerical Linear Algebra: A Perspective on the Field with an Eye to Software, pdf


Ressources en bibliothèque

Moodle Link

Dans les plans d'études

  • Semestre: Automne
  • Forme de l'examen: Pendant le semestre (session d'hiver)
  • Matière examinée: HPC for numerical methods and data analysis
  • Cours: 2 Heure(s) hebdo x 14 semaines
  • Exercices: 2 Heure(s) hebdo x 14 semaines
  • Type: optionnel
  • Semestre: Automne
  • Forme de l'examen: Pendant le semestre (session d'hiver)
  • Matière examinée: HPC for numerical methods and data analysis
  • Cours: 2 Heure(s) hebdo x 14 semaines
  • Exercices: 2 Heure(s) hebdo x 14 semaines
  • Type: optionnel
  • Semestre: Automne
  • Forme de l'examen: Pendant le semestre (session d'hiver)
  • Matière examinée: HPC for numerical methods and data analysis
  • Cours: 2 Heure(s) hebdo x 14 semaines
  • Exercices: 2 Heure(s) hebdo x 14 semaines
  • Type: optionnel
  • Semestre: Automne
  • Forme de l'examen: Pendant le semestre (session d'hiver)
  • Matière examinée: HPC for numerical methods and data analysis
  • Cours: 2 Heure(s) hebdo x 14 semaines
  • Exercices: 2 Heure(s) hebdo x 14 semaines
  • Type: optionnel
  • Semestre: Automne
  • Forme de l'examen: Pendant le semestre (session d'hiver)
  • Matière examinée: HPC for numerical methods and data analysis
  • Cours: 2 Heure(s) hebdo x 14 semaines
  • Exercices: 2 Heure(s) hebdo x 14 semaines
  • Type: optionnel
  • Semestre: Automne
  • Forme de l'examen: Pendant le semestre (session d'hiver)
  • Matière examinée: HPC for numerical methods and data analysis
  • Cours: 2 Heure(s) hebdo x 14 semaines
  • Exercices: 2 Heure(s) hebdo x 14 semaines
  • Type: optionnel

Semaine de référence

Cours connexes

Résultats de graphsearch.epfl.ch.