太湖之光のアプリケーション開発

太湖之光システムでは、すでに200以上のアプリケーションが動いており、そのうちの15アプリケーションはシステム全体を使うフルスケールのアプリケーションである。そして、50種以上のアプリケーションは半分のシステム規模までスケールし、100以上のアプリケーションは100万コアまでスケールするという。

300以上の企業、研究所、大学などと協力してアプリケーションの移植を行っており、WRF、VASP、LAMMPSなどのオープンなアプリケーションの移植を行ったという。

  • 太湖之光のアプリケーションの整備状況

    太湖之光のアプリケーションの整備状況。すでに200以上のアプリケーションが動いている

次の図に書かれたのは、フルスケールのシステムまでスケールするアプリケーションの(不完全な)リストである。そして、赤く塗ったのは、2016年と2017年のゴードンベル賞を受賞したアプリケーションである。

  • フルシステムまでスケールする太湖之光のアプリケーションのリスト(一部)

    フルシステムまでスケールするアプリケーションの(不完全な)リスト。赤く塗ったのはゴードンベル賞をとったものである

太湖之光と他のトップレベルスパコンの比較

次の2つのレーダーチャートは、太湖之光、天河2号、アメリカのTitan、日本の京コンピュータを比較したものである。左側の図は、ピーク演算性能やメモリサイズなどのハードウェアの諸元を比較したもので、太湖之光はピーク演算性能、通信バンド幅、体積あたりのTFlops、電力当たりのGFlopsでは、他のシステムより圧倒的に高いが、メモリ量とメモリバンド幅では他のシステムと同程度か劣る値となっている。

右側の図はLinpack、HPGMG、HPCGとGraphの各ベンチマークの性能を比較したもので、LinpackとHPGMGでは、太湖之光は他のシステムを大きく上回る性能を持っているが、HPCGとGraphでは京コンピュータに劣るという結果になっている。

  • 太湖之光とその他スパコンのハードウェア諸元と各ベンチマークの比較

    左はピークFlopsなどのハードウェア諸元を比較したレーダーチャート。右はLinpack、HPGMG、HPCG、Graphベンチマークで比較したレーダーチャート

3つの棒グラフは、左からピーク演算性能、メモリ量、価格を太湖之光、天河2号、スイスのPiz Daint、アメリカのTitanとSequoia、日本の京コンピュータで比較したものである。開発費や計算センターの建設費などの扱いがどうなっているのかよくわからないが、太湖之光の価格は2億5000万ドル程度で、アグレッシブな計算性能を、比較的少ない費用で実現したと評価している。

  • 各国の主要スパコンと太湖之光の比較

    主要スパコンのピーク演算性能、メモリ量、価格の比較。太湖之光は比較的低予算でアグレッシブな演算性能を実現している

神威・太湖之光は、125PFlopsのピーク演算性能、10Mコア、CPEあたり64KBのローカルメモリを持ち、ノード当たりでは32GBのメモリを持ち、メモリバンド幅は136GB/sのバンド幅を持っている。演算性能とメモリバンド幅の比は22Flops/Byteとなる。これはIntelのKnights Landingが6.5Flops/Byte、NVIDIAのP100 GPUが7.2Flops/Byteとくらべると、メモリアクセス1バイトあたり約3倍の演算が必要になる。

  • 太湖之光の主要な諸元

    太湖之光の主要な諸元。ピーク演算性能は125PFlopsと非常に高いが、メモリバンド幅はノード当たり136GB/sで、22Flops/バイトとKNLやP100と比較してバイトあたり3倍の演算が必要になる

太湖之光はOpenACCとMPIで10Mコアの並列化

太湖之光のプログラミングモデルは、MPEと64コアのCPEクラスタを1つの単位として、この単位をMPIのノードとする。そして、CPEクラスタの中はOpenACCで処理を並列化する。

GPUのOpenACC並列化は、全コアが共通に使えるデバイスメモリがあるが、太湖之光は、各CPEが64KBのローカルメモリを持つだけで、CPE間で共有するメモリが無い点が異なる。ただし、SW26010はCPE間のレジスタ転送という機能があり、これを使える場合は、高速のCPE間のデータ転送ができるようになっている。

通常はOpenACCによる並列化で良いが、CPE間のレジスタ転送などを使ってさらにチューニングを行う場合は、Athreadというスレッド並列化ライブラリを使う必要がある。

  • 太湖之光のプログラミングモデル

    MPE+64コアのCPEクラスタの単位として、その内部はOpenACCで並列化する。一方、各MPEでMPIを走らせてMPI並列化を行う

太湖之光のエクサスケール計画

そして、2018年にはSunwayシリーズのエクサスケールのパイロットシステムを開発する計画である。このパイロットシステムはノード当たり5~10TFlopsの性能を持ち、10~20GFlops/Wの電力効率を狙っている。

さらに、2020年~2021年には1000PFlopsのSunway Exa-Scaleシステムを開発する計画である。

  • Sunwayシリーズのエクサスケール計画のロードマップ

    Sunwayシリーズのエクサスケール計画

(次回は3月15日に掲載します)