XLB: A differentiable massively parallel lattice Boltzmann library in Python

要約

格子ボルツマン法 (LBM) は、計算のスケーラビリティに対するアルゴリズムの可能性により、流体力学問題を解決するための著名な手法として浮上しています。
JAX プラットフォームに基づく Python ベースの微分可能な LBM ライブラリである XLB ライブラリを紹介します。
XLB のアーキテクチャは、アクセシビリティ、拡張性、および計算パフォーマンスを確保することを前提としており、CPU、TPU、マルチ GPU、および分散マルチ GPU または TPU システム全体で効果的にスケーリングを可能にします。
このライブラリは、新しい境界条件、衝突モデル、またはマルチフィジックス シミュレーション機能を使用して簡単に拡張できます。
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 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.

arxiv情報

著者 Mohammadmehdi Ataei,Hesam Salehipour
発行日 2024-04-02 15:56:38+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

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