コンピュータの最高峰であるHPC(高性能コンピューティング)のプロセッサ開発競争が、3年ぶりに大きく動き出した。Xeon Phiを搭載する「天河2号」が2013年6月にスパコン性能で首位をもぎ取って以来の衝撃といっていい。

 2016年6月20日からドイツで開催されたスパコン関連の国際会議「ISC 2016」で、新型のプロセッサが相次ぎお目見えした。中国が新たにプロセッサ開発競争に名乗りを上げ、米インテル、米エヌビディアといった既存プレーヤーのシステムを超える演算性能を実現した。

 一方、SPARCシステムの普及が思うように進まない富士通は、プロセッサの命令セットを従来のSPARCからARMへと移行することを表明。さらに、HPCの応用先が従来の科学技術計算からディープラーニング(深層学習、多層ニューラルネットによる機械学習)へと広まるなど、HPC分野は3年前と様変わりしている。

TOP500首位を勝ち取った「申威26010」

 2016年6月、スパコン実行性能ランキング「TOP500」で首位になったスパコン「神威太湖之光(SunWey TaifuLight)」は、中国国家高性能集成電路(上海)設計中心が設計・製造したメニーコアプロセッサ「申威26010」を4万960個搭載したものだ(ITpro関連記事:中国の独自開発スパコンがTOP500首位に、京と同等の電力で性能9倍)。

「神威太湖之光」
「神威太湖之光」
出所:ジャック・ドンガラ氏の論文「Report on the Sunway TaihuLight System」
[画像のクリックで拡大表示]
「申威26010」
「申威26010」
出所:ジャック・ドンガラ氏の論文「Report on the Sunway TaihuLight System」
[画像のクリックで拡大表示]

 プロセッサを含めたシステム全体の開発と製造には、中国の中央政府、江蘇省、無錫市が資金を拠出。建物の建築費からハードウエア、研究開発、ソフトウエア開発費を含めて18億人民元(約270億円)を投じたとされる。主要な用途として、CAD/CAEなど製造業向けのほか、気象予報、ライフサイエンス、ビッグデータ分析などが挙がっている。

 申威26010プロセッサは260コアを搭載するメニーコアプロセッサで、1.45GHzで動作する。理論ピーク性能は3.06テラFLOPS(1秒当たり浮動小数点演算回数)。中国メディア報道によれば、製造プロセスは28nmである。

 申威26010は、申威シリーズの第4世代にあたる。第3世代は2010年に開発した16コアのプロセッサで、DEC Alpha命令セットをベースにしていたとみられる。申威26010はメニーコア化し、命令セットもAlphaとは異なる独自設計とするなど、抜本的に設計を変更した。

 申威26010の性能値を読み解くと、CPUの演算速度に対して、メモリーのデータ伝送速度(帯域)が小さいというアンバランスさが際立っている。このバランスを示す指標として、外部メモリー帯域(バイト/秒)を演算性能(FLOPS)で割ったB/Fがあるが、申威26010のB/Fは0.04。米エヌビディアや米インテルのチップが0.14前後であるのと比べ、極端に低い。メモリー帯域が小さいためCPUに十分な量のデータが供給されず、CPUが待ちぼうけの状態になりやすいと見られる。

 ベンチマークでもその結果は現れている。メモリー帯域を比較的使わないLINPACKベンチマークでは、実行効率(理論演算性能と実行演算性能の比)が74%と、インテルやエヌビディアのチップと比べても遜色ない値となる。その一方、頻繁にデータを読み書きするHPCGベンチマークでは、実行効率は0.3%と、ほかのチップの1.1%~4.9%よりも極端に低くなる。大半のHPCアプリケーションの実行効率はLINPACKとHPCGの実行効率の間にあるとされており、アプリケーションによってはポテンシャルを十分に発揮できない可能性がある。

アプリケーション開発にも多大な投資か

 だが、これらの結果をもって「申威26010は使えないチップ」と判断するのは早計だろう。実際、このプロセッサ上で動くアプリケーションソフト3件が、HPC業界の最高峰とされる2016年ゴードン・ベル賞の最終候補に入っている。気象計算や流体計算、地震波計算など、いずれも一定のメモリー帯域が求められる分野だ。

 TOP500を主宰する米テネシー大学のジャック・ドンガラ教授は「同システム上でアプリケーションを効率よく動かすため、ソフトウエア面でかなりの努力をしたのだろう」とみる。

 申威26010に高い性能を発揮させるには、ソフトウエアの作り込み(チューニング)が不可欠だ。例えば、同プロセッサは各コアに高速の専用メモリー(スクラッチパッドメモリー)を64キロバイトずつ割り当てて、外部メモリーの帯域不足を補っている。こうした構成はコンソールゲーム機向けプロセッサに良く見られる設計で、実行効率を高めるには専用メモリーの活用を意識したプログラミングが必要になる。

 このことから中国では、ハードウエアだけでなくアプリケーション開発にも多大な人的投資を振り向けることで、申威26010を「使えるプロセッサ」に仕上げていると推測できる。今後、このソフトウエア開発力を使い、科学技術計算から産業応用まで、申威26010上で動く様々なアプリケーションが登場しそうだ。