SC16でのGordon Bell賞の候補論文は以下の6件である。なお、ここでは第1著者の所属だけを書いている。

  1. Towards Green Aviation with Python at Petascale(Imperial College London)
  2. Modeling Dilute Solutions Using First-Principles Molecular Dynamics: Computing More than a Million Atoms with Over a Million Cores(Lawrence Livermore National Laboratory)
  3. Simulations of Below-Ground Dynamics of Fungi: 1.184 Pflops Attained by Automated Generation and Autotuning of Temporal Blocking Codes(RIKEN)
  4. Extreme-Scale Phase Field Simulations of Coarsening Dynamics on the Sunway TaihuLight Supercomputer(Chinese Academy of Sciences)
  5. A Highly Effective Global Surface Wave Numerical Simulation with Ultra-High Resolution(First Institute of Oceanography)
  6. 10M-Core Scalable Fully-Implicit Solver for Nonhydrostatic Atmospheric Dynamics(Chinese Academy of Sciences)

最初の論文は、ジェットエンジン内部の気流の流れをシミュレーションする論文で、Piz DaintとTitanを使って計算を行なっている。Titanを使った場合で、ピーク性能の58%にあたる13.7DP-PFlopsをPythonで書いたプログラムで実現している。

2番目の論文は、薄い溶液の中の分子の間に働く力を計算するもので、一般に、第1原理に基づく計算を行なうと系に含まれる原子の数の3乗(O(n3))かそれ以上の計算を必要とする。これに対して、筆者らは原子の数の1乗(O(n))に比例する計算で、誤差も完全に制御することができる計算法を開発し、Sequoiaを使って100万個以上の原子を含む系について計算を行なっている。100万コアを使って、従来の方法で計算すると2年かかるが、この方法を使うと90秒で終わる計算になるという。

3番目の論文は、理研と千葉大、神戸大、富士通などの共著の論文で、ステンシル計算を行なうプログラムを生成する「Formula」と呼ぶシステムを開発している。FormulaはC言語とMPIを使うコードを生成し、最適化するので、移植性が高いという。このFormulaを使って地下の菌糸の成長を京コンピュータを使って計算し、倍精度演算で1.184PFlopsを実現している。これはピーク演算性能の11.62%であるが、ピークメモリスループットの31.26%を使っているという。

4番目以降の3つの論文は、すべてTOP500 1位の神威太湖之光(Sunway TaihuLight)を使った中国の論文である。

4番目の論文は、金属などが熔けた状態から温度が下がるにつれて、結晶成長などの複雑な構造ができるのを「Phase Field」という方法でシミュレーションする論文である。Phase Fieldを用いた凝固の様子のシミュレーションでは、2011年に東工大の下河辺氏らがGordon Bell賞を受賞している。

この論文では200億点以上のグリッドを持つ系をシミュレーションし、ピークの41%にあたる50.579PFlopsの性能を得ている。

5番目の論文は、海面の波のシミュレーションで、波は近傍だけでなく、地球規模で伝わるという。地球規模での波のシミュレーションは、現状では15km程度の分解能が限界という。これに対して、全系を使って計算すると、1.1kmの分解能で7日間の予報を計算する時間を48分以下に短縮したという。このときの性能は45.43PFlopsで、これはピーク性能の36.22%にあたる。

最後の論文は、1000万コアまでスケールする完全な陰解法の気象シミュレーションを開発したという論文である。気象計算には、細かい時間単位で隣接したセルからの影響を受けてセルの状態が変わるのを追いかけていく陽解法と、方程式を解くように、セルの状態がどう変わるかを計算する陰解法がある。陽解法の方が計算は簡単であるが、計算を行なう時間刻みを短くしないと精度が得られない。このため、一定の期間の気象の変化をシミュレートするのに必要な計算回数が多くなるという問題がある。

一方、陰解法の場合は、計算が複雑で、超多数のコアを使うようなプログラムを作ることが難しいという問題がある。しかし、計算する時間刻みを長くとることができるので、一定の期間の気象シミュレーションに必要な計算量は少なくて済む。結果として、今回の論文では、陽解法での計算と比べると89.5倍のスピードアップを実現している。

そして、処理分担を工夫して、10.6Mコアで3kmのメッシュの場合で、45%の並列効率を実現したという。昨年のGordon Bell賞を受賞したマントル対流の計算では1.6Mコア程度で33%の並列効率であったのと比べると大幅な改善である。

そして、最後の10Mコアでの気象シミュレーションがSC16でのGordon Bell賞を獲得した。

Gordon Bell賞の表彰の模様。賞状を持つ左側の4人が受賞者。右端は表彰委員の松岡先生

Gordon Bellを授賞した論文発表。中国科学院軟件研究所、清華大学、無錫スパコンセンター、メーカーの神威、北京師範大学の共著となっている

Gordon Bell賞の獲得に使われたSunway TaihuLight(神威太湖之光)は、SW26010という中国が開発したメニーコアプロセサを使っている。SW26010は64個の計算コアと1個の汎用コアからなるコアグループを4個集積するチップである。

SW26010プロセサのブロックダイヤグラム (この図は、発表された論文の図の抜粋であり、以降の図は、発表スライドを撮影したものである)

64個の計算コア群には64KiBのローカルメモリと8GiBの外付けのDRAMメモリが付いている。4つの計算コア群の間は、チップ内のネットワークによる接続であり、計算コア群の間の通信はMPIなどを使って行う構造となっている。

何しろ、10.6Mコアのシステムであるので、すべてのコアをうまく使うことが、システムとしての性能を引き出す鍵である。Domain DecompositionとMulti Gridを使って、1000万個を超えるコアへの処理分散を実現している。

何しろ、10,649,600コアあるので、うまく仕事を割り当てるのが高性能を引き出す鍵である。ドメインデコンポジションとマルチグリッドを組み合わせて割り当てを行っている

その結果、2km分解能の格子では、10.6Mコアで67%の並列化効率を実現した。また、3km格子の場合は、45%の並列化効率となっている。これは、2015年のGordon Bellの論文が1.6Mコアで33%の並列化効率であったのと比べると大幅な改善である。

並列化効率の比較

次の図の青線は、今回の陰解法の性能、もう一方は陽解法で同じ問題を解いた時の性能で、縦軸はSimulated Year Per Dayである。10.6Mコアの所で比べると、今回の陰解法では、陽解法と比べて89.5倍速いという大幅な高速化が達成されている。

陰解法と陽解法の性能比較。10.6Mコアの場合、今回の陰解法は89.5倍高速になっている

フラグシップスパコンが稼働すると、その直後には、そのマシンを使ったGordon Bell賞を目指す論文が出てくるのが一般的である。しかし、天河2号がTOP500の1位になった時は、Gordon Bell候補の論文は出てこず、中国のソフトは遅れているという印象であった。しかし、今回は候補論文の半分の3件の論文が出され、その中の1つがGordon Bellを獲得したことで、中国のスパコンアプリの開発が大きく進化したことを印象付ける結果となった。