SC14でのGreen500の1位に輝いたのは、ドイツのダルムシュタットにあるヘルムホルツセンターの「Lattice-CSC」というスパコンである。スコアは、5271.87MFlops/Wで初めて5GFlops/Wを超えた。2位は高エネルギー加速器研究機構(KEK)のSuiren(睡蓮)の4945.63MFlops/W、3位は東工大のTSUBAME-KFCの4447.58MFlops/Wで、4GFlops/Wを超えたのはこの3システムだけである。

恒例であるが、1位から3位には表彰状が手渡され、その後、1位のチームは、どのようにして高スコアを実現したかなどについて発表を行うことになっている。

Green500 1位の受賞発表を行うDavid Rohr氏

発表のタイトルスライド。L-CSCは量子色力学の計算のためのシステムとして設置されるAMDのGPUをアクセラレータとして使うシステムである

L-CSCは量子色力学の計算を行うために設置されるシステムで、計算ノードは、ASUSの2ソケットサーバで、CPUは10コアのIvy-Bridgeを2個使用し、それに4台のAMDのFirePro S9150 GPUを接続している。最終的には160ノードのシステムになる計画であるが、まだ、システム構築中で、今回の結果は56ノードで測定されている。

ノードはASUSの2ソケットサーバで、CPUは10コアのIvy-Bridge。それに4台のAMDのFirePro S9150を接続している

ソフトはGPLライセンスで入手できるオープンソースのCALDGEMMとHPL-GPUをカスタマイズして使っているという。次の図に示すように4GPUまでは完璧に性能がスケールしている。

ソフトはオープンソースのCALDGEMMライブラリとHPL-GPUを使っている

次の図に示すように、実線のCPU処理時間が破線のGPU処理時間を下回っていれば、パイプライン処理がうまく働き、全体の95%以上でこの条件が成立している。そして、DGEMMはGPUだけでやらせる方法とCPUとGPUで処理分担する方法を実装しており、両者を使うと2-5%性能が高くなるが、GPUオンリーの方が3-4%エネルギー効率が高い。このため、両者をダイナミックに使い分けているという。なお、このグラフで、GPUオンリーの処理の場合、CPU時間は非常に短く、GPU処理時間が長くなっている。一方、両者を使った場合は、GPU処理時間は多少減り、CPU処理時間は長くなっているが、それでも、概ね、GPU処理時間を下回っている。

また、DTRSMについてもGPUに一部オフロードすると、残った行列のサイズが大きい場合は性能上有利であるが、行列サイズが小さくなると逆転するので、これもダイナミックに切り替えてその時点で最良のものを使っている。

縦軸はDGEMの1回のループの時間。横軸は残っている行列のサイズ。実線のCPU処理時間が破線のGPU処理]時間を下回っていれば、パイプラインがうまく動く。2本の実線と破線はDGEMMをGPUだけでやらせた場合と、CPUも使った場合

また、CPUはDVFSを使って最良の条件で動かしている。一般的には低いクロックの方が効率が高いが逆転する場合もあるので、それぞれの時点で最適のクロックを選んでいる。

CPUクロックを1.8GHzで動かした場合と2.7GHzで動かした場合のエネルギー効率

これらの動作条件のダイナミックなチューニングに加えて、GPUにもDVFSを適用し、処理の初期のCPU負荷の小さいときや処理の終盤のGPU負荷の小さいときは、不要なCPUやGPUは低電力状態にしてしまってエネルギーを節約している。

そしてハードウェアとしては、HDDを使わない、温度にあわせてファンの速度を調節して電力消費を減らしている。

ダイナミックに最適条件を選択するのに加えて、CPU、GPUにDVFSを適用し、さらに負荷が軽い場合は、CPUやGPUを低電力状態にしている

Level 1ではルール上は、コアフェーズの最初と最後の10%の期間を除いた、20%の期間の消費電力を測れば良いことになっているが、70%-90%の期間をとると最後に消費電力が減っているので、この登録ではコアフェーズ全体の消費電力を計測した。結果として56ノードで5295MFlops/Wとなったが、これにInfiniBandスイッチの消費電力257Wを追加して、5271MFlops/Wの値をGreen500に登録したという。

最後の部分は電力が減っているのでコアフェーズ全体の電力を計測し、InfiniBandスイッチの消費電力も加えたLevel 1+の条件で5.27GFlops/Wを達成

これを電力が減少する70%-90%の区間で測定すると、InfiniBandスイッチの電力を含まない値であるが、6010MFlops/Wとなり、問題の規模を小さくして測定すると、6900GFlops/Wまでスコアを上げられるという。

このため、電力測定は20%の区間でなく、コアフェーズ全体とすべきと主張している。

Level 1ではシステムの1/64を測定すれば良いという点では、一部の良いノードだけが選択的に測定されてしまう恐れがあるので、全体を測定すべきという意見と、100kW以上の大電力を高精度で測るのは難しいので、部分的な測定を認めるべきという両方の意見を併記している。