Top500は巨大な連立1次方程式を解くベンチマークである。初期のスパコンが計算していた連立1次方程式は未知数が100元とか1000元という物であったが、スパコンの性能の向上から、未知数の数が足りなくなってきた。このため、未知数の数は任意で勝手に選んでよいというルールに変更された。
Top500のランキングを決めるHPL
未知数の数が多くなれば計算時間は伸びるが、未知数の数が決まれば、その場合の計算回数は分かるので、スパコンの演算性能を正しく比較することには問題ない。これがHPL(High Performance Linpack)ベンチマークである。
構造物に格子点を切り、1つの格子点に他のすべての格子点から及ぼす力とそれによる変形を求めるという計算はメカニカルな計算ではよく出てくる。
疎な係数行列を解くHPCG
当初は、モデルの精度を改善するため、格子を細かくし、格子点の数を増やしていたが、モデルの規模が大きくなると、1つの格子点に影響するのはその近傍にある格子点だけで、相互に力を及ぼしあうのは一部の格子点だけになってきた。こうなると、相互作用の係数がゼロという、係数が疎行列となるという計算が標準的で、密な係数行列の場合を計算するHPLは実際のスパコンでの計算とずれてきてしまった。
このため、疎行列の係数行列の場合を計算するHPCGベンチマークが作られた。HPLではハードウェアのピーク性能の70%、80%の性能を出すのが普通であるが、HPCGではメモリアクセスが飛び飛びになるので、ピーク性能の1~3%くらいの性能しか得られないことが多く、計算テクニック上、問題の性質が大きく変わってくる。
マシンラーニング計算の性能を測るHPL-AI
HPCGは多くの実用的な計算のパターンと一致した計算方法であるが、最近、多く用いられるようになったマシンラーニングでは、また、異なった特徴を持つ計算方法が使われる。
科学技術計算では、一般的に64bitの倍精度浮動小数点数が用いられるが、マシンラーニングでは32bitの単精度浮動小数点数や16bitの半精度浮動小数点数が用いられる。係数の精度を半分、1/4に切り詰めれば、1サイクルに実行できる演算数がその分、増える。
このため、HPL-AIというベンチマークが開発された。HPL-AIでは、HPLと同じ係数行列を使うが、半精度などの低精度の演算で係数行列のLU分解を行う。低精度のLU分解であるので、64bit精度での計算と比べると誤差が大きいが、GMRESなどの方法で誤差をゼロに近づけることを繰り返せば64bit精度でLU分解を計算したのと同等の精度を得ることができる。
このようにLU分解などの計算量の多い計算は低精度で行い、64bit精度で補正量を計算するというような計算法を用いると、全体の計算時間を短縮することができる。つまり、HPL-AIは元のHPLと同じ問題を、低精度の演算と反復計算による誤差低減でで解いている。しかし、主となる計算は低精度浮動小数点の積和演算であり、これはマシンラーニング計算と同じである。
電力効率に注目するGreen500
これまでに述べたベンチマークは計算時間の短縮を競うものであるが、Green500は、HPLと同じ計算を行うのであるが、計算を行う時の消費電力あたりの演算性能 GFlops/Wを競うベンチマークである。トップクラスのスパコンは数十MWの電力を必要とするようになってきている。富岳は約30MWの消費電力で、これは1GWの火力発電や原子力発電の発電量の3%という大きな電力を消費することになる。このため、スパコンはどれだけ速く計算ができるかだけでなく、いかに電力消費を抑えるかも重要である。
Green500はHPLの計算を行う時の消費エネルギーを積算し、HPLの演算数を消費エネルギーで割った電力効率(GFlops/W)の高さを競う。
図1は、今回のISC 2021で富岳が獲得したTop500(HPL)とHPCG、HPL-AIの1位の賞状のコラージュの写真である。なお、右下の顔写真はTop500のまとめを行っているNERSCのErick Strohmaier氏である。なお、2019年11月には富岳プロトタイプ機がGreen500で1位となったが、今回のGreen500の1位はPreferred NetworksのMN-3スパコンで、富岳スパコンはGreen500では20位となった。
Top500のハイライト
図2はTop500の10位までのスパコンで使用しているプロセサやアクセラレータ、そして、HPL性能などの情報をまとめた表である。この中で黄色でハイライトしているNERSCのPerlmutterだけが、今回のISCで登場した新顔のスパコンである。Perlmutterはダークエネルギーの存在を観測から明らかにしてノーベル賞を受賞したカリフォルニア大バークレイ校のSaul Perlmutter教授にちなんでつけられた名前である。
Top500の1位から4位は前回と変わらず、前回の5位以降がPerlmutterの追加で繰り下がったというのが今回のTop500上位のランキングの変更である。
HPCGでは、新顔のPerlmutterが3位となった
HPCGでは富岳の1位とオークリッジ国立研究所のSummitの2位は変わらないが、Top10新顔のPerlmutterが3位に入った。Summitの姉妹システムのSierraは、HPLではPerlmutterよりも性能が高いがHPCGでは1.905PFlopsとPerlmutterに抜かれた。NVIDIAのA100 GPUを使うPerlmutterの方が疎行列のメモリアクセスの性能が高かったと思われる。
そして、HPCGではWisteriaが9位となった。Wisteriaは東大に設置されたミニ富岳スパコンである。ミニというのは富岳との比較の話で、Wisteriaはピーク性能が約22PFlops、Top500では13位と言う大型スパコンである。
HPL-AIはFP16などの低精度計算と誤差の補正でHPLと同じ問題を解く
図4にHPL-AIのTop5を示す。1位、2位は富岳とSummitで変わらずであるが、3位はNVIDIAのSelene、4位はNERSCのPerlmutter、5位はドイツのForschungszentrum Juelich(FZJ)のJUWELS Booster Moduleとなった。3位から5位はAMDのEPYC CPUにNVIDIAのA100 GPUを計算エンジンとして付けているシステムである。
HPL-AIの計算はHPLと同じであり、低精度浮動小数点演算を使って低精度の計算結果を速く求め、それをGMRESなどの方法で低精度計算で生じる誤差を反復法で速く精度を改善する。この解き方の違いで、富岳は2EFlops、Summitは1.15EFlopsとExaFlopsを超える性能を出している。このため、富岳とSummitは初のExaFlopsスパコンという見方も出ている。
計算のエネルギー効率を競うGreen500
Green500ベンチマークのTop10を次の図5に示す。Green500の1位は日本のPreferred NetworksのMN-3である。MN-3は2020年6月にGreen500の1位となったが、2020年11月にはNVIDIAのA100 GPUを使うSuperPodに抜かれて、2位となった。
しかし、2021年6月には再度、Green500のトップに返り咲いた。MN-3のハードウェアは2020年6月から変わっておらず、消費電力77kW、エネルギー効率21.108GFlopsのシステムをソフトウェアの改良で、消費電力61kWまでダイエットさせて、エネルギー効率を29.7GFlops/Wまで引き上げた。
同社のMN-Coreプロセサは1つの命令処理ユニットで32K回の積和演算を行わせるという巨大なSIMDプロセサである。命令の実行に使用するハードウェアを極小化して、エネルギー効率を高める設計で、いかにして全部の演算器を遊ばせないようにし、かつ、演算器の間の配線を短くしてエネルギー効率を高めるのがポイントである。Preferred Networksはこの問題の最適な解を見つけるコンパイラを開発し、77kWから61kWと消費エネルギーを20.8%削減して、Green500の1位に返り咲いた。
図5はGreen500のTop10のシステムのリストであるが、MN-3と10位のWisteriaを除くとその他のシステムはAMDのEPYC CPUとNVIDIAのA100 GPUを使っている。そして、これらの8システムのエネルギー効率は29.5GFlops/Wから24.3GFlops/Wの範囲に入っている。
Top500に見るスパコン界の変化
図6にTop500スパコンの更新速度(更新で退役し、新システムに置き換えられたスパコンの数)を示す。1994年から2008年までの期間は半年に200台くらいのスパコンが置き換えられていたが、その後は更新の速度が遅くなり、最近では50台程度の更新と言うレートになっている。これは全500システムの更新に10回のTop500発表(5年)掛かるというペースである。
これはスパコンが大型化し、更新費用も高くなっているために、効率は悪くなっても新しいスパコンが買えず更新できないことから生じている。
これを研究用のスパコンと商業用のスパコンに分解してみると図7のようになる。商業用のスパコンは更新頻度が早く、研究用は特に2000年頃からシステム更新の速度が遅くなっている。ただし、ここ2年くらいは商用スパコンの更新もスローダウンしている。この傾向が一時的なものであるのか、近い将来、更新頻度が増えるのか注意して見ている必要がある。
図8は1位から500位までのスパコンの合計(SUM)性能、トップのスパコン(N=1)の性能、500位のスパコン(N=500)の性能の推移を示すグラフである。N=500のグラフは2008年ころから傾きが変わり、SUMのグラフは2013年ころから傾きが変わっている。
これは、ムーアの法則の鈍化とデナードスケーリングが止まってしまったことが原因であると考えられている。
各国のスパコンの状況
次に世界の国別にスパコンがどのように設置されているかを示すのが図10である。なお、図10ではTop500にランクインしたスパコンが何台あるかをカウントしており、スパコンの規模の大小にかかわらず、台数だけを数えている。
2015年ころに中国が国威発揚のためか多くの商用クラスタシステムをTop500に登録するようになり、グラフの中の赤い中国の帯の幅が広くなった。ただし、最近では中国のシステム数が少し減っており、赤い帯の幅を膨らませても実用的な意味がないことに気が付いてきたようである。
中国に押されて米国のTop500スパコンの数は100システム程度に減少したが、中国の無茶な登録の減速から、多少、米国スパコンのシステム数は増加の傾向にある。
図11は最新の国別の設置シェアをパイチャートで表したものである。最大の台数を保有するのは中国で、37%のTop500スパコンが中国に存在する。2位は米国で、25%を保有している。それに続いて日本が7%、ドイツが5%、フランスが3%、オランダ、アイルランドも3%のTop500スパコンを保有している。
図12は国別のTop500スパコンの保有率を研究開発用と商用に分けたパイチャートである。図12が興味深いのは、中国のTop500スパコンの大部分は商用で、研究用のスパコンは少ないことである。一方、日本や米国では大部分が研究用スパコンで、商用のスパコンは少なく、スパコンの使われ方が大きく異なっている。
しかし、中国のように多くのスパコンが商用に使われているとすると、どのような問題を解いているのか、そして、HPL、HPCG、HPL-AIのようなベンチマークは中国でのスパコンの性能を評価するのに適しているのかが気になるところである。
図13は国別のスパコンシェアを、台数ではなくHPL性能の合計でパイチャートを描いたものである。右の商用スパコンの中国のシェアは、台数では67%であったが、個々のシステムの性能を加味した図13では33%のシェアに減少し、中国の商用スパコンは平均よりも小型のマシンであることが分かる。
なお、研究用スパコンでは日本のシェアが37%と非常に高いが、これは富岳1システムで非常に大きなシェアを占めているからである。また、研究用スパコンで中国が大きなスライスを占めているのは、太湖之光と天河2Aという巨大スパコンが含まれているからである。
そして、商用のスパコンではフランス、イタリア、サウジアラビアが大きなシェアを占めているが、これは石油探査に大規模なスパコンを使っているからである。
メーカーごとのスパコンシェア
図14はそれらのスパコンを作ったメーカーの国別シェアを示している。歴史的に見ると米国のシェアが圧倒的で、日本もベクトルスパコンが強かった2000年ころまでは、相当なシェアをもっていた。しかし、2015年ころから中国がシェアを伸ばしてきて、2020年には60%のシェアとなった。図10の国別設置シェアに見られるように、全体的に中国に設置されたスパコンが多く、さらにLenovoなどが海外に設置するスパコンなどが加わるので、中国製のスパコンのシェアが高くなっている。
しかし、図10と同様に最近では中国製のスパコンの台数は少し減っている。
図16は図15の各スライスをシステム性能の合計に書き換えたものである。台数の多い中国の商用スパコンは性能は低いので、スライスが小さくなる。一方、米国商用スパコンは規模の大きいシステムが多いので、米国のスライスの方が大きくなっている。
世界のスパコンメーカのシェア
図17に示すメーカー別の台数シェアは、中国市場で強く、海外にも販売できるLenovoが184システムでトップ、HPE/Crayが80システム、中国のInspurが57システムで続く。さらに、中国のSugonが39システム、フランスのAtosが36システムとなっている。
主要メーカーのスパコンの性能シェアを図18に示す。富岳の性能シェアが大きいので富士通のスライスが20%と世界最大になっている。そして、HPE/Cray、Lenovo、IBMと続く。また、NVIDIAはGPUメーカーであるが、最近ではCPUを含むDGX SuperPodで大規模スパコンを作っており、Top500の5%の性能シェアのスパコンメーカーとなっている。
図19は、使用しているCPUとアクセラレータで区分した図である。Intel CPUだけを計算エンジンとして使うシステムは、商用スパコンでは51%、研究用スパコンでも41%と高い比率にのぼっている。そして、Intel CPU/NVIDIA GPUを使うシステムが、商用スパコンでは35%、研究用スパコンでは15%存在する。研究用スパコンではIntelではなくAMDのCPUを単独で使うものが11%、NVIDIA GPUと組み合わせて使うものが11%となっている。AMDにとっては幸先の良い滑り出しである。
しかし、性能も考慮に入れてシェアを考えると、研究用ではArmが30%でトップ、POWER/NVIDIAが18%で2位である。しかし、Armのトップは富岳、Power/NVIDIAはSierra、Summitの存在が効いていると思われ、今後、急速にその比率は変わっていくのではないかと思われる。
商用スパコンでは、Intel/NVIDIAが35%、Intelオンリーが29%、AMD/NVIDIAが27%とこの3つのパターンがほぼ拮抗した状態である。
図21は平均的なスパコンのサイズを示すグラフである。上から順に研究用スパコンの平均、Top500全体の平均、商用スパコンの平均的なサイズのスパコンの性能の半年ごとの性能推移を示している。
図21のグラフには明確な傾向は見えないのであるが、図22のようにそれぞれのクラスのエントリレベルのスパコンの性能推移を見てみると、2017年ころから研究用スパコンの性能の伸びがスローダウンしている。
また、注意深く見ると商用のスパコンでも2年くらい前からスローダウンが見られる。しかし、これがテクノロジの進化が壁にぶつかりつつあるのか、あるいはスパコンの開発予算が不足しているのかなどの何が原因であるのかはまだ分からない。
2021年のISCでのTop500のハイライトは
- 富岳がTop500の1位をキープ
- Top500 5位のLBNLのPerlmutterが新顔の最高性能スパコン
- 全体的にスパコンの更新は低調
- 中国の新システムの発表は低調
- 新システムの半分が」AMDのEPYCプロセサを採用
- Top100の研究用スパコンの性能の伸びに新たな減速要因か?
中国の新システムの発表が無いのは、米国の禁輸で、先端半導体プロセスが使えなくなった影響が大きいと思われる。どのように中国がこれを乗り越えて行くのかを注目する必要がある。