神威・太湖之光
神威・太湖之光 (しんい・たいこのひかり)(Sunway TaihuLight)は、中華人民共和国江蘇省無錫市の国立スーパーコンピューターセンターにあるスーパーコンピュータ。LINPACKで93ペタフロップをマークし、2016年6月のスパコンランキングTOP500で1位となり、2017年11月まで世界最速だった。
名称のうち「神威」はCPUの申威シリーズの名称、「太湖」は無錫市の有名な観光地。英語名称の「Sunway」は神威(ShenWei)の英語風表記。
中国の国家並列計算機工学技術研究センターが開発した。開発費は約18億元(約2.73億ドル)、実行性能:93.0146PFlops、理論性能:125.4359PFlops。OSは神威睿思 2.0.5。大きさは約605平方メートル。
CPUは無錫市にある江南計算技術研究所が開発する神威シリーズのメニーコアCPUである申威26010(SW26010)を40960CPU搭載し、1CPU当たり260コア(コンピューティング用の256コア+マネジメント用の4コア)、トータルで10649600コアで構成されている。命令セットは申威64(SW64)命令セットを採用。神威藍光などもともと神威シリーズのスパコンは純国産CPUが使われていたが、Intel製CPUを採用してスパコン世界一となった天河シリーズと比較すると、性能はそれほど高くなかった。天河シリーズが核の研究に使われた疑いで、米国から天河シリーズの関連研究機関へのCPUの輸出規制がかけられ、米国製CPUが利用できなくなった(なお民間への規制はされておらず、迂回ルートはいくらでもあるため、「IntelとNVIDIAによる天河シリーズの公然たるサポートが受けられなくなった」というのが正確)ことが、技術開発を促したとみられている。なお、「純中国製スパコン」と報道されるが、当然ながらノード周りなどのCPU以外は他国製の汎用製品も使われている。
2016年6月のスパコンランキングTOP500で世界1位、省エネ性能を競うGreen500で世界3位、ビッグデータ解析性能を競うGraph500では京に次ぐ世界2位となった。
申威26010のアーキテクチャは独自開発の物であるが、2017年の「COOL Chips 20」で公開された情報によると、PS3で使われたCell Broadband Engineに近い部分があるという。以前の申威シリーズのベースはDEC Alphaアーキテクチャだと推測されており、申威26010も発表当初はDEC Alphaがベースであるとの報道があった。このような推測が飛び交っているため、ISC2016で発表されたジャック・ドンガラ教授による論文では「申威64命令セットはDEC Alpha命令セットとは無関係である」とわざわざ明記されている。
OSはLinuxをベースとした神威睿思(Raise OS)を採用している。動作クロックは1.45GHzとかなり低く、絶対性能が世界一でありながら、1つのCPUに性能の低いコアを大量に搭載することで性能を稼ぎつつ消費電力を落とすメニーコアの思想を突き詰めた構成となっている。メモリは1ノード当たり32GBで、全体で1.3PBの容量である。2016年時点の最新規格であるDDR4ではなくDDR3を採用するなど転送速度はやや貧弱だが(あえて貧弱なメインメモリを使うことで消費電力を低減している)、代わりに1コア当たり12KBのキャッシュと64KBのスクラッチパッドメモリで構成されている。スクラッチパッドメモリベースのシステムと言うと、PlayStation 2などで使われたEmotion Engineアーキテクチャや、その後継でPlayStation 3および2008年6月期のTop500世界1位のRoadrunnerなどで使われたCell Broadband Engineアーキテクチャが有名だが、メインメモリベースのシステムと比べるとプログラミングが非常に面倒になるので、あまり例がない。ただし、神威・太湖之光はOpenACCをサポートするなど、時代に合わせてPS3よりもフレンドリーになっている。
消費電力は15.3MWで、天河二号の3倍近い性能にもかかわらず消費電力は天河二号の17.8MWよりも少なく、京と同等の消費電力で京の9倍の性能を引き出すなど、高演算領域での電力効率は極めて優れている。TOP500と同時に発表されたGreen500でも理化学研究所が開発したShoubu(菖蒲)、Satsuki(皐月)に次いで世界3位となった。
開発チームがいる清華大学の学校新聞によると、神威・太湖之光は「十三五」(第13次5カ年計画)のスローガン「一中心、一基地」に基づいて、江蘇省の「小康社会」(ゆとりある社会)の実現のため、江蘇省の産業全般に利用される。応用分野は幅広く、例えば気候予測アプリでは、清華大学の地球システム科学センターの地球シミュレータはこれまでメッシュの分解能が200km単位だったが、神威・太湖之光によってメッシュの分解能を25kmに、海洋に限っては10kmにまで高めることができた。
神威睿思(神威シリーズのOS)の開発環境として、GCCのほか、神威睿思に最適化された神威睿智编译器(コンパイラ)や神威睿翔(JDK)などがあり、CやFortranの他にJAVAも使えるようだ。スクラッチパッドメモリベースで超メニーコアの独自アーキテクチャCPUと、プログラムの実装が非常に困難なはずだと思われるにも関わらず、既にアプリがいくつも実装されて実用に供されている点がTOP500が発表されたISC 2016で高く評価され、このうち気候予測アプリによって中国としては史上初となる2016年度のゴードン・ベル賞の栄誉を受け、地震予測アプリで2017年度のゴードン・ベル賞を連続して受賞もしている。天河一号や天河二号の時はゴードン・ベル賞を受賞できなかったので、中国はこれでようやくハードだけでなくソフト開発能力でも世界レベルに並んだことになった。
ただし、単精度(32bit)・半精度(16bit)演算ができないため、高い演算精度を要求しないディープラーニングのようなトライアンドエラー型のアルゴリズムの実装には向いていない。また、Flops/Byte値が22.4と、計算処理能力が高いのに比べてメインメモリが遅いため(ちなみに、天河二号で使われたIntel Xeon Phi Knights LandingのFlops/Byte値が7.2)、メモリと大量のデータをやり取りするアプリでは性能が落ちるという見方もある。メモリバンド幅の制約のため、LINPACKの数値の高さに対してHPCGの数値は0.37(世界4位)とかなり低くなっており、京(0.60、世界1位)や天河二号(0.58、世界2位)に引き離されている。
ディープラーニングにおいては、申威コアを利用したswDNNというライブラリがgitで公開されており、NVIDIAのCUDAコアを利用したNVIDIA cuDNNなどに対抗するつもりだが、フレームワークが2017年5月現在まだ開発中であるため、実用段階にはなっていない。将来的にはCaffeベースのフレームワークを利用して、伝統的なHPCアプリケーションだけでなくディープラーニング(DNN、ディープニューラルネットワーク)やビッグデータなども扱えるようにしたいという予定が2017年に示されている。
2017年より、神威・太湖之光をスケールダウンし、申威26010をデュアルソケットで搭載したサーバノードである小宝宝(Sunway Micro)が無錫市国立スーパーコンピューターセンターより販売中。公的な組織が民間のシステムインテグレーターのようにソリューション込みの商売をするのは珍しいこととされる。