(前編はこちら)

GFlops/W性能を高める条件は?

図6の結果を、縦軸をGFlops/Wとして書き直したものが図7である。電圧がV4一定であるので、当然クロック周波数が高い方が、GFlops/W性能は高くなる。

図7 前の結果を、縦軸をGFlops/Wで書き直した図

クロックを一定にして、V1~V5の5種の電圧でのGFlops/Wを測定したものが図8である。クロックが一定であるので、一番電圧の低いV1が一番GFlops/W性能が高くなる。

図8 クロック800MHz一定で、5種の電源電圧でのGFlops/Wの測定結果

V1~V3の測定では途中にジャンプが見られる。しかし、結果も正しく、問題なく動作しているようであり、繰り返し測定しても同じ結果が得られるという。なぜ、途中でGFlops/Wがジャンプ(消費電力が減少)するのか、原因は不明であるという。

電源電圧を、前の測定で一番GFlops/W性能が高かったV1に固定し、4種のクロックで電力を測定してGFlops/W性能をプロットしたのが次の図9である。

図9 最低の電源電圧V1で、4つのクロック周波数で測定した結果

この測定でもジャンプが見られるが、その位置はクロック周波数には依存せず、約50℃で一定である。

ここまでの実験は、水冷で行っているが、より広い範囲の測定を行うため、環境温度を-73℃~+175℃まで可変できる恒温槽を使用して、温度と消費電力の関係を測定した結果が次の図10である。

図10 温度の可変範囲の広い恒温槽を用いてK20mの消費電力の温度依存を測定

4℃から90℃の範囲で、消費電力は160Wから177Wと増加しており、P=24.0(k/q)T2+160.5という式で近似できるとしている。本来の漏れ電流の式のTは絶対温度を使わなければならないのに、この図ではTに℃を使っており、単に測定値の2次カーブによる近似となっている。

この測定結果を、縦軸をGFlops/Wで描くと、次の図11のようになり、電源電圧最低のV1で、クロックを926MHzのオーバクロックし、温度を下げて漏れ電流を減らした場合に、最大のGFlops/W性能が得られるとしている。

図11 低電圧V1で926MHzにオーバクロックした状態でのGFlops/W性能

ただし、この測定に使用したK20m GPUは、このような低電源電圧で926MHzにオーバクロックしても動作しているが、NVIDIAが、このような条件での動作を保証しているわけではないので、どのチップも、このように動作するとは限らないと考えられる。

図12は、GK110 Kepler GPUと、1世代前のFermi GF110の消費電力を比較したものである。

図12 GK110 Kepler GPUとGF100 Fermi GPUの消費電力の比較

40nmプロセスを使うGF110の電力は250W~285Wであるが、28nmプロセスのGK110の電力は160W~177Wと40%程度小さくなっている。

Keplerの次の世代のMaxwell GPUを使うGTX 750Tiでの測定では、xGPUベンチマークで1062G Flopsという性能が得られている。これはピーク性能の76%で、TDPが60Wと低いので、高いGFlops/W性能が得られる。K20m GPUでは低電源電圧、オーバクロックで50℃以下という状態でやっと実現できた16GFlops/Wを、GTX 750Tiは標準の電源電圧、クロックで上回っている。

図13 最新のMaxwell GPUでは、さらにGFlops/Wが向上

ということで、Maxwellでは性能/電力がさらに改善されている。NVIDIAに確認したところでは、Maxwellには多くの細かなアーキテクチャ的な改善が入っているとのことで、これらにより性能/電力が改善されていると推測される。

ただし、GF110チップやGK110チップは倍精度浮動小数点演算器を持っていて、それが何がしかの電力を消費するのであるが、GTX 750Tiに使われているGM107チップ は倍精度浮動小数点演算器を持っておらず、その分、消費電力が少ないという効果も含まれていると思われる。

K20m GPUではBIOS Tweekerを使って、電源電圧やクロックを自由にコントロールして測定を行ったが、まだ、Maxell GPUのクロックや電源電圧を自由にコントロールすることはできていないので、今回のような測定を行うのは今後の課題であるという。