Skip to main content
QUICK REVIEW

[論文レビュー] Enabling New Flexibility in the SUNDIALS Suite of Nonlinear and Differential/Algebraic Equation Solvers

David J. Gardner, Daniel R. Reynolds|arXiv (Cornell University)|Nov 19, 2020
Numerical methods for differential equations被引用数 4
ひとこと要約

本論文では、SUNDIALSスイートの大幅な再設計を提案する。これにより、新しいオブジェクト指向クラスによる線形および非線形ソルバーや、強化されたベクターアブストラクション、モダンなFortran 2003インタフェースを通じて、カスタムおよびサードパーティの代数的ソルバーやデータ構造のシームレスな統合が可能になる。変更は後方互換性を維持しながら、異種かつエクストリームスケールHPCシステムにおける大幅な柔軟性の向上を実現し、数値ベンチマークにおいても競争力のあるパフォーマンスを示している。

ABSTRACT

In recent years, the SUite of Nonlinear and DIfferential/ALgebraic equation Solvers (SUNDIALS) has been redesigned to better enable the use of application-specific and third-party algebraic solvers and data structures. Throughout this work, we have adhered to specific guiding principles that minimized the impact to current users while providing maximum flexibility for later evolution of solvers and data structures. The redesign was done through the addition of new linear and nonlinear solvers classes, enhancements to the vector class, and the creation of modern Fortran interfaces. The vast majority of this work has been performed "behind-the-scenes," with minimal changes to the user interface and no reduction in solver capabilities or performance. These changes allow SUNDIALS users to more easily utilize external solver libraries and create highly customized solvers, enabling greater flexibility on extreme-scale, heterogeneous computational architectures.

研究の動機と目的

  • SUNDIALS内でアプリケーション固有およびサードパーティの代数的ソルバを、後方互換性を損なわずに統合すること。
  • 特にCPU+GPUやその他のアクセcelレータを備えた異種アーキテクチャを含む、進化するHPCアーキテクチャをサポートすること。
  • ソルバーやデータ構造のインタフェースを抽象化することで、コードの重複を削減し、持続可能性を向上させること。
  • ユーザーが最小限のコード変更で、高度にカスタマイズされたソルバを構築できるようにすること。
  • C APIを模倣し、高度な機能をサポートする、モダンで持続可能なFortran 2003インタフェースを提供すること。

提案手法

  • オブジェクト指向設計の原則に基づく、新しい線形および非線形ソルバークラスを導入し、ソルバを積分器から分離する。
  • SUNDIALSのベクタークラスを強化し、「多数のベクタ」抽象化を実装。これにより、複合物理現象および異種メモリモデルに対応する複数のサブベクタを統合可能にする。
  • 多数のベクタを基盤にしたMPI+Xベクタ抽象化を追加。これにより、ノード内並列処理および異種メモリアクセスをサポートする。
  • 通信を削減し、現代のアーキテクチャにおけるハードウェア利用効率を向上させるために、新しい統合演算を設計。
  • C APIを模倣するモダンなFortran 2003インタフェースを実装。これにより、新しいソルバーやベクターアブストラクションへの完全なアクセスが可能になる。
  • 仮想メソッドテーブル(VMTs)およびコンストラクタ関数(例:TaskLocalNewton)を用い、カプセル化されたデータを備えたカスタム非線形ソルバのインスタンス化を実現。

実験結果

リサーチクエスチョン

  • RQ1SUNDIALSをどのように再設計すれば、ユーザーのコード変更を最小限に抑えつつ、アプリケーション固有およびサードパーティのソルバを統合できるか?
  • RQ2HPC環境における数値ソフトウェアの長期的持続可能性と拡張性を実現するための設計パターンは何か?
  • RQ3ベクターアブストラクションをどのように拡張すれば、異種メモリおよびノード内並列処理をサポートできるか?
  • RQ4パフォーマンスの低下や既存コードの破壊を伴わずに、新しいソルバインタフェースを実装できるか?
  • RQ5カスタムで問題に特化したソルバは、複雑なシミュレーションにおいてどの程度パフォーマンスを向上させられるか?

主な発見

  • 新しいインfraストラクチャは後方互換性を維持しており、シミュレーションコストの増加もなければ、既存のソルバ動作を保持している。
  • 数値テストにより、新しい設計が最小限のランタイムオーバーヘッドで、競争力のあるパフォーマンスを達成できることを確認した。
  • システムの構造と局所性を活用する問題固有の非線形ソルバを用いることで、顕著な高速化が達成された。
  • 多数のベクタ抽象化により、複合物理現象および異種メモリレイアウトの効率的処理が可能になった。
  • MPI+Xベクタ抽象化により、異種システムにおける新しいノード内並列処理モデルの統合が簡素化された。
  • モダンなFortran 2003インタフェースは、新しい機能への完全なアクセスを提供し、C APIと同等の機能とパフォーマンスを実現している。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。