太湖之光システムのプログラミング環境

太湖之光システムは、メニーコアプロセサを使い、1000万を超えるコアを並列に動かすためのプログラミング環境が必要となる。太湖之光システムでは、基本的にOpenACCを並列プログラム環境として使っている。

OpenACCは、C言語のソースプログラムにPragmaを付け加えることにより、分散メモリのノード間に仕事を分散するマルチスレッドプログラムを生成してくれるので、太湖之光のような環境には適したプログラミング環境と言える。しかし、1000万スレッドという超多数のスレッドをどの程度上手く生成して動かすことができるのかは気になるところで、SCにおけるGordon Bell賞候補論文の発表が待たれるところである。

太湖之光のソフトウェアスタック (出典:Dongarraレポート)

電力供給と放熱

太湖之光システムの消費電力はLINPACK性能測定時(一般にほぼ最大電力になる)で15.371MWとなっている。この電力の供給には、2系統の35KVの高圧線が引き込まれている。2系統になっているのは、一方が停電してもシステムを止めないためである。

この35KV ACから300V DCに変換し、キャビネットまで300V DCで配っている。そして、キャビネット内で12V DCに変換して各ボードに分配するという構造になっていると思われる。

そして、太湖之光システムは、キャビネットに冷水を配っており、コールドヘッドを使って高発熱のSW 26010チップを冷却していると思われる。