Core Concepts
新しい方法論による、オクツリーベースのマルチグリッドソルバーのコード生成に焦点を当てる。
Abstract
著者は、オクツリーベースのソフトウェアフレームワーク向けに最適化されたマルチグリッドソルバーを生成する革新的な手法を提案している。
ローカルな特徴を正確に捉えつつ、マルチグリッド技術の効率性を活用することが重要であると述べられている。
本手法の有効性は、異なる補間次数で行われた数値実験によって示されており、SuperMUC-NG CPUクラスタ上で大規模なベンチマークが行われている。
オクツリーデータ構造や通信カーネルとの自動統合により、複雑なオクツリデータ構造やアルゴリズムを持つ既存のソフトウェアフレームワークと生成されたマルチグリッドソルバーと通信カーネルが結合されている。
Introduction:
著者はオクツリーベースのマルチグリッドソルバーのコード生成手法に焦点を当てています。
Software:
ExaStencilsとwaLBerlaフレームワーク間の既存カプリング戦略が基盤となっています。
ExaStencilsはDSL(ExaSlang)からC++プログラム全体を生成します。
waLBerlaはLBM向けのC++17フレームワークであり、MPIおよびOpenMPをサポートしています。
Refined Communication:
異なる精度レベル間でデータ交換するアプローチが提示されています。
同一レベル通信、C2F交換、F2C通信が紹介されています。
Interpolation/Extrapolation:
マイクロスケール領域では二次および線形補間スキームが提案されており、メッシュ解像度ジャンプでも誤差収束を維持しています。
Code Generation:
コードジェネレータはメッシュ細分化概念に適応し、特殊化カーネルや通信処理を生成します。
ループ不変量移動メカニズムや最適化戦略も導入されました。
Application:
3D Poisson問題で補間順序が誤差収束に与える影響が評価されました。
SuperMUC-NG CPUクラスタ上で弱スケーリング結果が示されました。生成コード版は高速化効果を示しています。
Stats
大規模な数値実験で異なる補間次数で行われた数値実験
SuperMUC-NG CPUクラスタ上で行われた大規模なベンチマーク
Quotes
"本手法はオクツリーデータ構造や通信カーネルと自動的に統合することで、複雑なデータ構造やアルゴリズムも容易に扱えます。"
"提案された補間スキームは隣接ブロックから値を取得せず、データ伝送量を最小限に抑えます。"