太湖之光を使った非線形地震シミュレーション
2番目の発表は、「Enabling Nonlinear Earthquake Simulation for 18-Hz and 8-Meter Scenarios」と題する地震シミュレーションの論文で、発表者は清華大学のHaohuan Fu教授である。Fu教授は、最初に発表されたCAMの論文でも最後の著者として名を連ねており、指導教官であると思われる。
地震には、発生する日時、場所、マグニチュードの情報があり、これら3つを正確に予測するのが理想であるが、それは非常に難しい。しかし、3つの内の2つ予測ができたら、それでも大きな意味がある。
ということで、1996年のCray T3Dを使った8GFlopsの計算から、地球シミュレータによる5TFlopsの計算など地震シミュレーションプログラムの性能は改善され続けてきた。
典型的な地震シミュレーションでは300km×300km×50kmの領域を20mのグリッドで計算する。そうするとグリッドの総数は562.5Bとなり、これを1msステップで100秒間シミュレーションするには、150TBのメモリと100ExaFlopの計算が必要になる。
なお、論文のタイトルの8-Meterとなると、20-Meterの場合と比べると、グリッド数は15.6倍となる。また、10-Hzから18-Hzとなると計算ステップ数は1.8倍になると思われる。
地震シミュレーションのフレームワークは、地震を発生させるDynamic Rupture Source Generatorと地震波を伝搬させるSeismic Wave Propagationとその他のユーティリティから構成される。
前の論文で述べられたように、CPEには64KBのLDMしかないので、MPEに付けられた大容量のDRAMメモリとLDMの間で、DMAを使ってデータの出し入れを行う必要がある。
このため、高い性能を得るためには、DMAと計算をオーバラップさせる注意深い設計が必要となる。
次の図にみられるように、アレイを一まとめにしてデータ転送を行うアレイフュージョン、袖領域のデータの交換は、SW26010アーキテクチャの特徴である隣接CPE間でのレジスタ間転送を利用して行い、解析的に求めた最適なブロッキングを行うという方法で性能を向上させた。
まとめであるが、Dynamic Rupture Source GeneratorとSeismic Wave Propagationの両方を備えた地震波のシミュレーションソフトウェアを開発した。このソフトウェアはメモリの制約を回避する工夫を凝らしており、結果として15.2PFlopsの性能を達成した。
また、オンラインでデータの圧縮を行う機能を組み込み、性能を18.9PFlopsまで引き上げた。
LDMとDRAMのメインメモリの間で頻繁にデータの転送を必要とするアーキテクチャのマシンで、15.2(非圧縮)PFlops、18.9(圧縮)PFlopsの性能を出しているのは立派である。しかし、DMA転送を計算とオーバラップさせて、データ転送時間を隠すプログラミングは人海戦術で、かなり大変だったようである。
(次回は12月20日に掲載します)