Informatics school 2025
Portable Performance Programming on GPU
Scientific background
The main theme of this school is the programming of complex hardware architectures (computers with gas pedals) for simulation codes.
In recent years, the variety of supercomputer architectures has increased. However, the common denominator of all ultra-high-performance architectures is the use of specialized computing units, alongside the general-purpose processor. The generic term “gas pedal” is used to describe such machines.
The heterogeneity of the computers involved is a source of programming difficulties, but the complementary nature of the computing units used to process the various tasks means that performance levels can be achieved that would be unattainable with more conventional, homogeneous machines.
This problem is encountered by all HPC scientific applications, and actions are being implemented at all research institutes, particularly at CEA, EDF and INRIA.
Contents
Focusing on High-Performance Computing (HPC), the program aims to train participants in the efficient use of GPU techniques on today’s supercomputers.
The program is structured along 3 main lines:
– Knowledge of accelerated machine architecture, in particular GPU features and the fundamental differences with CPUs.
– Optimized CPU-GPU portable programming techniques: use of the Kokkos library.
– Accelerated code architecture: techniques for reorganizing existing codes to facilitate efficient porting to GPUs.
These 3 areas of expertise are complementary and essential for obtaining efficient codes on accelerated machines. Knowledge of hardware architecture enables us to anticipate high-performance paradigms, and the Kokkos library is a practical answer to the question of how to program such architectures, while the architecture aspect is essential for the proper use of hardware.
Tutorials will be illustrated on a GPU-equipped supercomputer.
Preliminary program
– Monday, June 23, 2024
– 9am – 12pm: Course on hardware architectures
– 2pm – 5pm: Experimentation and manipulation on the Romeo machine
– 17h – 18h : Visit of the Romeo computer
– Tuesday June 24, 2024
– 9am – 12pm: Kokkos course, D. Lebrun-Grandié
– 14h – 17h : Practical work on Kokkos, D. Lebrun-Grandié
– 17h – 18h : CEA feedback seminar
– Wednesday June 25, 2024
– 9am – 12pm: Kokkos course, D. Lebrun-Grandié
– 14h – 17h : Kokkos practical work, D. Lebrun-Grandié
– 17h – 18h : EDF feedback seminar
– Thursday June 26, 2025
– 9am – 12pm: Advanced Kokkos course, D. Lebrun-Grandié
– 14h – 17h : Kokkos practical work, D. Lebrun-Grandié
– 17h – 18h : CEA feedback seminar
– Friday June 27, 2025
– 9am – 12pm: Software Architecture for Accelerated Code course
– 2 – 4 pm : Practical work on code architecture
Practical information
Date
23 june – 27 june 2025
Place
Reims
Registration
If you wish to participate, please fill the registration form and send it before 12 mai 2025 at Régis Vizet.
Prerequisites
Knowledge of parallel programming and C++.
Although the concepts are not closely linked to any programming language, practical techniques will be presented in C++ only. For example, equivalent Fortran technologies for GPU programming are often less mature and would make the practical part difficult. On the other hand, seminars can feature developments in Python or Fortran.
Contacts
Summer schools secretary
Régis Vizet – CEA
tel: 01 69 26 47 45
Fax: 01 69 26 70 05
Coordinators of the computer science 2025 school
Cédric Chevalier