AMGCL は、代数マルチグリッド (AMG) 法を使用して大規模な疎線形システムを解くためのヘッダーのみの C++ ライブラリです。 AMG は、たとえば非構造化グリッド上の偏微分方程式の離散化から生じる方程式系を解くための最も効果的な反復法の 1 つです。この方法は、基礎となるジオメトリに関する情報を必要としないため、さまざまな計算問題のブラックボックス ソルバーとして使用できます。 AMG は、スタンドアロン ソルバーとしてではなく、反復ソルバー (共役勾配、BiCGStab、GMRES など) 内のプレコンディショナーとしてよく使用されます。
AMGCL は、CPU 上に AMG 階層を構築し、それを提供されたバックエンドの 1 つに転送します。これにより、OpenCL、CUDA、または OpenMP テクノロジーを利用して、ソリューション フェーズを透過的に加速できます。ユーザーは、AMGCL とユーザー コード間の緊密な統合を可能にする独自のバックエンドを提供できます。
http://amgcl.readthedocs.io/ で AMGCL ドキュメントを参照してください。
デミドフ、デニス。 AMGCL: 効率的、柔軟、拡張可能な代数マルチグリッド実装。 Lobachevskii Journal of Mathematics、40(5):535–546、2019 年 5 月。doi pdf bib
デミドフ、デニス。 AMGCL -- 大規模な疎線形システムの効率的なソリューションのための C++ ライブラリ。 Software Impacts、6:100037、2020 年 11 月。doi bib
デミドフ、デニス、リン・ムー、ビン・ワン。 C++ メタプログラミングを使用したストークス問題の線形ソルバーの高速化。 Journal of Computational Science (2020): 101285. doi arxiv bib