SENAC Vol. 54, No. （4 2021.10）― 1 ―［共同研究成果］

津波浸水被害推計シミュレーションのベクトル・スカラーハイブリッド MPI の評価

撫佐昭裕 1,4,5)，阿部孝志 3)，佐藤雅之 2)，小松一彦 1)，小林広明 1),2),5)，越村俊一 3),5)
1) 東北大学サイバーサイエンスセンター
2) 東北大学大学院情報科学研究科
3) 東北大学災害科学国際研究所
4) 日本電気株式会社
5) 株式会社 RTi-cast

津波浸水被害推計シミュレーションは，スーパーコンピュータ SX-ACE や SX-Aurora TSUBASA を用いて津波発生から 20 分以内に浸水範囲やその被害状況を推計することを目的に開発されたものである．本稿では，本シミュレーションプログラムにおいて SX-Aurora TSUBASA で新たにサポートされたベクトル・スカラーハイブリッド MPI（x86 プロセッサとベクトルエンジン間の MPI 通信を可能にしたもの）による性能評価を報告する．評価結果として，ベクトル・スカラーハイブリッド
MPI を使用することによって，津波浸水被害推計シミュレーションの実行時間が約半分に短縮されたことを示す．また，今まで大規模システムとして開発してきたリアルタイム津波浸水被害推計システムの小型化についても言及する．

１． はじめに
著者らの研究グループは，2011 年 3 月 11 日に発生した東日本大震災での津波災害を教訓として，発災直後に津波被害の全貌を短時間で把握可能とするため，コンピュータシミュレーションを活用したリアルタイム津波浸水被害推計システムの研究開発を行っている［1］．本研究開発では津波の伝播，遡上，被害推計のシミュレーションにおける高速化が一つの研究テーマであり，東北大学サイバーサイエンスセンターと共同研究を継続的に実施している．津波のような広域災害では高精度で広範囲の被害推計を短時間で行うことが求められており，本共同研究ではスーパーコンピュータ
AOBA を用いた大規模シミュレーションにおいて高速化を実現し，国内の太平洋全沿岸を 10m の精度で 5 分以内にシミュレーションを行うことを可能にしている[2]．また，本システムは 2017 年より内閣府総合防災システムの一機能として採用され[3]，東北大学 AOBA-A と大阪大学 SQUID のスーパーコンピュータシステムで稼働している．一方，自治体や企業からは担当地域の狭い範囲の津波浸水被害推計を行うことを望む声もあり，リアルタイム津波浸水被害推計システムのダウンサイジング化に向けた検討も行っている．
サイバーサイエンスセンターAOBA-A システムとして昨年度導入された SX-Aurora TSUBASA には，ダウンサイジングしたモデルとしてエッジモデルとオンサイトモデルがあり，大学の研究室や企業のサーバとして導入されている[4]．これらモデルでは特別な施設を設けることなく，一般的なサーバとして導入することができ，AOBA-A で開発したプログラムをそのまま実行することができる．
また，現在，SX-Aurora TSUBASA の MPI ライブラリは，x86 系のプロセッサとベクトルエンジンとの MPI 通信をサポートしており，x86 系プロセッサとベクトルエンジンの両方を用いた MPI 並列（以下，ベクトル・スカラーハイブリッド MPI）が可能となっている．本稿では，津波浸水被害推計シミュレーションを SX-Aurora TSUBASA のオンサイトモデル上でベクトル・スカラーハイブリッド

― 2 ―

SENAC Vol. 54, No. （4 2021.10）

MPI を用いて実行した場合の性能について報告を行う．尚，本報告は昨年度 SC2020 で発表を行ったものをベースにしている[5]．

２． 評価環境（１） 評価システム
SX-Aurora TSUBASA はベクトルホストとベクトルエンジンから構成され，本評価に使用したシス
テムはベクトルホストに Intel Xeon プロセッサ 2 式とベクトルエンジン 1 式を搭載したものである．
図 1 にシステムイメージ，
表 1 にシステム諸元を示す．
本シミュレーションプログラムは Fortranで開発されたものであり，Xeon プロセッサ用のモジュール作成には Intel 製 Fortran コンパイラを使用した．また，ベクトル・スカラーハイブリッド MPI を実行するため，NEC MPI/Scalar-Vector
Hybrid パッケージを使用した．

図 1 評価に利用した SX-Aurora TSUBASA の構成イメージ

表 1 性能評価を行ったシステムの諸元
ベクトルホスト
ベクトルエンジン
型名Intel Xeon Gold 6148
Type 20B
CPU 数（カード数）21
全コア数
20 × 28
総理論性能
1.4 × 2 Tflop/s2.4 Tflop/s
メモリ容量192 GB
48 GB
コンパイラ
Intel ifort 19.0.4.243
NEC nfort 2.1.28
MPI ライブラリ
NEC MPI/Scalar-Vector Hybrid (MPI Version 2.6.0)（２） シミュレーションモデル
津波浸水被害推計シミュレーションは，非線形長波理論式を Staggered Leap-frog 法と移流項の風上差分を用いて差分化し，津波波源を求める Okada の式と建屋等の被害推計を行うモデルを組み込んでいる[6,7]．表 2 が本評価に用いたシミュレーションの条件であり，本シミュレーションは高知県沿岸（海岸線総距離 712km）を 30m の格子間隔でシミュレーションを行うものである．図 2がシミュレーションに用いた階層型格子の形状である．階層型格子では格子サイズ 810m の Domain
1 から 30m の Domain 4 までの 4 階層の格子からなり，多角形格子を採用している[8]．また，本シミュレーションでは図 2 の各 Domain を領域分割法で分割し並列化を行っている．

津波浸水被害推計シミュレーションのベクトル・スカラーハイブリッド MPI の評価

項 目
対象地域
範囲
座標系
格子構造
格子サイズ
総格子数Δｔ
再現時間― 3 ―表 2 シミュレーションの条件
内 容
高知県
1,288km × 1,025km
直角座標系
多角形格子810m, 270m, 90m, 30m
1.0 × 107
0.5 秒
6 時間

図 2 シミュレーションの格子構造

３． ベクトル・スカラーハイブリッド MPI 用プログラムの構築（１） プログラム修正
ベクトル・スカラーハイブリッド MPI は，一つのプログラムをベクトルエンジンと Xeon プロセッサで実行するため，ベクトルエンジンと Xeon プロセッサ用の実行モジュールが必要になる．そのため，ベクトルエンジン向けに開発した本シミュレーションプログラムを Xeon プロセッサ向けに修正したプログラムを用意した．修正を行ったのは図 3 に示したファイル入出力の OPEN 文と図4 に示した Intel コンパイラがサポートしていない組み込み関数 CBRT である．

図 3 プログラムの修正内容

― 4 ―SENAC Vol. 54, No. （4 2021.10）

図 4 組み込み関数の修正内容（２） コンパイル
本シミュレーションプログラムは図 5 に示した 2 重の DO ループ構造になっており，内側 DO ループをベクトル実行，外側 DO ループを MPI 並列で実行するようになっている．Xeon プロセッサでも同様に内側 DO ループを AVX512 命令によるベクトル実行，外側 DO ループを MPI による並列実行とした．表 3 が使用したコンパイルコマンドとオプションである．ここで，Xeon プロセッサのコンパ
イルでは環境変数 NMPI_FC_H を指定している．これはベクトルエンジン向けのコンパイルコマンド
mpinfort から Intel コンパイラ ifort を呼び出すためである．そして，コンパイルオプションでは，––vh がベクトル・スカラーハイブリッド MPI ライブラリをリンクすることを，--O3 が最適化レ
ベル，-finline-functions と--ipo が DO ループ内のサブルーチンをインライン展開することを示している．--vec-threshold0 は DO ループのベクトル化においてスカラー実行とベクトル実行のコスト推定を用いてベクトル化の可否を判断しないことを指定している．この指定によりベクトル化できるループをすべてベクトル化している．これは，Intel コンパイラにおいてこのコスト推定が誤っていることが多く，ベクトル化した方が速いにもかかわらず，ベクトル化をしないケースが多くあるからである．また，--xCORE-AVX512 は AVX512 命令を使用することを示している．

図 5 主なプログラム構造

プロセッサ
ベクトルエンジン
Xeon プロセッサ

表 3 コンパイル環境
コマンド
コンパイルオプション
mpinfort–O3 -finline-functions
export NMPI_FC_H=ifort
mpinfort-vh –O3 –ipo -vec-threshold0 -xCORE-AVX512（３） ロードバランスの調整
並列実行を行うときにはベクトルエンジンと Xeon プロセッサの各コアでの実行時間が均一になっていることが望ましい．そこで，ベクトルエンジンと Xeon プロセッサで本シミュレーションプ
ログラムの実行時間を計測し，その結果から各コアに割り当てる演算量がなるべく均一になるように図 2 の Domain を分割した．図 6 がベクトルエンジンと Xeon プロセッサで本シミュレーションプ

津波浸水被害推計シミュレーションのベクトル・スカラーハイブリッド MPI の評価― 5 ―ログラムを実行した時の実行時間である．ここで VE はベクトルエンジンを示している．測定は，それぞれ 1 コアで実行した場合と，すべてのコアを使用した場合で行った．1 コアで実行した結果からベクトルエンジンと Xeon プロセッサのコア実行性能は，ベクトルエンジンの方が約 4 倍高いことがわかる．また，すべてのコアを利用した場合には，Xeon プロセッサ 40 コアの実行時間がベクトルエンジン 8 コアの約 1.2 倍であることから，その時のベクトルエンジン 1 コアの実行性能はXeon プロセッサ 1 コアの約 6 倍であることがわかる．以上より，ベクトルエンジンのコアに割り当てる演算量は Xeon プロセッサのコアの 4 倍から 6 倍となる．この結果をもとに図 2 の Domain 分割を 5 倍を基準に前後複数パターンを作成し，演算時間のもっとも短時間なものを測定値とした．

図 6 各コア数での実行時間４． ベクトル・スカラーハイブリッド MPI の測定結果（１） MPI 通信
ベクトル・スカラーハイブリッド MPI では図 7 で示した MPI 通信が発生する．①はベクトルエンジン内のコア間通信（VE 内），②は Xeon プロセッサ内のコア間通信（Xeon 内），③は 2 式の Xeon プロセッサ間の通信（Xeon 間），④がベクトルエンジンと Xeon プロセッサ間の通信（VE･Xeon 間）である．それぞれの通信パターンにおける経路の通信バンド幅を表 4 に示す．ただし，②については公表された数値はない．この通信について PingPong ベンチマークプログラムを用いて 8 バイトから 2M バイトまでの転送時間を測定した．

図 7 MPI の通信パターン

通信パターン
通信バンド幅(GB/s)

表 4 各通信経路の通信バンド幅①VE 内②Xeon 内③Xeon 間
409.6
N/A
20.8

④VE･Xeon 間
12.5

図 8 が測定結果である．転送データの大きさが 32k バイトで③Xeon 間の転送時間が伸び始め，64k バイト以降で②Xeon 間と④VE･Xeon 間の時間がそれぞれ長くなっている．一方，①VE 内の通信時間はほとんど一定している．この①VE 内の結果は表 4 に示した通信バンド幅 409.8GB/s の大きさ

― 6 ―

SENAC Vol. 54, No. （4 2021.10）によるものである．また，表 4 の③Xeon 間の通信バンド幅 20.8GB/s は Xeon 相互を接続している
UPI のバンド幅を示しているが，本測定の 2M バイトのデータ転送が 5.6GB/s であったことから，MPI の 1 対 1 通信では UPI の帯域を十分に使い切れていないことを示している．しかしながら，本シミュレーションプログラムにおける最大データ転送量は 64k バイトであり，③Xeon 間の転送でも一回当たり 1.3×10-5 秒であることから，MPI 通信がボトルネックにならないことが判明した．

図 8 通信時間（２） 実行時間
本シミュレーションプログラムのベクトル・スカラーハイブリッド MPI の評価として，ベクトルエンジン 8 コアに対し Xeon プロセッサ 10 コア，20 コア，30 コア，40 コアの 4 ケースの実行を行った．ここでプログラムを実行するコマンドを図 9 に示した．--vh –np 40 は Xeon プロセッサ 40 コ
アで実行することを指定し，tsunami_vh.exe が Xeon プロセッサで実行するモジュールである．–ve
0 –np 8 はベクトルエンジン 8 コアで実行することを指定し，ttsunami_ve.exe がベクトルエンジンで実行するモジュールである．

図 9 ベクトル・スカラーハイブリッドモデルの実行コマンド
図 10 が測定結果である．ここでベクトルエンジン 8 コアと Xeon プロセッサ 40 コアで実行した結果もプロットした．Xeon プロセッサのコア数を増加させると徐々に実行時間の短縮される割合が減少してきているが，ベクトルエンジンと Xeon のすべてのコアを使った 48 プロセスでのシミュレーション時間は，ベクトルエンジンまたは Xeon プロセッサだけで実行した場合に比べて，約半分の実行時間でシミュレーションが行えていることがわかる．これは，SX-Aurora TSUBASA においてベクトルエンジンだけでなく，ベクトルホストに搭載している汎用プロセッサを利用することによってシミュレーション時間が短縮できることを示している．そして，海岸線総距離 712km の津波現象を 30m の精度で 6 時間分の再現を 4.5 分で完了していることから，SX-Aurora TSUBASA のオンサ
イトモデルにおいて自治体レベルのリアルタイム津波浸水被害推計シミュレーションが可能であることも示している．

津波浸水被害推計シミュレーションのベクトル・スカラーハイブリッド MPI の評価― 7 ―

図 10 ベクトル・スカラーハイブリッド MPI の実行時間

５． システムのダウンサイジング
リアルタイム津波浸水被害推計システムは，津波浸水被害推計シミュレーション以外に以下の処理を行っている．
① 断層処理（地震情報等の受信，津波発生の判断，断層の推定）② 可視化処理（シミュレーション結果の可視化，可視化結果の配信）
全国規模の被害推計をリアルタイムに行う場合には②の可視化処理のために複数台の汎用サーバとシミュレーションに AOBA-A クラスのスーパーコンピュータが必要になる．しかし，自治体クラスの被害推計では本評価で使用した SX-Aurora TSUBASA オンサイトモデル（ベクトルエンジン 1 式，Xeon プロセッサ 2 式）でシミュレーションができることが明らかになり，また，可視化範囲も狭い
ことから，図 11 に示したように①断層処理と②可視化処理を SX-Aurora TSUBASA のベクトルホス
トで処理を行えば，SX-Aurora TSUBASA オンサイトモデル 1 台でリアルタイム津波浸水被害推計を実施できることになる．これにより，自治体や企業において本システムを活用した独自の津波被害の推定が可能となるのである．

図 11 ダウンサイジングシステムのイメージ

― 8 ―

SENAC Vol. 54, No. （4 2021.10）

６． まとめ
本稿では，リアルタイム津波浸水被害推計システムに実装されているシミュレーションプログラ
ムを用いて，SX-Aurora TSUBASA のベクトル・スカラーハイブリッド MPI での性能評価を行った．
ここで，ベクトル・スカラーハイブリッド MPI はベクトルエンジンと x86 プロセッサ間の MPI 通信を可能にするものである．本評価では，ベクトルエンジンで実行していた津波浸水被害推計シミュレーションがベクトル・スカラーハイブリッド MPI を利用することで，実行時間が約半分に短縮できることを示した．また，従来，リアルタイム津波浸水被害推計システムは大規模なシステム構成になっていたが，自治体や企業向けにダウンサイジングしたシステムが構築できることも示した．
今後は，本評価で得られた知見を用いて，ダウンサイジングしたシステムの設計開発を行っていく予定である．

謝辞
研究にあたってサイバーサイエンスセンターの関係各位にご指導とご協力を頂いたことに感謝いたします．また，本研究の一部は，科研費（17H06108，18K11322, 21H05001），文部科学省「次世代領域研究開発」（高性能汎用計算機高度利用事業費補助金）の助成のもとに行われた．

参考文献[1] 越村俊一，阿部孝志，撫佐昭裕，村嶋陽一，鈴木崇之，井上拓也，太田雄策，日野亮太，佐藤佳彦，加地正明，小林広明，スーパーコンピュータによるリアルタイム津波浸水被害予測,SENAC
Vol. 51, No. 1、2018.
[2] 撫佐昭裕，岸谷拓海，阿部孝志，佐藤佳彦，田野邊睦，鈴木崇之，村嶋陽一，佐藤雅之，小松一彦，伊達進，越村俊一，小林広明，リアルタイム津波浸水被害推計シミュレーションの性能評価，SENAC， Vol.53，No.2，2020．
[3] 東北大学，大阪大学，日本電気株式会社，国際航業株式会社，株式会社エイツー，“東北大・大阪大・NEC・国際航業・エイツー 世界初，地震発生から 30 分以内にスーパーコンピュータを用いて津波浸水被害を推計するシステムが内閣府「津波浸水被害推定システム」として採用，
2017 （広報）．
[4] NEC SX-Aurora TSUBASA WEB サイト. https://jpn.nec.com/hpc/sxauroratsubasa/index.html[5] A. Musa, T. Soga, T. Abe, M. Sato, K. Komatsu, S. Koshimura, H. Kobayashi,“Evaluation of Tsunami Inundation Simulation using Vector-Scalar Hybrid MPI on SXAurora TSUBASA,” The poster presentation at The International Conference for High
Performance Computing, Networking, Storage and Analysis (SC20), November 2020.
[6] Koshimura, S., Oie, T., Yanagisawa, H., Imamura, F., “Developing fragility
functions for tsunami damage estimation using numerical model and post-tsunami datafrom Banda Ache, Indonesia,” Coastal Engineering Journal, JSCE, 51(3),243-273,
2009.
[7] Y. Okada,“Internal Deformation due to Shear and Tensile Faults in a Half-Space,”
Bulletin of the Seismological Society of America, 82(2), 1018-1040, 1992.
[8] Inoue, T., T. Abe, S. Koshimura, A. Musa, Y. Murashima, H. Kobayashi, “Developmentand Validation of a Tsunami Numerical Model with the Polygonally Nested Grid Systemand its MPI-Parallelization for Real-Time Tsunami Inundation Forecast on a RegionalScale”, Journal of Disaster Research, Vol.14, No.3, pp.416-434, 2019. doi:
10.20965/jdr.2019.p0416