特別寄稿

「サイエンスドリブン」の流れの中でのスーパーコンピュータ「富岳」の開発

公開日 2020年10月13日
コンピューティング国立研究開発法人理化学研究所 富田 浩文

本稿では,2020年7月初旬時点での,アプリケーション側(以下,アプリ側)から見たスーパーコンピュータ「富岳」(以下,「富岳」)登頂を目指した道のりについて,登頂前夜からのアプリ側の動きを歴史的に振り返る。2011年のアーキテクチャー・コンパイラ・システムソフトウェア作業部会ならびにアプリケーション作業部会から始まり,2020年の「富岳」4冠達成までの道のりにおいて,アプリ側にどのような意識変革をもたらしたかを述べたい。道のりの途中からは,「コデザイン(協調設計)」をキーワードにアーキテクチャー・システム側と二人三脚で登ってきた。時には意見が対立しあい,時には問題解決のために立ち止まり,時には共に力強く踏み込んで障壁を克服してきた。個々の具体的技術論は他の記事へ譲るが,本稿では「サイエンスドリブン」を強く念頭においたアプリ側からの「富岳」開発について,筆者の私見を交え,その流れを追っていきたい。道はまだ半ばである。今後,「富岳」によって多くの科学的成果の創出・社会的問題の解決につながることを期待したい。

1.まえがき

2020年6月22日,スーパーコンピュータのベンチマークテストのランキングにおいて,スーパーコンピュータ「富岳」(以下,「富岳」)は史上初の4冠(HPL,HPCG,HPL-AI,Graph500)を達成した。それぞれのベンチマークテストは,アプリケーションソフトウェアで使われる計算手法の一面を代表しており,これらの結果は「富岳」のポテンシャルの高さを示したものと言える。しかしながら,そもそも,「富岳」プロジェクトはベンチマークテストで1位を目指していたわけではない。実際のアプリケーションは,上掲のような複数のベンチマークにおける高い性能を要求する複合プログラムである。

翌日の記者会見の折,理化学研究所の石川裕プロジェクトリーダーが「まだ道半ばであり,現在8合目あたりである」と答えているように,システム全体の安定性向上は必須であり,また,アプリケーションでの成果創出の本当の勝負はこれからである。

本稿では,2020年7月初旬時点での,アプリケーション側(以下,アプリ側)から見た「富岳」登頂を目指した道のりについて,登頂前夜からの流れを振り返ってみたい。道のりの途中からはアーキテクチャー・システム側(以下,システム側)と二人三脚で,時には意見が対立しあい,時には問題解決のために立ち止まり,時には共に力強く踏み込んで障壁を克服してきた。なお,本稿は,できるだけ客観的に述べるように心がけたが,一部,筆者の主観が入っていることをどうかご容赦いただきたい。違う考え方,見方もあろう。批判は甘んじて受けたい。

2.「富岳」開発プロジェクト前夜

「富岳」開発プロジェクトは,「スパコンは使い倒して成果を最大化してなんぼ」という「サイエンスドリブン」の思想を前提としている。この思想は,開発前からアプリ側とシステム側で合意されていた。それを実現化する手段として,アプリ側がより積極的に設計に関与する「コデザイン(協調設計)」が必須であった。すなわち,システム側もアプリ側もアーキテクチャー・システム設計のために共に「汗をかく」のである。

遡ること9年,2011年にHPCI(High Performance Computing Infrastructure)計画の推進にあたり,文部科学省研究振興局長の諮問会議「HPCI計画推進委員会」の下に「今後のHPC技術の研究開発のあり方を検討するWG」が設置された。同WGは,「アプリケーション作業部会」と「コンピュータアーキテクチャー・コンパイラ・システムソフトウェア作業部会」を設置した。両者の緊密な連携の下,「HPCI技術ロードマップ白書」および「計算科学ロードマップ白書」が取りまとめられ,2012年3月に公開されている[1]。アプリ側では,わずか半年の間に,100名を超える計算科学研究に携わる国内の研究者が執筆者として関わり,様々な分野の見通しがまとめられていることから,当時のHPCへの期待・熱気をうかがうことができる。

これらの作業部会での議論を更に整理し,具体的な連携の可能性を模索するために,文部科学省委託研究「将来のHPCIのあり方の調査研究(アプリケーション分野)」(略称:アプリFS)が2012年7月にスタートした。アプリFSでは,計算科学が貢献し得る社会的課題・科学的ブレークスルーの課題抽出が行われ,その成果として新たな「計算科学ロードマップ」の取りまとめが行われた[2]。同ロードマップをまとめるに当たって関わったのは,計算科学分野の研究者だけではなかった。実験・観測・理論研究に携わる各学術コミュニティーの第一線で活躍する大学・研究機関,企業の研究者を交えて深い議論を行い,今後必要となる計算機について,システム全体のバランスを踏まえた性能について取りまとめた。

この議論では,スーパーコンピュータ「京」(以下,「京」)の後継となるポスト「京」でどのような課題に取り組めるかということに終始したわけではない。ポスト「京」時代を越えたサイエンスと計算科学からの貢献をその時点での見通しをつけるということが大きな合意事項であった。また,アプリFSを終わるにあたり,この活動を何らかの形で継続させることが必要であることが総意であった。

文部科学省において学界・産業界の有識者からなる検討委員会では,アプリFSでの「計算科学ロードマップ」を土台としつつ,①社会的・国家的に見て,取り組む意義が高いか,②世界をリードするような成果が期待されるか,③「富岳」の性能を有効に活用できるか,の三つの観点を踏まえて,「富岳」で取り組むべき課題(重点課題・萌芽的課題)を設定した[3]。

3.「富岳」開発におけるアプリ側の役割

前章で述べたように,強いサイエンスドリブンの流れを受け,2014年4月,開発主体である理化学研究所と開発企業である富士通との協業による「富岳」開発プロジェクトがスタートする。その年の暮れには,重点課題実施機関が決定され,理化学研究所との協議の下,9つのターゲットアプリケーション(以下,ターゲットアプリ)が決定された(表-1)。ここでターゲットアプリとは,アプリケーションコードそのものと,それによって解くべきターゲット問題のセットを指す。ターゲット問題はそれ自身が「富岳」時代の一級のサイエンスとなり得るもの,社会的な課題への解決を目指したものである。このため,いくつかのアプリケーションにおいて,対「京」比で100倍以上の高い目標性能が掲げられた。プロジェクトでは,このターゲットアプリの目標性能到達に向けて,システムのデザインを行っていくこととなる。このため,表-1に示すように,ターゲットアプリ全体で,計算科学の主要な計算方法が網羅的に使用されるように,ターゲットアプリが選定された。

表-1 9つのターゲットアプリケーションとコデザインすべき項目

当初,「富岳」の目標としてよく言われた「エクサスケール」の本当の意味は,ピーク時のマシン性能が1 EFLOPS(エクサFLOPS)という意味ではない。システム側で約50倍程度,アプリ側でアルゴリズムの改良を含め約数倍の速度向上を目指し,トータルで「京」の100倍以上とすることである。これにより,1 EFLOPS計算機相当の計算を可能にするという意味であった。このように,「100倍速くなる」という意味は正確にはアプリ側とシステム側が強くタイアップして実現することである。このことは意識的に広報してきたつもりであるが,マシン性能自体が100倍と誤解されるような記事が見受けられたことは,アプリ側としては少し残念であった。

さて,システム側とアプリ側のコデザインの詳細は本サイトの他の記事に譲るが,ここでは,どのように行ってきたかについて簡単に述べよう。図-1にプロジェクトの全体像を示す。月に1,2度の頻度でアプリケーション検討会が開催され,ここでは9つの重点課題WGから挙がってくる要望,アイデア,不具合報告,性能測定を中心に,システム側と議論を行ってきた。システム側は,議論を持ち帰り,システム検討会傘下の各WGで修正・実現可能性案を議論する。これらのサイクルを繰り返すことで,仕様を決めていく。

図-1 プロジェクト全体の会議体とアプリケーション検討会の位置づけ

今回の大きな課題は,単一分野・単一計算方法とのコデザインではなく,多くの分野・多くの計算方法とのコデザインであったことである。表-1に示す評価項目のいずれか一つだけを強化することではない。また,技術的に可能であったとしても,ランニングコストも踏まえた上で限られた予算の中での調整が必要になる。時には妥協も余儀なくされた。例えば,「富岳」のような超並列計算機上での演算処理を行う時,大規模集団通信がボトルネックになりやすい。別途専用のネットワークを設ける案がアプリ側から出されたが,コストの肥大化,恩恵を受けるアプリケーションが限られているなどの議論をもとに,見合わせることとした。

今回のコデザインにおいての一つの考え方として,消費電力を抑えるために,いくつかのモードを設定し,アプリケーションの特性によって制御する方法がある。これにより多くの質の異なるアプリケーションを効率良く動かすことが可能となる。

科学界においても,現代は解決すべき課題がめまぐるしく変化する。開発の途中段階においても,ますます需要が高まる分野として機械学習・ディープラーニング・AIなどのデータサイエンスへの対応を強化するべく,半精度計算を高い効率で可能にさせるなどの設計修正を行っている。

4.むすび

本稿では,アプリ側から見た,ここまでのおよそ10年の「富岳」開発について述べた。今回の開発は,アプリ側にも大きな試練であった。作られたマシンを有効に活用するだけでなく,その仕様を多分野でのサイエンスドリブンで決めていくというコデザインは,おそらく初めての試みであっただろう。筆者は,2011年のアプリケーション作業部会から,「富岳」開発に深く関わってきたが,アプリケーション分野間,システムとの調整など多くのことを経験させていただいた。自身のやり方に対する反省は多々あり,別のより良い方法があったかもしれないと思うことがよくある。

今後,HPCは「富岳」のような汎用機開発を続けるのか,あるいは計算手法に特化した専用機に走るのかは分からない。ただ,いずれにしても今回のプロジェクトによって,私を含めて多くのアプリケーション分野の研究者が積極的に計算機の仕様策定に関与していくという姿勢は根付いたように思う。これは広い意味でこのプロジェクトの成果の一つであろう。

また,もう一つの広い意味での成果は,計算科学コミュニティーの形成であったかと思う。アプリ側が計算機設計に積極的に関与したこととともに,計算科学の横串を通した活動が生まれてきたことも,このプロジェクトの大きな意義であった。実際,今もなお,脈々と計算科学ロードマップが更新されている。アプリFSが築いた計算科学コミュニティーは,2014年には「今後のHPCIを使った計算科学発展のための検討会」(略称:「計算科学検討会」)として再発足し,計算科学分野における横断的なコミュニティーの育成・維持・発展,若手の発掘,情報交換・成果発表の場の創出,計算科学のための計算資源の確保を目指し,活動を続けている。その中で,新規分野を含む「計算科学ロードマップ」の改定作業のために,分野横断的なオープンな学術的会合「計算科学フォーラム」の定期的な開催を行っている。現在,この活動はHPCIコンソーシアムの傘下にあり,2017年には「計算科学ロードマップ(2017年版)」として更なる改訂を行った[4]。

冒頭で述べたように,2020年7月初旬時点ではまだ登頂半ばで,本当の山頂はまだ先にある。「富岳」のポテンシャルの高さは実証された。時代は新型コロナウイルスの影響を受け,大きく変わろうとしている。そんな中,アプリ側から深くプロジェクトに参画した立場から,「富岳」をフルに駆使して,社会課題の解決につながり,多くの重要な科学的成果が生み出されることを切に願う。同時に,一人の気候学者の立場から,自分自身のサイエンスを実現できるツールとして,自身の本格的な研究へ活用できることにわくわくと心躍らせているところである。


本稿に掲載されている会社名・製品名は,各社所有の商標もしくは登録商標を含みます。

著者紹介

富田 浩文(とみた ひろふみ)国立研究開発法人理化学研究所 計算科学研究センター
フラッグシップ2020プロジェクト 副プロジェクトリーダー

おすすめ記事