XLB: Distributed Multi-GPU Lattice Boltzmann Simulation Framework for Differentiable Scientific Machine Learning

要約

格子ボルツマン法 (LBM) は、計算のスケーラビリティに対するアルゴリズムの可能性により、流体力学問題を解決するための著名な手法として浮上しています。
JAX フレームワークの機能を利用する Python ベースの微分可能な LBM ライブラリである XLB フレームワークを紹介します。
XLB のアーキテクチャは、アクセシビリティ、拡張性、および計算パフォーマンスを確保することを前提としており、CPU、マルチ GPU、および分散マルチ GPU システム全体での効果的なスケーリングを可能にします。
このフレームワークは、新しい境界条件、衝突モデル、またはシミュレーション機能を使用して容易に拡張できます。
XLB は、JAX の広範な機械学習エコーシステムとの統合という独自の利点と、自動微分を利用して物理ベースの機械学習、最適化、および逆問題に取り組む機能を提供します。
XLB は、数十億セルのシミュレーションを処理できるようにスケールアップすることに成功し、1 秒あたりのギガスケールの格子更新を実現しています。
XLB は、寛容な Apache-2.0 ライセンスの下でリリースされており、GitHub (https://github.com/Autodesk/XLB) で入手できます。

要約(オリジナル)

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 framework, a Python-based differentiable LBM library which harnesses the capabilities of the JAX framework. The architecture of XLB is predicated upon ensuring accessibility, extensibility, and computational performance, enabling scaling effectively across CPU, multi-GPU, and distributed multi-GPU systems. The framework can be readily augmented with novel boundary conditions, collision models, or simulation capabilities. XLB offers the unique advantage of integration with JAX’s extensive machine learning echosystem, and the ability to utilize automatic differentiation for tackling 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.

arxiv情報

著者 Mohammadmehdi Ataei,Hesam Salehipour
発行日 2023-11-27 18:50:37+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.CE, cs.LG, physics.comp-ph パーマリンク