Summer School
Palabos Summer School 2022: Multi-GPU Programming
Dates |
4-6 July 2022 |
Topic |
Development of multi-GPU applications with Palabos, taking as an example multi-component flow through porous media. |
Place |
In-place event at University of Geneva, Switzerland. |
Typical audience |
Advanced PhDs and postdocs. The class is open to anyone interested, but participants should have prior experience with LBM. Prior knowledge of Palabos is useful. |
Price |
350 CHF for academic participants |
Registration |
Registration complete. |
Organizing committee |
Christophe Coreixas, Jonas Latt, Orestis Malaspinas, Francesco Marson, José Pedro de Santana Neto, Rémy Petkantchin, Karthik Thyagarajan, Moira Peter |
Venue |
Battelle Building A, Route de Drize 7, 1227 Carouge (ground floor, on the left) |
Overview
Palabos is an open-source, parallel simulation framework for multi-physics lattice Boltzmann simulations which covers a large range of numerical models and physical application cases.
Since summer 2021, substantial parts of Palabos have been rewritten to run on GPU. You can now achieve cluster-level performance on simple desktop computers with consumer-class GPUs and run huge problems on multi-GPU machines. Existing, simple Palabos applications can switch to the GPU backend through a single line change, while advanced applications can be adapted to GPU following a simple set of guidelines.
The Palabos Summer School 2022 provides a practical introduction to multi-GPU programming with the Palabos software library. As a practical use case, we will focus on multi-component flow through fully resolved porous media using the pseudo-potential Shan/Chen model.
Invited speakers
Prof. Xiaowen Shan (Southern University of Science and Technology) : The pseudo-potential model: a modern update
Dr. Andrea Parmigiani (Numeca International): Expert in LB modeling of geophysical processes, Dr. Parmigiani will help participants understand and improve results obtained during the practice sessions.
Theory sessions on Palabos
In this year's theory sessions on Palabos, you will
- learn more about the GPU implementation philosophy of Palabos (C++ parallel algorithms)
- understand the performance of a GPU code and the performance you can expect to reach with single-GPU and multi-GPU Palabos codes
- learn how to port existing CPU applications to GPU
- learn how to develop efficient GPU applications within the Palabos framework
Practice sessions: Hackathon
Consider a multi-component flow through a porous sandstone, as depicted on the video. The sandstone is initially saturated with a fluid (not shown on the video). A lighter fluid is injected from below in form of bubbles which percolate through the sandstone due to buoyancy.
The invading fluid does not completely saturate the sandstone, though, and instead builds preferred pathways, a phenomenon that can affect the storage capacity of the porous rock (example: carbon sequestration).
What's the average equilibrium saturation of the sand stone? What's its variance? What's the physics of the underlying process? Take profit of the sheer power of GPUs to explore these complex questions during the practice sessions of the Summer School, presented in form of a hackathon during which you will (in groups)
- Develop a multi-GPU program to solve this problem.
- Understand and the performance of a multi-GPU Palabos application.
- Execute production runs on modern hardware (access to NVIDIA A100 GPUs will be provided) and post-process the results.
- Discuss the results in a plenary session with the support of experts in the field.
Multi-component fluid simulation in Palabos, computed on a multi-GPU DGX A100 workstation
Schedule and detailed program
Palabos Summer School 2022.pdf
Prepare for the course
Personal preparedness: Participants should have prior exposure to the Lattice Boltzmann Method and Computational Fluid Dynamics. Typical participants could be PhD researchers who are already 1-2 years into their PhD or PostDocs. For an intro to the LBM, you can have a look at Week 5 of our Mooc. This year's Summer School focuses on GPU applications; you will optimally profit from these lectures if you are already familiar with the lectures of last year's summer school which are recorded. We recommend in particular that you watch the overview of Palabos and model development in Palabos if you have not participated in any of the previous summer schools
Laptop preparation: Hands-on sessions are carried out on the participants’ own laptops, which should be prepared in advance to be equipped with a C++ compiler, MPI, and Paraview. Typical configurations could be (1) a Linux Laptop, (2) a Windows Laptop with a properly configured Linux sub-system, (3) a Mac with a development environment (e.g. through Homebrew). Before attending the class, try to download and compile Palabos.