[SCG70-P02] 「揺れの数値予報」の並列化コードの開発
キーワード:地震動即時予測、並列計算
現在、世界中で運用されている地震動即時予測システムでは、ほとんどのシステムにおいて震源情報(震源の位置やマグニチュード)に基づいた予測システムを採用している。頑健な予測システムという観点からみると、震源情報の推定は失敗する可能性があるので、観測値そのものから地震動を予測する枠組みもあることが望ましい。Hoshiba and Aoki (2015)によって提案された「揺れの数値予報」は震源情報によらない地震動即時予測手法のひとつである。「揺れの数値予報」における問題点のひとつは、計算負荷が非常に高いことである。「揺れの数値予報」を現業システムに取り込むためには、計算コードの高速化や効率化が必須となる。そこで、我々は「揺れの数値予報」の並列計算コードの開発に取り組み始めた。本発表では初期開発の状況について報告する。なお、開発にはFortran90及びOpenMPIを用いる。
「揺れの数値予報」の計算過程は大きくふたつに分けることができ、ひとつはデータ同化を用いた地震動エネルギー分布の推定、もうひとつは輻射伝達理論に基づいた未来のエネルギー分布の推定(すなわち、未来の地震動予測)である。データ同化では最適内挿法を採用しており、この計算は行列計算で表現される。未来の予測を行う部分では、柔軟性に優れたモンテカルロ法を採用している。並列化の戦略としてはふたつの考え方があり、ひとつは予測対象地域を分割し、MPIの各プロセスを分割した地域に割り当てる地域分割の考え方、もうひとつはモンテカルロ法における各粒子の計算を分割する粒子分割の考え方である。地域分割は高並列化において性能を発揮させやすいと予想されるが、隣接地域間の整合性を保つための工夫が必要である。一方、粒子分割の考え方は高並列化時の計算性能向上に限界があるが、コードの作成は比較的簡単である。本発表では、粒子分割の考えに沿ってコードを開発している。
試作した並列化コードにおけるホットスポットを調査したところ、モンテカルロ法の計算部分以外にもMPIの関数を用いたプロセス間通信、及び各タイムステップにおける配列の初期化に多大な時間を要していることがわかった。モンテカルロ法における計算時間短縮にはOpenMPを合わせて用いるハイブリッド並列が有効であろう。プロセス間通信や配列の初期化は、それぞれ通信量や配列サイズを精度に影響が出ない程度に小さくすることで時間の短縮が望める。
「揺れの数値予報」の計算過程は大きくふたつに分けることができ、ひとつはデータ同化を用いた地震動エネルギー分布の推定、もうひとつは輻射伝達理論に基づいた未来のエネルギー分布の推定(すなわち、未来の地震動予測)である。データ同化では最適内挿法を採用しており、この計算は行列計算で表現される。未来の予測を行う部分では、柔軟性に優れたモンテカルロ法を採用している。並列化の戦略としてはふたつの考え方があり、ひとつは予測対象地域を分割し、MPIの各プロセスを分割した地域に割り当てる地域分割の考え方、もうひとつはモンテカルロ法における各粒子の計算を分割する粒子分割の考え方である。地域分割は高並列化において性能を発揮させやすいと予想されるが、隣接地域間の整合性を保つための工夫が必要である。一方、粒子分割の考え方は高並列化時の計算性能向上に限界があるが、コードの作成は比較的簡単である。本発表では、粒子分割の考えに沿ってコードを開発している。
試作した並列化コードにおけるホットスポットを調査したところ、モンテカルロ法の計算部分以外にもMPIの関数を用いたプロセス間通信、及び各タイムステップにおける配列の初期化に多大な時間を要していることがわかった。モンテカルロ法における計算時間短縮にはOpenMPを合わせて用いるハイブリッド並列が有効であろう。プロセス間通信や配列の初期化は、それぞれ通信量や配列サイズを精度に影響が出ない程度に小さくすることで時間の短縮が望める。