COMP-PHCELGNov 27, 2023

XLB: A differentiable massively parallel lattice Boltzmann library in Python

arXiv:2311.16080v336 citationsh-index: 13Has Code
Originality Synthesis-oriented
AI Analysis

This library provides a tool for researchers and engineers in computational fluid dynamics and physics-based machine learning, though it is incremental as it builds on existing LBM and JAX frameworks.

The authors introduced XLB, a Python-based differentiable lattice Boltzmann library built on JAX, tackling the need for scalable and accessible fluid dynamics simulations, and demonstrated it can handle simulations with billions of cells at giga-scale lattice updates per second.

The lattice Boltzmann method (LBM) has emerged as a prominent technique for solving fluid dynamics problems due to its algorithmic potential for computational scalability. We introduce XLB library, a Python-based differentiable LBM library based on the JAX platform. The architecture of XLB is predicated upon ensuring accessibility, extensibility, and computational performance, enabling scaling effectively across CPU, TPU, multi-GPU, and distributed multi-GPU or TPU systems. The library can be readily augmented with novel boundary conditions, collision models, or multi-physics simulation capabilities. XLB's differentiability and data structure is compatible with the extensive JAX-based machine learning ecosystem, enabling it to address physics-based machine learning, optimization, and inverse problems. XLB has been successfully scaled to handle simulations with billions of cells, achieving giga-scale lattice updates per second. XLB is released under the permissive Apache-2.0 license and is available on GitHub at https://github.com/Autodesk/XLB.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes