Core Concepts
多数の独立ODEシステムを効率的に解くための、SUNDIALS時間積分器の活用と最適化手法の提案
Abstract
本論文では、高性能コンピューティングシステムにおいて多数の独立ODEシステムを効率的に解くための手法について述べている。
まず、SUNDIALS時間積分器の概要を説明する。SUNDIALS は、ODEやDAEの時間積分に使用できる強力なライブラリであり、適応的な時間ステップ制御や非線形/線形ソルバーなどの機能を提供している。
次に、SUNDIALS を用いて多数の独立ODEシステムを解く際の課題について述べる。特に、GPUアーキテクチャ上での並列化や、セルごとに大きく異なる剛性を持つODEシステムの効率的な処理が重要な問題となる。
その上で、PeleコードとNyxコードにおける具体的な適用例を示す。これらのコードでは、オペレータ分割手法を用いて反応項をODEとして扱っており、SUNDIALS を用いて効率的に解いている。Peleでは化学反応、Nyxでは冷却加熱過程のODEを扱っている。
両コードにおいて、ロードバランシング、データ並べ替え、スケーリングなどの最適化手法を導入し、SUNDIALS の性能を大幅に向上させている。これらの手法により、Frontierなどの最新の exascale クラスのスーパーコンピューターでも効率的な計算が可能となっている。
最後に、今後の課題と展望について述べる。特に、ODEシステムのバッチ処理や、さらなる最適化の余地について議論している。
Stats
多数の独立ODEシステムを効率的に解くことは、Peleコードとnyxコードの性能に大きな影響を与える。
Peleコードでは、化学反応項の時間積分に70%以上のリソースを消費する。
Nyxコードでは、冷却加熱過程のODE積分に全体の30%のリソースを消費する。
Quotes
"オペレータ分割手法は、科学分野全般で広く使われており、多くの場合、別々に解く必要のある一連の常微分方程式(ODE)につながる。"
"SUNDIALS ライブラリは、ODEの解法アルゴリズムを豊富に提供しており、DOEのExascale Computing Projectによって、exascale対応のコンピューティングハードウェアへの拡張が支援されている。"