スパコン最大の学会・展示会「SC19」が開催

Supercomputingの最大の学会・展示会である「SC19」が11月17日から22日にかけて、米国コロラド州の州都デンバーで開催された。デンバーは標高が約1600m(1マイル)あり、Mile High Cityと呼ばれる。

SC19の会場はコロラドコンベンションセンターである。このコンベンションセンターにはガラス壁越しに中を覗き込む青色の熊の彫像があり、ブルーベアと呼ばれて親しまれている。

  • A64FX

    ガラス壁ごしにコンベンションセンターの中を覗き込むマスコットのブルーベア

  • A64FX

    逆光の写真であるが、コンベンションセンターの内側から見たブルーベア

第25回Green500で1位を獲得した「富岳」プロトタイプ

恒例であるが、11月のSCの開催と合わせてスパコンの性能ランキングとして有名なTop500のリストが公表される。Top500はLinpackという巨大な連立1次方程式を解く性能を競う。これと並んで、Green500というランキングも発表される。Green500はTop500と同じLinpackの性能を競うが、計算性能そのものではなく、計算性能を消費電力で割った計算のエネルギー効率を競う。

性能をあげるため、スパコンをどんどんと大型化してきたため、電力消費も大きくなり電気代も膨大となってきている。これに危機感を抱いたジョージア工科大のWu Feng教授らが計算のエネルギー効率を競うランキングを行えば、少ない消費電力で高い計算性能のスパコンを作るという努力を促進すると考えGreen500というランキングを作った。

今回の第25回目となるGreen500で、電力効率1位を獲得したのは次世代の日の丸スパコン「富岳」のプロトタイプ機である。次の写真はGreen500の1位の表彰式の写真である。この表彰を受けたのは、左から、富士通の次世代テクニカルコンピューティング開発本部のシステム統括部長の清水氏、開発本部長の新庄氏、理研R-CCSの松岡センター長とシステムソフトウェア研究チームの石川リーダーである。そして、並んでいる右端はGreen500創始者のWu Feng教授である。

  • A64FX

    Green500の1位の表彰。左から富士通の清水統括部長、新庄本部長、理研R-CCSの松岡センター長、石川リーダー

新製品のFX1000/FX700の発表を祝って、富士通は前夜祭の時に日本酒のこも被りの樽を持ち込んで鏡開きを行い展示ブースに大勢の人を集めていた。聞いたところによると、樽は日本からハンドキャリーで持ち込んだが、中身の酒はコロラド産であるという。

  • A64FX

    新製品のFX1000/FX700の発表を祝って、前夜祭の富士通ブースでは鏡開きが行なわれた

「富岳」に搭載されるCPU「A64FX」とは?

今回、Green500の1位となったシステムは、富岳スパコンのために開発されたA64FX CPUを768個使用するもので、Linpack性能は1.9995PFlops、ピーク演算性能の84.75%の演算性能を達成している。A64FX CPUは、ArmのSVE(Scalable Vector Extension)を持っており、ベクトルスパコンであるので、この程度のLinpack性能比率は妥当なところであろう。

そして、Linpack実行のエネルギー効率は16.876MFlops/Wで、晴れてGreen500の1位となった。なお、A64FXは1つのチップに48個のCPUコアを集積しており、CPUのクロックは2GHzである。

  • A64FX

    768個のA64 FXチップを使用する富岳スパコンのプロトタイプ機が16.876GFlops/Wのエネルギー効率を出し、Green500の1位に輝いた (出典:このレポートの全ての図は、SC19での富士通の清水氏の発表スライドを撮影したものである)

次の散布図は、横軸がGreen500のランキング順位、縦軸はGigaFlops/W単位のエネルギー効率である。そして水色の丸はCPUにGPUなどのアクセラレータを付けたシステムで、オレンジの丸はアクセラレータ無しのシステムである。

この図を見るとGF/Wの高いシステムはアクセラレータ付きが一般的である中で、A64FXはアクセラレータを使わずに高いエネルギー効率を実現している。アクセラレータ無しのシステムで2番目にエネルギー効率が高いのは中国の神威・太湖之光の6.051GF/Wであり、A64FXはアクセラレータ無しのシステムとしてはエネルギー効率を3倍程度改善したことになる。

ただし、ベクトル演算機構もある意味、アクセラレータであり、このような区分が意味があるのかどうか、筆者には良く分からない。

なお、散布図の右端の部分は、横軸をTop500の回数にしたもので、エネルギー効率の改善の年次推移を示している。

  • A64FX

    Green500ランキングの順位に対する実際のGF/W値の関係。エネルギー効率の向上に努力しているのは50位くらいまでのシステムで、それよりランキングの低い大部分のシステムのGF/W値は低いままである

エネルギー効率を高めるカギとなる技術とは?

次の散布図は、横軸がTop500のランキング順位で、縦軸がGF/Wである。最近のSummitスパコンなどのように、巨大スパコンはエネルギー効率が高いが、中位のランキングのシステムにはエネルギー効率が高いものは少ない。そして、GF/Wの向上を狙って設計した比較的規模の小さいスパコンには高効率のものもあるという状況である。ということで、A64FXプロト機は特異な位置にある。しかし、中位の規模で高効率のシステムを作るのが難しいということではなく、たまたま、A64FXプロト機が中規模であったというのがその理由ではないかと筆者は考えている。

  • A64FX

    Top500のランキング順位と実際のGF/W値の関係。ランキングの高い超大規模スパコンはGF/W値が高い。ランキングが350位以下では、高い電力効率を狙った実験的システムが高いGF/Wを出している

GF/Wを上げるカギとなるのはエネルギー効率の高いハードウェアと並列実行の効率の改善の両方の相乗効果である。A64FXは富士通の長年開発してきたマイクロアーキテクチャを7nm FinFETプロセスで作って高いエネルギー効率を実現している。そして、ToFu Dインタコネクトのネットワークインタフェース部分をCPUチップに内蔵して1チップとすることにより、チップ間をまたぐ信号伝送による電力の消費を削減している。さらに、メモリも3次元積層のHBM2を使い、CoWoSで集積し、消費電力を低減している。

科学技術計算ライブラリはアプリケーションの効率を高めるようにチューニングされ、通信ライブラリは京コンピュータのToFuインタコネクトでの長い経験をベースに改善を行っている。

  • A64FX

    命令セットはArmであるが、プロセサのハードウェアは富士通独自の設計でGF/Wを上げ、並列実行効率を高めている。A64FXではHBM2メモリの採用とToFu DインタコネクトのインタフェースをCPUチップに内蔵することによりGF/Wを改善している

Linpackの連立一次方程式を解く計算は未知数の数の3乗で演算量が増えるが、メモリのアクセス回数は未知数の2乗で増える。このため、未知数の数(Nmax)が増えると、演算あたりのメモリアクセスの回数が減少し、Linpack性能を上げやすくなる。

次の散布図は横軸に未知数の数(Nmax)をとり、縦軸はピーク演算性能に対するLinpack演算性能の比率をとったグラフである。この図を見ると、A64FXプロト機は小さいNmaxでも84.75%という高い演算効率を達成している。これは通信や演算のライブラリの改善やオーバラップした通信の最適化の賜物である。

  • A64FX

    連立1次方程式の未知数の数(Nmax)と浮動小数点演算器の使用効率のグラフ。Nmaxが大きいほうが効率を高めやすいが、A64FXプロト機は比較的小さいNmaxでも84.75%という高い効率を出している

TSMCの7nmプロセスで作られるA64FX

A64FX CPUはTSMCの7nmプロセスで作られるArmv8.2-A、SVE命令をサポートするプロセサである。512bit長のベクタ演算機構を持つ48個の演算用のコアと制御やIOを行う4個のアシスタントコアを集積している。ピーク演算性能は2.7+TFlopsである。

そして、CoWoSテクノロジを使い、4個のHBM2メモリをCPUと同一のインタポーザ基板に搭載している。メモリの容量は32GBで、DDR4 DIMMのように増設はできないが、ピークメモリバンド幅は1024GB/sと非常に高バンド幅のメモリとなっている。

さらにCPUチップにはA64FX CPU間を接続するネットワークであるToFu Dネットワークのインタフェースも内蔵している。

  • A64FX

    A64FX CPUはArm8.2-A命令セットにSVEを加えた命令をサポートする。メニ―コアチップであり、48個の演算用コアと4個のアシスタントコアをCPUチップに搭載している

次の図にA64FXチップのチップ写真を示す。このチップには8.786Bトランジスタが集積されている。

  • A64FX

    説明の付けられたA64FX CPUチップの顕微鏡写真。A64FXチップはTSMCの7nmプロセスで作られ8.786Bトランジスタを集積している

ToFu Dは京コンピュータで使用したToFuインタコネクトの改良版である。ネットワークインタフェースがCPUコアと同一チップに載っているので、CPUとネットワークの間のバンド幅が広くなり、データを注入する合計のバンド幅は40.8GB/sとなっている。また、ネットワークインタフェースを通過するレーテンシも短縮された。

  • A64FX

    A64FXではToFu DのネットワークインタフェースやルーターがCPUチップに内蔵された。ポートバンド幅は6.8GB/s。6ポート合計では40.8GB/sの注入バンド幅持つ。ピンポン通信のレーテンシは約0.5μsである

プロトタイプ機の構成を読み解く

A64FXプロト機は、次の図に示すように、384個のA64FX CPUを内蔵した2本のラックを中心に、左側に描かれた冷却水を供給するCDU、右側に描かれた高精度電力計、バックアップの電力計からなり、それらを制御用と管理用のEthernetで繋いでいる。

  • A64FX

    A64FXのプロト機は、384個のA64FX CPUを収容する2本のラックと冷却水を供給するCDU、制御と管理用のEthernetで構成されている。それに消費電力を測定する高精度の電力計とバックアップの電力計が接続されている

次の写真は2本のA64FXラックの外観と電力計の接続の様子を示すものである。

  • A64FX

    左はA64FXプロト機の2本のラック(左)と分電盤に電力測定のクランプを取り付けたところ(右)

次のプロットは、富岳プロト機の1/4の部分の電力の測定結果を示すものである。コアフェーズでは、ほぼ一定の消費電力で推移しており、良好な負荷分散ができていることが分かる。コアフェーズの消費電力は118.48kW、アイドル時の消費電力は46.92kWである。

なお、実際の測定はプロト機の1/4の部分で測定を行っているが、この消費電力はプロト機全体に換算した値になっている。

  • A64FX

    A64FXプロト機の1/4の部分のLinpack走行時の電源電流。コアフェーズ全体でほぼ一定の電流であり、うまく負荷分散ができていることが分かる。プロト機のコアフェーズでの消費電力の平均は118.48kWであった

富岳プロトタイプの成果をシステムとして販売

富士通は、このシステムを「FX1000」と「FX700」という名称で販売を始めることを明らかにした。FX1000は384ノードを1つのラックに収め、ラック間をToFu Dインタコネクトで接続して大規模スパコンを作ることができる。

FX700は8ノードを搭載した複数台の2Uのサーバをラックに収め、ノード間はInfiniBandで接続する。FX700では、A64FXチップに内蔵されているToFu Dネットワークのインタフェースは使われないとのことである。

そして、FX1000は水冷であるが、FX700は空冷となっている。また、FX1000は富岳スパコン用のツールやミドルウェアが搭載されているが、FX700の方はオープン環境のツール類が搭載されているという違いがある。

  • A64FX

    富士通はFX1000とFX700という2種のスパコンを商品化した。FX1000は大型スパコン向けでToFu Dインタコネクトを使うが、FX700はInfiniBandでノード間を接続する。ソフトウェアもFX1000は富岳スパコンと共通点が多いが、FX700はオープンなツール類が中心である

A64FXとXeon 2チップの性能比較

次の図の棒グラフは、A64FXとXeon(24コア、2.9GHzクロック)2チップのシステムの電力効率を比較したものである。水色の棒グラフがXeon 2チップで、オレンジの棒グラフが2.2GHzクロックのA64FX 1チップである。アプリケーションは、上から、OpenFOAM、FrontSTR、ABINIT、SALMON、SPECFEM3D、WRF、MPASである。

これらのアプリケーションを実行する場合、Xeonと比べてA64FXのエネルギー効率は、2.3倍から最大では3.7倍になっている。

  • A64FX

    キャプションがここに入ります

SC19開催直前に、HPEの子会社であるスパコンの老舗であるCrayからA64FXを使う「CS500」スパコンを発売するという発表が行なわれた。CrayのクラスタスパコンであるCS500は、CPUとしてXeonとAMDのEPYCを使うものがあり、GPUやFPGAアクセラレータを付けるものもある。今回のA64FXを使う製品は、CS500の1つのバリエーションとなると思われる。

SC19で展示されたモジュールなどを見るとFX700と同じ2個のA64FXを搭載したシャシーを使うのではないかと思われる。

日本国内のスパコン市場は小さく、国内だけで採算をとるのは難しく、CrayがA64FXを世界中で売ってくれれば富士通にとって嬉しい結果になる。

  • A64FX

    CrayがCS500クラスタスパコンにA64FX CPUを搭載して販売するという発表が行なわれた。FX700と同じ2チップ搭載のシャシーが使われるようである