Atmospheric models demand a lot of computational power and solving the chemical processes is one of its most computationally intensive components. This work shows how to improve the computational performance of the Multiscale Online Nonhydrostatic AtmospheRe CHemistry model (MONARCH), a chemical weather prediction system developed by the Barcelona Supercomputing Center. The model implements the new flexible external package Chemistry Across Multiple Phases (CAMP) for the solving of gas- and aerosol-phase chemical processes, that allows multiple chemical processes to be solved simultaneously as a single system. We introduce a novel strategy to simultaneously solve multiple instances of a chemical mechanism, represented in the model as grid-cells, obtaining a speedup up to 9x using thousands of cells. In addition, we present a GPU strategy for the most time-consuming function of CAMP. The GPU version achieves up to 1.2x speedup compared to CPU. Also, we optimize the memory access in the GPU to increase its speedup up to 1.7x.
論文ID : 2501.00011タイトル : Adapting Atmospheric Chemistry Components for Efficient GPU Accelerators著者 : Christian Guzman Ruiz, Matthew Dawson, Mario C. Acosta, Oriol Jorba, Eduardo Cesar Galobardes, Carlos Pérez García-Pando, Kim Serradell分類 : physics.comp-ph cs.AR発表日 : 2024年12月13日 (arXivプレプリント)論文リンク : https://arxiv.org/abs/2501.00011 大気モデルは膨大な計算能力を必要とし、化学過程の求解は計算集約度が最も高い成分の一つである。本研究は、バルセロナスーパーコンピューティングセンターで開発された多スケール非静力大気化学オンラインモデル(MONARCH)の計算性能を改善する方法を示している。本モデルは、気相およびエアロゾル相の化学過程を求解するための新しい柔軟な外部パッケージ「クロスマルチフェーズケミストリー」(CAMP)を実装し、複数の化学過程を単一システムとして同時に求解することを可能にしている。本研究は、化学メカニズムの複数インスタンス(モデル内ではグリッドセルとして表現)を同時に求解するための新規戦略を提案し、数千のセルを使用して最大9倍の加速比を達成している。さらに、CAMPの最も計算時間を要する関数に対するGPU戦略を提案し、GPU版はCPU実装と比較して最大1.2倍の加速比を実現し、GPU メモリアクセスの最適化を通じて加速比をさらに1.7倍に向上させている。
計算上の課題 : 大気モデルは大気力学、物理、化学および放射過程の数学的表現であり、複雑性により膨大な計算コストが発生する化学過程のボトルネック : 化学過程の求解はモデル実行時間の80%を占める可能性があり、性能ボトルネックとなっている並列化の必要性 : 既存モデルは領域分解による並列化を行うが、個々の化学求解器は依然として逐次的である大気化学モデリングは気候予測、大気質予報などの科学応用に不可欠である 計算効率の向上により、より高い解像度でより複雑な大気化学シミュレーションが可能になる GPU加速により計算時間とコストを大幅に削減できる CPU基盤求解器 : 領域分解による並列化を行うが、有意な加速には数千のグリッドセルが必要であるGPU専用手法 : より優れた性能(例:59倍加速比)を示すが、大気モデルへの適応が困難であり、通常は特定タイプの化学方程式のみを対象とするデータ転送オーバーヘッド : GPU実装ではCPU-GPUデータ転送が性能ボトルネックとなるマルチセル戦略 : 複数のグリッドセルを同時に求解する新規手法を提案し、ODE求解器の重複初期化を回避して最大9倍の加速比を達成GPU化学求解 : CAMPフレームワーク内の導関数関数のGPU実装を開発し、1.2倍の加速比を実現メモリアクセス最適化 : 反応データ構造を再編成してGPUメモリアクセスパターンを改善し、加速比を1.7倍に向上ハイブリッド並列戦略 : CPU基盤求解器とGPU特定技術を組み合わせたハイブリッド手法入力 : 複数の大気グリッドセルの化学物質濃度、温度、圧力などの状態変数出力 : 予測される将来の化学物質濃度制約 : 化学方程式の保存則を維持し、数値安定性を確保MONARCH : 多スケール非静力大気化学オンラインモデルCAMP : クロスマルチフェーズケミストリーフレームワーク、気相およびエアロゾル相反応を処理CVODE : 外部ODE求解器、スパース・ヤコビアン行列を使用化学反応の一般形式:
c₁y₁ + ⋯ + cₘyₘ ↔ cₘ₊₁yₘ₊₁ + ⋯ + cₙyₙ
反応jに対する各参加物種yᵢの変化率:
(dyᵢ/dt)ⱼ = {
-cᵢrⱼ(y,T,P,…) i ≤ m の場合
cᵢrⱼ(y,T,P,…) m < i ≤ n の場合
}
全体的な変化率:
fᵢ ≡ dyᵢ/dt = Σⱼ(dyᵢ/dt)ⱼ
複数のグリッドセルのデータを単一データ構造に統合して計算 各セルの求解器個別呼び出しの重複初期化オーバーヘッドを回避 セルループをCAMP内部求解関数内に移動 fᵢ ≡ dyᵢₖ/dt = Σⱼ(dyᵢₖ/dt)ⱼ
ここでyᵢₖはセルkからの物種yᵢを表す
並列単位 : 各反応データパッケージスレッド構成 : GPUスレッド数は反応数に等しく、ブロックあたり最大1024スレッド同期メカニズム : CUDAのatomicAdd操作を使用してスレッド競合を回避反応データ : グローバルメモリに格納状態配列 :
小規模データ: 定数メモリ経由で転送 大規模データ: グローバルメモリに直接転送 問題 : 元の構造によりGPUスレッドが非連続メモリにアクセス解決策 : 反応データ構造を再配列し、GPUスレッドが順序的にデータにアクセス効果 : メモリアクセスパターンを改善し、1.3倍の性能向上クラスタ : CTE-POWER (バルセロナスーパーコンピューティングセンター)CPU : IBM Power9 8335-GTH @ 2.4GHzGPU : NVIDIA V100 (Volta) 16GB HBM2コンパイラ : GCC 6.4.0, NVCC 9.1化学メカニズム : 3物質の基本メカニズム(A → B + C)反応 : 2つのアレニウス反応初期条件 :
物質A: 1.0 物質B,C: 0.0 各セルに0.1の濃度オフセット グリッドセル数 : 小規模から10,000セル加速比 : CPUに対するGPUの性能向上反復回数 : ODE求解器の反復数実行時間 : 総計算時間とコンポーネント時間加速比 : 複数のセル数に対して約8倍の加速比を実現し、最大9倍に達する反復最適化 :
単一セル手法: 反復回数はセル数に線形増加(10,000セルで6×10⁶回の反復が必要) マルチセル手法: 反復回数はセル数に無関(約700回の反復) 基本GPU版 : 10,000セルで1.2倍の加速比を実現最適化版 : メモリアクセス最適化後1.3倍向上、総体で1.7倍の加速比を達成規模依存性 : 10,000セル未満ではGPU性能はCPUに劣るボトルネック特定 : CPU-GPUデータ転送がGPU実行時間の90%を占める計算性能 : GPU純計算時間は40プロセスMPIより3.5倍高速全体性能 : データ転送オーバーヘッドのため、GPU全体はMPIより3倍遅いEMAcモデル : KPPライブラリのCUDAバージョンが20.4倍の加速比を実現専用求解器 : RKCKおよびRKC手法が59倍の加速比を実現並列化戦略 :
領域分解手法: 各GPUスレッドが独立した小規模システムを求解 方程式並列化: 化学方程式求解を直接並列化 CPU基盤求解器とGPU特定技術を組み合わせたハイブリッド手法 マルチセル戦略により求解器の重複初期化を削減 CAMPフレームワーク向けのカスタマイズ最適化 マルチセル戦略は有効 : 求解器の重複呼び出しを削減することで有意な加速を実現GPU並列化は実行可能 : 十分な規模ではGPU実装がCPUを上回るデータ転送が重要なボトルネック : GPUの潜在力を十分に発揮するにはさらなる最適化が必要規模依存性 : GPU利点は大規模問題(>10,000セル)でのみ顕現データ転送オーバーヘッド : GPUの実際の性能向上を制限部分的GPU化 : 導関数関数のみ最適化され、他のコンポーネントはCPU上GPU化の拡張 : ヤコビアンとODE求解器をGPUに移植非同期通信 : CPU-GPUの作業重複を実装してデータ転送遅延を隠蔽負荷均衡 : CPU-GPU協調計算戦略を探索MONARCH統合 : 完全な大気モデルでGPU化学求解器を評価実用価値が高い : 実際の大気化学モデルの性能最適化に対応手法の革新性 : マルチセル戦略はシンプルで効果的、実装が容易体系的分析 : アルゴリズムからメモリアクセスまでの包括的最適化詳細な性能分析 : 性能ボトルネックと改善方向を明確に特定限定的なGPU利用 : 部分的な関数のみGPU化され、GPUの潜在力を十分に発揮していない簡略化されたテストケース : 3物質の基本メカニズムのみ使用、実際の応用はより複雑データ転送問題 : 重要な性能ボトルネックが根本的に解決されていないスケーラビリティの制限 : GPU利点は大規模問題を必要とする学術的貢献 : 大気化学モデルのGPU加速に実用的な手法を提供実際の応用 : MONARCHなどの業務モデルに直接適用可能技術的示範 : 従来の科学計算コードのGPU移植戦略を示唆後続研究 : さらなるGPU最適化作業の基礎を確立大規模大気シミュレーション : 数千のグリッドセルを処理する必要があるアプリケーションに適切化学天気予報 : 業務化された大気質予報システムで使用可能気候モデリング : 長期気候変動研究における化学過程計算をサポート科学計算最適化 : 他のODE集約型科学応用に参考資料を提供本論文は12篇の関連文献を引用しており、主に以下を含む:
CAMPフレームワークおよびMONARCHモデルの技術文書 GPU加速化学動力学の先行研究 大気モデリングおよび並列計算の基礎文献 CVODEなどの数値求解ライブラリの技術資料 総合評価 : これは実際の応用を対象とした高品質な技術論文であり、提案されたマルチセル戦略はシンプルで効果的であり、GPU実装はデータ転送に制限されているものの良好な計算潜在力を示している。本研究は大気化学モデルの性能最適化に価値のある技術的経路を提供し、重要な実用的意義を有している。