我が国をとりまく様々な社会的・科学的課題の解決を先導し,科学技術の振興,産業の強化,安全・安心の国づくりに貢献する目的で,2014年から理化学研究所と富士通はスーパーコンピュータ「富岳」(以下,「富岳」)の研究開発を進めた。2020年5月にはハードウェアの設置を完了し,同年6月にはLinpack,HPCG,Graph500,HPL-AIの四つのベンチマーク結果で世界一位の性能を達成した。現在は,2021年度の共用開始に向けて調整を続けている。
本稿では,「富岳」開発プロジェクト準備期間からの歴史,プロジェクト全体計画にインパクトのあった二つの転機を含めて振り返る。
1.まえがき
スーパーコンピュータ「富岳」(以下,「富岳」)は,文部科学省が2014年度から実施したフラッグシップ2020プロジェクト(通称,ポスト「京」の開発)の成果物の一つである。本プロジェクトは,スーパーコンピュータ「京」(以下,「京」)の後継機の開発・整備,および開発した後継機を用いて重点的に取り組むべき社会的・科学的課題(重点課題)に向けたアプリケーション開発の二つから構成される。プロジェクト開始時,後継機の名称はまだ決まっていなかったため,ポスト「京」という名前を使用していた(以降,この通称を用いる)。ポスト「京」の開発は,我が国をとりまく様々な社会的・科学的課題の解決を先導し,科学技術の振興,産業の強化,安全・安心の国づくりに貢献する目的として進められた。世界最高水準の消費電力あたり性能,計算能力,ユーザーの利便・使い勝手の良さ,画期的な成果の創出というシステムの特色を兼ね備えた,総合力のあるスーパーコンピュータを実現すべく,システムの消費電力を30~40 MWとすること,およびいくつかの実アプリケーションにおいて「京」の100倍の性能を達成すること,の二つをシステムの性能目標とした。
本稿では,ポスト「京」のプロジェクト準備期間からの歴史を,プロジェクト全体計画にインパクトのあった二つの転機を含めて振り返りたい。
2.プロジェクト開始前の状況
ポスト「京」の開発は,プロジェクト開始4年前の2010年,筆者が東京大学,筑波大学,東京工業大学,京都大学とともに,草の根的に始めた「戦略的高性能計算システム開発に関するワークショップ(SDHPC:Strategic Direction/Development of HPC)」までさかのぼることができる。当時は,2009年秋の事業仕分け後,文部科学省が「京」を中核とする各大学情報基盤センターなどのスーパーコンピュータを「革新的ハイパフォーマンス・コンピューティング・インフラ(HPCI)」と位置づけ,多様な利用者のニーズに応える計算環境の構築を開始した時期である。「京」の開発に目途が立ち,また筑波大学,東京大学,京都大学が共同研究の結果策定したT2Kオープンスーパーコンピュータ仕様に基づくマシンが稼働していた。一方,国際連携では,IESP(International Exascale Software Project)[1]が2008年に立ち上がり,エクサスケールマシンに向けた技術課題やロードマップの議論が開始された。
第一回SDHPCワークショップにおける筆者の趣旨説明を以下に掲載する。
“5年後にセンター運用可能な高性能並列計算機システムは,どういうシステム仕様が考えられ,そのために,今後どういう研究開発をしていくべきなのか,アプリケーション開発者,数値計算ライブラリ,プログラミング言語,ミドルウェア,システムソフトウェア,ハードウェア開発者とともに議論していきます。参加者は全員,プロジェクタを使って,10分程度の意見表明&議論をして頂きます。発表内容は,所属組織とは関係ない研究者・技術者の個人的な意見を期待しています。若手研究者/技術者の参加を期待しています。”
このワークショップで画期的だったのは,以下の二点であったと考えている。
- アプリケーション・システムソフトウェア・ハードウェアの若手研究者および若手開発者を一堂に集めて議論できたこと。
- 所属組織の立場ではなく,個人の立場で議論できたこと。
その後,文部科学省HPCI計画推進委員会[2]傘下に「今後のHPC技術の研究開発のあり方検討ワーキンググループ」が立ち上がり,その下にアプリケーション作業部会およびコンピュータアーキテクチャ・コンパイラ・システムソフトウェア作業部会が設置された[3]。SDHPCは,後者の作業部会のアクティビティと統合され,合計11回開催して,「今後のHPC技術開発に関する報告書」の一部である「HPCI技術ロードマップ白書」をまとめ,2012年HPCI計画推進委員会に提出した。
更に,文部科学省「将来のHPCIシステムのあり方の調査研究」(以降,調査研究と呼ぶ)が公募され,2012年7月から2014年3月の2年間にわたり,筆者が代表を務める東京大学情報基盤センターが代表機関となり,富士通などの企業とともに「レイテンシコアの高度化・高効率化による将来のHPCIシステムに関する調査研究」を実施した。この成果が,「富岳」開発の基礎となった。
3.プロジェクト経緯
調査研究が進む中,理化学研究所は2013年に以下の三つのシステム設計の考えを基にした,計算ノードに汎用CPUと加速部から構成されるシステムを,ポスト「京」として提案した。
- サイエンスドリブンで設計を進める。すなわち,「今後のHPC技術開発に関する報告書」にある計算科学ロードマップ(第2版)に基づき,社会的・科学的課題解決に必要な計算資源を提供することを目的として設計を進める。
- サステイナブルなシステムであること。「京」の後継機として「京」の資産を受け継ぎ,そして将来の計算機システム発展動向を見据えたシステムとする。
- TCO(Total Cost of Ownership)を考えたシステムであること。低消費電力,ソフトウェア高移植性,高耐故障性を有するシステムを設計する。
この時の総合科学技術会議(現在の総合科学技術・イノベーション会議)の資料[4]にもあるとおり,消費電力30~40 MWで理論演算性能1エクサフロップス級を有することとした。また開発目標は,「京」の100倍のアプリケーション実効性能を目指すこと,2020年から運用可能で優れた性能電力比と幅広いアプリケーション実行環境を有するエクサスケールマシンを実現するために,アプリケーション開発者とハードウェア開発者とともにアプリケーションおよびハードウェアのコデザイン(協調設計)を行うこと,としていた。
プロジェクトが正式に開始された2014年早々に最初の転機があった。理化学研究所は加速部も含めた開発・製造費用に関して精査し,文部科学省「将来のHPCIシステムのあり方の調査研究」に諮った。その結果,加速部の開発は技術自体の実現可能性は十分に見込まれるが,開発・製造経費が多額であり,システムとして競争力を持つためには広い需要を得る必要があると評価され,本開発プロジェクト内での開発を断念した。代替案として,加速部としてGPUを採用することも検討したが,必要とされる性能を満たすGPUの登場時期が不明確であり,ポスト「京」開発を遅延なく遂行するためには,GPUの採用は適切ではないと判断した。
このような経緯から,総事業費の範囲内で,幅広いアプリケーションを高い実効性能で利用できるシステムとする必要があることから,演算加速部を採用せずに,当該資源を汎用部の拡大に用いるという選択をした。ここで,元々のシステム目標である理論演算性能1エクサフロップス級という数値が問題になった。
富士通との調査研究では8タイプのアーキテクチャーを評価していたが,その一つを基にすれば当初の理論性能目標を達成できる可能性があった。しかし,このアーキテクチャーはLinpackで1エクサフロップス性能が見込めても,プロジェクト目標である幅広いアプリケーション実行環境を提供するという点で受け入れられず,我々はこのアーキテクチャーを採用しなかった。社会的・科学的課題解決に必要な計算資源を提供するという観点で支障をきたさず,またコデザインによるアプリケーションレベルでの実効性能として最大で「京」の100倍を目標とし,汎用部のみで構成されるシステムを,文部科学省「次期フラッグシップシステムに係るシステム検討ワーキンググループ」に提案した。この提案が議論され,「次期フラッグシップシステムに係るシステム検討ワーキンググループ報告書」としてまとめられた[5]。
理化学研究所と富士通との研究開発契約は,一般公募を経て2014年10月から開始された。そして,文部科学省が選定した九つの重点課題実施機関とともに,ハードウェアとソフトウェアのコデザインを進めた。各重点課題実施機関からアプリケーションを選定してもらい,それらのターゲットアプリケーションの実行効率を高めるべく,ハードウェアおよびソフトウェアの設計を進めた。ハードウェア・システムソフトウェア系の開発に13のWG(ワーキンググループ)を,アプリケーション系に九つのWGを設置し,当初は毎日複数のWGが開催され活発に設計が進んでいった。開発初期から,アプリケーション開発者とともにハードウェアおよびシステムソフトウェアの設計・開発を密に進められたことにより,システム開発者はアプリケーションの特徴を認識し,アプリケーション開発者はハードウェアやシステムソフトウェアの構造および性能限界を認識することができた[6]。また,アプリケーション開発者は早期のソフトウェアチューニングが可能となった。
もう一つの転機は,半導体製造技術の遅延であった。本プロジェクトの研究開発計画は,調査研究期間である2012年頃に調査した半導体製造技術の将来動向を基に策定したものであった。この当時,ポスト「京」のCPUは10 nm微細加工技術を利用することで開発を進めていた。しかし,2016年には10 nm微細加工技術の雲行きが怪しくなり,この技術では我々が必要とする性能は達成できないことが判明した。選択肢は二つあり,このまま開発期限を変更せず目標性能を落として進めるか,次の微細加工技術7 nmをターゲットに開発を遅延させるか,のいずれかであった。様々な議論があったが,開発期間を1年から2年延伸するとともに新たなる付加価値を付けることにした。2016年5月末頃,理化学研究所は付加価値の一つとして,半精度浮動小数点演算の実装可能性を富士通に打診した。富士通は開発工程の更なる遅延を危惧し当初否定されたが,Arm V8 SVE(Scalable Vector Extension)最終仕様に半精度浮動小数点演算命令が定義されたため,富士通もA64FXに本命令を実装した。AI応用分野では半精度浮動小数点演算が使われており,今AI応用分野にも「富岳」が利用されようとしている。あの時に富士通が大英断を下されたことに感謝する次第である。
2018年夏には,ポスト「京」試作機が富士通沼津工場で稼働し,設計通りの性能が達成され,またLinuxカーネルもemacsのようなツールも動作した。これによって,改めて富士通の技術力の高さを認識した次第である。海外ではCPUの初版はOSカーネルすらまともに動作しない場合が多く,大抵のCPUは大きく3回の改変を経て実用化されている。富士通は,この後最終版をテープアウト(設計完了)した。
ポスト「京」試作機の評価結果を基に,文部科学省HPCI計画推進委員会および総合科学技術・イノベーション会議の審議を経て製造が認められ,実機の製造が始まった。理化学研究所への実機の搬入は2019年12月3日から開始され,2020年5月13日に終了した。その後は,2020年12月末まで富士通による設置調整が続く。
4.むすび
本稿では,「富岳」開発プロジェクト準備期間からの歴史について,プロジェクト全体計画にインパクトのあった二つの転機を含めて振り返った。
執筆時点である2020年7月現在,設置調整期間中ではあるが,ゴードン・ベル賞チャレンジ,文部科学省の早期成果創出プログラム,および新型コロナ対策アプリケーション開発の各ユーザーにマシンの一部を提供している。計算資源のやりくりを理化学研究所とともに対応している富士通の皆さんに感謝する。また,TOP500,HPCG,Graph500,HPL-AIの各ベンチマークにおいて,2020年5月下旬から深夜を徹してベンチマーク測定にご尽力頂き,感謝している。2020年6月,これら四つのベンチマーク性能で第一位になった。本開発プロジェクトはベンチマークで一位を取ることが目標ではないが,国民の皆さんから「元気が出た」「勇気づけられた」との思いが伝わってきており,大変喜ばしく思っている。
「富岳」の開発においては,今回述べなかった問題もいくつか発生し,その度に富士通とともに克服してきた。引き続き,2021年春の正式運用に向けて安定化・性能向上をしていかなければいけない。
本稿に掲載されている会社名・製品名は,各社所有の商標もしくは登録商標を含みます。
参考文献・注記
著者紹介