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
600 CHF for industrial 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)
Arrival Monday morning 4th of July 8:30 - 9:00

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.