11:00 〜 13:00
[MGI33-P01] 高速球面調和関数変換ライブラリの開発 -- 木星型惑星大気の高解像長時間積分シミュレーションを目指して --
キーワード:球面調和関数変換、スペクトル法、木星型惑星大気、縞状構造、回転対流
木星型惑星(木星・土星)表層大気の力学的な特色である縞状パターンはこれまでに多くの地球流体力学および惑星気象学の研究者の関心を引いてきたが,現在のところこれらの特徴を矛盾なく整合的に説明できる満足な力学的描像と理解は得られてはいない。本研究は,富岳を用いて全球規模から微細規模対流までにわたる空間スケールを統一的にあつかう大規模数値計算を実行し,従来の数値モデルでは表現できなかった微細規模の対流や乱流の構造を解像し,木星型惑星大気に見られる表面流の大規模構造の力学的成因を解明することを目指している。この目的のために,われわれは高速かつ大規模な球面調和関数変換ライブラリISPACK3 と,それを利用した深さ方向の密度成層を考慮した回転球殻非弾性系熱対流モデルの開発と富岳でのチューニングを行ってきている。
ISPACK3 は当初 Intel 系 CPU をターゲットとして開発が行われた。高速変換のためのコーディングにおけるポイントとして,ルジャンドル陪関数の漸化式を高速に計算する新たな手法 (Ishioka 2018) を実装したことがあげられる。この計算法は天文分野や惑星内部ダイナモ計算のために開発している他の球面調和関数変換ライブラリにも取り込まれている。もう一つのポイントは CPU の SIMD 命令を最大限利用するために,変換計算の最下層のサブルーチンをアセンブラで実装したことである。このような工夫によって,Intel 系 CPU における変換計算速度がピーク性能の 6 割程度まで出せている。
今回 Intel 系 CPU でのノウハウに基づいて,富岳で用いられている A64FX 系 CPUに向けてチューニングを行った。高速化のためにはやはり SIMD 命令を最大限利用することが重要なポイントである。そのために当初は Intel 系 CPU 用と同様にアセンブラにて最下層のサブルーチンを書き換えていたが,期待するような SIMD 命令を有効に利用するコードは得られなかった。そのためFortran コードを書き換え,システムの Fortran コンパイラの翻訳機能を利用することで,SIMD 命令を有効に利用した実行バイナリの作成に成功した。その結果,ピーク性能の 4 割程度の速度で変換計算を行えるようになった。
開発した変換ライブラリの性能を示すために,世界最大自由度の球面調和関数変換計算を富岳にて実行した。球面調和関数の最大全波数が 2^18-1=262143 の場合がこれまでの最大自由度計算であった。これに対して,富岳の 1024 ノードを使用し,MPI 並列数 1024,スレッド並列数 48 にて最大全波数 2^19-1=524287 の 正逆変換を実行し,約 1300 TFlops (ピーク性能の 43% 程度) で計算を行うことができた。
今後は木星大気モデルにこのライブラリを実装して高解像度長時間積分に挑む予定である。発表においては予備的な結果をいくつか紹介する。
参考文献: Ishioka, K. (2018). A New Recurrence Formula for Efficient Computation of Spherical Harmonic Transform. J. Meteor. Soc, Japan, 96, 241-249.
ISPACK3 は当初 Intel 系 CPU をターゲットとして開発が行われた。高速変換のためのコーディングにおけるポイントとして,ルジャンドル陪関数の漸化式を高速に計算する新たな手法 (Ishioka 2018) を実装したことがあげられる。この計算法は天文分野や惑星内部ダイナモ計算のために開発している他の球面調和関数変換ライブラリにも取り込まれている。もう一つのポイントは CPU の SIMD 命令を最大限利用するために,変換計算の最下層のサブルーチンをアセンブラで実装したことである。このような工夫によって,Intel 系 CPU における変換計算速度がピーク性能の 6 割程度まで出せている。
今回 Intel 系 CPU でのノウハウに基づいて,富岳で用いられている A64FX 系 CPUに向けてチューニングを行った。高速化のためにはやはり SIMD 命令を最大限利用することが重要なポイントである。そのために当初は Intel 系 CPU 用と同様にアセンブラにて最下層のサブルーチンを書き換えていたが,期待するような SIMD 命令を有効に利用するコードは得られなかった。そのためFortran コードを書き換え,システムの Fortran コンパイラの翻訳機能を利用することで,SIMD 命令を有効に利用した実行バイナリの作成に成功した。その結果,ピーク性能の 4 割程度の速度で変換計算を行えるようになった。
開発した変換ライブラリの性能を示すために,世界最大自由度の球面調和関数変換計算を富岳にて実行した。球面調和関数の最大全波数が 2^18-1=262143 の場合がこれまでの最大自由度計算であった。これに対して,富岳の 1024 ノードを使用し,MPI 並列数 1024,スレッド並列数 48 にて最大全波数 2^19-1=524287 の 正逆変換を実行し,約 1300 TFlops (ピーク性能の 43% 程度) で計算を行うことができた。
今後は木星大気モデルにこのライブラリを実装して高解像度長時間積分に挑む予定である。発表においては予備的な結果をいくつか紹介する。
参考文献: Ishioka, K. (2018). A New Recurrence Formula for Efficient Computation of Spherical Harmonic Transform. J. Meteor. Soc, Japan, 96, 241-249.