This page was translated by an AI (LLM) with a cursory human check and is awaiting full review.

Introduction to ScaLAPACK and MAGMA Libraries
Managers : Karim Hasnaoui (ScaLAPACK), Simplice Donfack (MAGMA)
Instructors : Karim Hasnaoui, Simplice Donfack
In the first part of this course, we present ScaLAPACK, a high-performance dense linear algebra library based on message-passing routines for distributed memory machines. ScaLAPACK is primarily based on a subset of routines from LAPACK (Linear Algebra PACKage) and BLAS (Basic Linear Algebra Subprograms) redesigned for parallel MIMD computers with distributed memory. In ScaLAPACK, all MPI communications are handled by routines provided by the BLACS (Basic Linear Algebra Communication Subprograms) library.
The training will mainly focus on using the PBLAS (Parallel BLAS) and ScaLAPACK libraries for linear algebra problems in HPC.
In the second part of the course, we present MAGMA, a dense linear algebra library similar to LAPACK but for hybrid/heterogeneous CPU/GPU architectures. We start by presenting the basic concepts of GPU architectures and an overview of communication schemes between CPU and GPU. Then, we briefly present hybrid CPU/GPU programming models. Finally, we present MAGMA and how the library can be used to easily and efficiently accelerate scientific codes, especially those that already use BLAS and LAPACK.
Objectives
ScaLAPACK
- Parallelise linear algebra codes on parallel MIMD distributed memory computers using the ScaLAPACK library
MAGMA
- Learn the basic concepts of hybrid CPU/GPU programming
- Parallelise linear algebra codes using MAGMA in single-GPU and multi-GPU configurations
- Debug, profile and analyse the performance of a GPU code using NVIDIA tools
- Target audience
- Prerequisites
- Duration and practical info
- Course content
- Upcoming sessions
Prerequisites
- Knowledge and use of Fortran or C languages.
- Basic notions of linear algebra and MPI programming would be a plus.
Duration and practical info
This training lasts 2 days.
It takes place exclusively in-person at the premises of IDRIS in Orsay (91).
Attendance
Minimum : 8 people ;
Maximum : 20 people.
Programme
Day 1 : Introduction to ScaLAPACK
- General introduction to the PBLAS and ScaLAPACK libraries.
- Main ideas on how to decompose linear algebra problems in parallel programming.
- Examples of basic operations with PBLAS: vector-vector, vector-matrix and matrix-matrix operations.
- Examples of basic operations with ScaLAPACK: inversion and diagonalization.
- Main problem based on computing the exponentiation of a matrix.
💡 Practical work (about 50% of the time).
Day 2 : Introduction to MAGMA
- Presentation of the basic concepts of hybrid CPU/GPU programming.
- General introduction to the MAGMA library.
- Presentation of MAGMA APIs for single-GPU:
- Management of memory, queues, communications, events.
- Introduction to NVIDIA profiling and debugging tools.
- Presentation of MAGMA APIs for multi-GPU:
- Communications management, Data distribution.
💡 Practical work (about 50% of the time).
For an efficient execution of the practical parts, these will take place on the Jean Zay supercomputer. A workstation with access to the IDRIS supercomputer is provided to the learners. Experience in using a supercomputer, as well as prior access to it, are not required.
To view the dates of the upcoming sessions for this training, go to the following page:
Registration
Registration is free but mandatory on our training web server.
Register for this training