流体の振る舞いをシミュレーションするやり方として、流体を小さな粒子の集まりとして取り扱う「DEM(Distinct Element Method)」と「SPH(Smoothed particle hydrodynamics)」という方法がある。海洋開発研究機構(JAMSTEC)の数理科学・先端技術研究分野の古市氏らが、これらの数値解析の手法を使って、地滑りや地層の変形などを解析しようとしている。
しかし、粒子の位置が動くとプロセサの負荷が偏ってしまう。このため、並列コンピュータでPSM(Particle Simulation Method)を効率よく実行させるのは難しいという。
理化学研究所(理研)で開催された「New Horizons of Computational Science with Heterogeneous Many-Core Processors」と題するワークショップにおいて、同氏が、「Development of Parallel Particle Simulation Code and Challenges with Huge Granular System」というタイトルでこうした研究に関する講演を行った。
次の図は、砂の層で地層モデルを作り、それに力を掛けて変形を調べる実験装置の写真である。条件を調整して実験を行うと、右端の紀伊半島と四国の沖の南海トラフの地形ができるという。
これを実験ではなく、DEMを使ってコンピュータで計算する。
力を掛けるにしたがって、次の写真の下の方に見られる断面のように、地層は複雑に折りたたまれて階段状の地形が作られる。
次の図の右側の写真は、大型のメリーゴーラウンドのような装置で、左の写真のような砂の層で作ったモデルを回転させて遠心力で力を掛けて、どのように変形するかを調べる。
しかし、これは手間もお金もかかる実験である。このため、コンピュータシミュレーションを行っているが、京コンピュータで5000万粒子のモデルを計算するのには1回の計算で27万円かかり、いろいろと条件を変えてシミュレーションする必要があるので、一連の計算に430万円かかるという。この金額は、メリーゴーラウンドの実験装置を使うのと同程度の費用であり、コンピュータを使っても安くはならない。
しかし、コンピュータの効率が上がればシミュレーションの方が安くなり得る。京コンピュータのエネルギー効率は0.8GFlops/Wであるのに対して、PEZY-SC2は17GFlops/Wと約20倍のエネルギー効率である。これでコンピュータのエネルギーコストは1/20になる。つまり、Green500で1位となったPEZY-SC2でシミュレーションを行えば、コンピュータシミュレーションのコストは京コンピュータよりも大幅に安くなると期待できる。
次の図は、PEZY-SCを使った場合の計算コストを示す棒グラフで、上側に描かれているのは拡大した棒グラフである。このグラフをみると、データを準備するPACK、PEZY-SCにデータを送るSEND、シミュレーションを行うEXEのコストは小さく、その他のOTHERの時間が大部分を占めている。また、EXEよりもPACKやSENDの方が時間が掛かっている。これに関しては、時間のかかる部分をOpenCL(PZCL)で書き直して性能を改善する計画であるという。
次の図の左のグラフはPEZY-SCとPEZY-SC2 1チップでのEXEの実行時間のグラフで、横軸は実行スレッド数である。PEZY-SCでは8000スレッドまではリソースの競合なく実行できる。また、PEZ-SC2では16000スレッドまでリソース競合しないので、きれいにストロングスケール(Strong scale:同じサイズの問題をプロセサ数nを増やして処理すると、処理時間が1/nとなる)している。
そして、SC2はSCに比べて約7倍の性能となっている。
右側のグラフは、横軸はSC2チップの数で、こちらも理想的なカーブとよく一致して綺麗にストロングスケールしている。
まとめであるが、ソフトウェアの改善でロードバランスがうまく行くようになった。そして、現実的な10億粒子のシミュレーションが実用的に使えるようになってきた。
計算コストを下げる鍵はエネルギー効率であり、高エネルギー効率のPEZY-SC/SC2に期待する。
PEZY-SCを使ったSPHアプリケーションの性能評価を行い、ストロングスケーリングがうまく行くことを確認した。さらに性能を改善するためのアプリケーションの性能改善が重要である。DEMの効率的な実装やポストプロセスの処理時間は、残る問題である。