返回
XLB: A differentiable massively parallel lattice Boltzmann library in Python
DOI:10.1016/j.cpc.2024.109187.png)
摘要
En 中文
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, multiGPU, 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. Program summary Program Title: XLB CPC Library link to program files: https://doi .org /10 .17632 /n25h65vw59 .1 Developer's repository link: https://github .com /Autodesk /XLB Licensing provisions: Apache -2.0 Programming language: Python Nature of problem: XLB is a scalable Lattice Boltzmann simulation library based on JAX. It is designed to be accessible, extensible, and high performance. The library can be readily augmented with novel boundary conditions, collision models, or simulation capabilities. Moreover, XLB is differentiable, offering the unique advantage of integration with JAX's extensive machine learning ecosystem, and tackling physics -based machine learning, optimization, and inverse problems. Solution method: XLB utilizes the JAX library for just -in -time (JIT) compilation and distributed computing, enabling it to scale effectively across distributed multi-GPU/multi-TPU systems. XLB's programming model combines an object -oriented interface for easy extensibility. The library can be readily augmented with novel boundary conditions, collision models, or other simulation capabilities.
Keyword:
Open source software
Lattice Boltzmann method
JAX
Machine learning
Differentiable programming
Scientific computing
Computational fluid dynamics
High performance computing
期刊
IF:
3.4
论文数:
1.2W
被引数:
3.7W
机构
引用论文
Cytokine Profile Changes In 309 Myelofibrosis Patients: Comparison Of JAK1/JAK2 Inhibitor Therapy Vs. Placebo – Correlative Analysis From The Comfort-I Trial
Blood
IF0
LBfoam: An open-source software package for the simulation of foaming using the Lattice Boltzmann MethodLBfoam: 使用格子Boltzmann方法模拟发泡的开源软件包
DeePMD-kit: A deep learning package for many-body potential energy representation and molecular dynamicsDeepmd-kit: 用于多体势能表示和分子动力学的深度学习软件包
On pressure and velocity boundary conditions for the lattice Boltzmann BGK model
PHYSICS OF FLUIDS
IF4.3
Surveying the reach and maturity of machine learning and artificial intelligence in astronomy调查机器学习和人工智能在天文学中的应用范围和成熟度
Achieving Rapid Blood Pressure Control With Digital Therapeutics: Retrospective Cohort and Machine Learning Study
JMIR Cardio
IF0

