先日、以下のニュースが日本を席巻しましたね!
富岳は「International Supercomputing Conference (ISC 2020)」で発表されたスーパーコンピュータの世界ランキングにおいて、LINPACKの実行性能を指標とした「TOP500」のほか、実際のアプリでよく使われるCG法のプログラムで性能を評価する「HPCG(High Performance Conjugate Gradient)」、低精度演算での演算能力を評価し、AI処理能力評価を行なう「HPL-AI」、超大規模グラフの探索能力で計算機を評価し、ビッグデータ分析などでの性能を示す「Graph500」の4部門において、いずれも2位に大差をつけて、世界1位を獲得した。
https://pc.watch.impress.co.jp/docs/news/1260899.html
4部門で1位だそうです。快挙ですよね。2位の米国IBM製「Summit」に約2.8倍の差をつけました。
今回の記事では、「富岳」のテクノロジや今回の成し遂げた成果について、まとめました。
仕事柄、スパコンなどにとても興味がありますので、備忘録を兼ねて要点をまとめてみました。
Contents
「TOP500」で1位を獲得
「TOP500 project 」は複数の大学の共同プロジェクトとして1993年より年2回、スーパーコンピュータのランキングを発表しています。
ウェブサイトは↓。発表当日はアクセスが殺到したためか、しばらく見られませんでした笑
今回、2020年6月の発表では、次の5種類のベンチマークテストの結果が公表されました。
今回、富岳はGreen500を除く、4種類のテストでナンバーワンを獲得しました!
もう少し、各ベンチマークテストの詳細を見ていきます。
TOP500(LINPACK)
1〜3位の結果は次の通り。富岳は圧倒的でしたね。415,530 TFLOPS/sでした。
LINPACKは、アメリカ人のジャック・ドンガラ氏によって、考案されたベンチマークテストです。
このテストでは、浮動小数点演算能力をチェックします。この演算は、一般的に他の演算に比べて処理に時間がかかるため、このようなベンチマーク・テストに使用されます。
実際に行う計算としては、大規模な連立1次方程式を解くことです。
今回の記録である、415,530 TFLOPS/sは、1秒間に41.5京回の浮動小数点演算ができる、ということになります。
HPCG
1〜3位の結果は次の通りでした。
HPCGとは、High Performance Conjugate Gradientsの頭文字を取ったものですね。「conjugate gradient」とは、共役勾配法のことであり、LINPACKと同様、連立1次方程式を解くための計算手順(アルゴリズム)の一つです。
2014年から、以下を目的に導入されました。
HPL-AI
ディープラーニングなどのAI処理では、低精度演算(10進数で5桁、もしくは10桁)の演算を並列に処理する必要がありますが、その性能を測定するテストがHPL-AIです。
「TOP 500」のサイトではランキングが発表されていませんでした。また、探しましたが見つかりませんでしたね。今のところ、非公表なのでしょうか?
オフィシャルサイト?にも情報はありませんでした。
Graph500
ランキングはGraph500オフィシャルサイトで発表されていました。
LINPACKやHPCGはともに「一次連立方程式を解く」というものであり、指標が偏ってしまいます。
そこで、他の指標が必要ということで、このGraph500が導入されました。
データ探索手法である、BFS (幅優先探索) のアルゴリズムを処理するスピードを競うベンチマークテストです。ビッグデータ解析に必要な処理能力を計測することが可能です。
Green500
ランキングは以下の通りです。富岳は4位でしたね。
こちらは残念ながら、最新のランキングではトップをとることができませんでした(試作機では2019年11月にトップを獲得しています)。
なお、こちらのランキングでトップを取ったのは、富岳ではありませんでしたが、日本のスパコンでした。プリファードネットワークスの「MN-3」です。
つまり、今回5種目全てで日本が金メダルだったということになります。残念ながらオリンピックは延期されてしまいましたが、政府は、東京オリンピック直前のこの時期に合わせて、この結果を狙っていたのかもしれませんね。
富岳の特徴
ARM製CPU
CPUには、富士通が開発した「A64FX」が搭載されています。
A64FXの特徴はざっくりいうと以下の通り。とりあえず、コレだけは抑えておきましょう。
製造は台湾の半導体製造メーカであるTSMC社です ※富士通は既に半導体製造からは撤退してしまっています。
なお、A64FXは、すでに富士通から本CPUを搭載した商用スパコンが2種類販売されています。ラックタイプの「PRIMEHPC FX1000」と2UサーバタイプのPRIMEHPC FX700です。これらの製品情報については、メーカのホームページをご覧ください。
冷却システム
富岳の冷却システムは水冷です。
以下の動画で富岳のCPU搭載ボードに水冷ユニットを取り付ける工場(FJITという国内工場)での作業の様子がわかります。
OS
OSはLinuxです。Red Hat Enterprise Linux 8 です。
「京」ではCPUがSPARCアーキテクチャであり、性能を出すためには、独自OSやアプリケーションが必要だったといいます。
「富岳」では、ARMアーキテクチャのCPUを採用しているため、汎用OS、ソフトウェアを利用できるようになりました。
これによって、非常に”使い勝手の良い”スパコンを実現することができたというわけです。
富岳の記者会見でもこの点は強調されていましたよね。理研の松岡さんが「”パワポ”も動く」と言っていたのが、印象的でしたね。
でも、Linuxでパワポをどう動かすってどうやるのかな…? さすがにスパコンだとしてもそのままでは動かないから、仮想マシンのインストールが必要ですよね...
システム構成
今回、富岳がベンチマークに使用したシステムは、396台の筐体から構成されています。
1筐体あたり、384個のCPU が搭載されているため、CPUの合計数は 152,064 個になります。
ノードという単位がありますが、CPUとメモリの組み合わせからなる、いわゆる一台の計算機として考えれば良い単位です。今回の富岳では、1CPU=1ノードなので、ラックあたり384ノード、システム全体で152,064ノードになりますね。
このCPUの 価格は分かりませんでしたが、このボリュームで製造したとしてもそれなりに高価なはず。想像もつきませんが、1個10万円だとして、15万個購入すれば150億円かかるという計算です。
ちなみに、理研のホームページによると、総ラック数は432台とありますので、次回、フル構成で測定すれば、もう少し性能向上が期待できるのかもしれませんね。
富岳の開発
開発の経緯も、備忘録程度にまとめておきます。
開発の経緯
時系列をまとめました。時が経つのは早いですね…。
2011年6月 | 京がTOP500で一位を獲得 |
2014年4月 | 国の「ポスト京」開発プロジェクト開始 |
2014年4月 | 共同事業者が富士通に決定 |
2019年4月 | 「ポスト京」製造開始 |
2019年12月 | 名称が「富岳」に決定 |
2019年12月 | 富岳がFJIT工場から初出荷(6筐体) |
2020年5月 | 全ラック納入完了(432筐体) |
2020年6月 | 富岳がTOP500で一位を獲得 |
開発費
国と富士通合わせて1,300億円(そのうち、国費が1,100億円)だそうです。
他国のメディアから「高すぎ!」と批判があるようですが、国内からはあまりそのような声は聞かれませんでしたね。
※今、そのような声をあげたら、蓮舫さん発言の二の舞になりますからねw
ちなみに、ほぼ同タイミングで、新型迎撃ミサイルシステム「イージス・アショア」の配備計画停止というニュースがありましたね。こちらで無駄になった国費は196億円ということでした。
国のコロナウイルス対策はいくらだったかなと思い、調べてみたら、桁が違いましたね。
新型コロナウイルス感染症緊急経済対策関係経費は、255,655億円 だそうです。ひええ。
ビジネスとしてのスパコン
「京」やそのCPUを商用化した富士通の商用スパコン「PRIMEHPC FX10」とその後継「PRIMEHPC FX100」は決してビジネス的に成功したとは言えなかったようです。理由は、SPARCアーキテクチャだったために、活用できるアプリケーションが少なかったからだと言われています。
その弱点を払拭したと言える「A64FX」CPUがどれだけ富士通のビジネスに貢献するかは注目されますね。
米国Cray社は既にA64FXを搭載したスパコンを製造することを発表しています。
最後に
ここまで、スーパーコンピュータの「富岳」について、まとめました。
「TOP 500」でこれまでトップに立ったことがある国はアメリカ、中国、日本のみです。今後も、技術力と資金力を両方兼ね備えた国しかきっとトップは獲れないでしょうね。
まだまだ日本は第一線でガンバっていると思います。今後は、財政的には厳しい面もあるでしょうが、最先端技術や高等教育への投資は惜しまないでいて欲しいものです😌
↓富岳も良いですが、こちらもオススメします。
↓過去に買ったはいいけど、まだしっかり読んでいない本達です。勉強あるのみ。