MATH-505 / 5 credits

Teacher: Grigori Laura

Language: English


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 MPI programming technique
  • Factorization methods and communication avoiding algorithms
  • Randomization for solving large scale problems
  • Low rank matrix approximation algorithms, deterministic and randomized approaches
  • Krylov subspace iterative solvers, deterministic and randomized approaches
  • 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 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 and quizz. The grade will be based on two substantial projects that focus on randomized algorithms, an oral presentation of the second project, and a quizz for the last lectures.

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

In the programs

  • Semester: Fall
  • Exam form: Oral (winter session)
  • Subject examined: HPC for numerical methods and data analysis
  • Courses: 2 Hour(s) per week x 14 weeks
  • Exercises: 2 Hour(s) per week x 14 weeks
  • Type: optional
  • Semester: Fall
  • Exam form: Oral (winter session)
  • Subject examined: HPC for numerical methods and data analysis
  • Courses: 2 Hour(s) per week x 14 weeks
  • Exercises: 2 Hour(s) per week x 14 weeks
  • Type: optional
  • Semester: Fall
  • Exam form: Oral (winter session)
  • Subject examined: HPC for numerical methods and data analysis
  • Courses: 2 Hour(s) per week x 14 weeks
  • Exercises: 2 Hour(s) per week x 14 weeks
  • Type: optional
  • Semester: Fall
  • Exam form: Oral (winter session)
  • Subject examined: HPC for numerical methods and data analysis
  • Courses: 2 Hour(s) per week x 14 weeks
  • Exercises: 2 Hour(s) per week x 14 weeks
  • Type: optional
  • Semester: Fall
  • Exam form: Oral (winter session)
  • Subject examined: HPC for numerical methods and data analysis
  • Courses: 2 Hour(s) per week x 14 weeks
  • Exercises: 2 Hour(s) per week x 14 weeks
  • Type: optional
  • Semester: Fall
  • Exam form: Oral (winter session)
  • Subject examined: HPC for numerical methods and data analysis
  • Courses: 2 Hour(s) per week x 14 weeks
  • Exercises: 2 Hour(s) per week x 14 weeks
  • Type: optional
  • Semester: Fall
  • Exam form: Oral (winter session)
  • Subject examined: HPC for numerical methods and data analysis
  • Courses: 2 Hour(s) per week x 14 weeks
  • Exercises: 2 Hour(s) per week x 14 weeks
  • Type: optional

Reference week

Related courses

Results from graphsearch.epfl.ch.