2014年11月17日に、開催中のSC14において、NVIDIAは最上位の科学技術計算用のGPUとなる「Tesla K80」を発表した。SC14の会場で、Tesla部門のジェネラルマネージャーのSumit Gupta氏にK80について話を聞いた。

NVIDIAのTesla製品のジェネラルマネージャーであるSumit Gupta氏

新開発のMaxwellアーキテクチャのGPUの登場が期待されていたのであるが、K80はその名前が示すようにKeplerアーキテクチャのGPUを使っている。Maxwellはどこに行ってしまったのかと聞くと、今日はMaxwellベースのTesla製品の発表は無い、現在はこれしか言えないという回答であった。

それはともかく、今回発表のK80はTesla製品としては最上位に位置する製品で、GPU Boost時の最大性能は、単精度浮動小数点演算では8.74TFlops、倍精度浮動小数点演算では2.91TFlopsとなっている。これは従来の最上位製品であるK40が、それぞれ5TFlops、1.66TFlopsであったのと比較すると、約1.75倍の性能向上である。また、GDDR5メモリの容量は24GBとK40から倍増し、メモリバンド幅も288GB/sから480GB/sと67%増加している。

従来のK40はGK110Bチップを1個使用しているが、K80はGK210という新GPUチップを2個使用している。従って、1.75倍の演算性能といっても、GPUチップあたりの性能ではGK210は0.83倍程度の性能である。

GK210は新規のGPUチップで、レジスタファイルの容量とシェアードメモリの容量がGK110Bと比較して2倍になっているという。従来は、レジスタ数やシェアードメモリの使用量の制約でコンカレントに実行するスレッド数が抑えられていたケースでも、これらのリソースが増えたことにより多くのスレッドをコンカレントに動かすことができ、リコンパイルなしに性能があがるケースが出てくるという。

K40の2倍のGPUチップと2倍のGDDR5メモリを搭載しているので、消費電力が気になるところであるが、K40の235Wに対して、K80の消費電力は300Wとなっており、2倍ではなく、28%の増加に収まっている。このため、K80を普通のサーバに内蔵して、空冷で使うことができるという。

K40のベースクロック動作時の性能が1.43TFlopsであるのに対して、K80のベースクロック時の性能は1.87TFlopsであり、これはGK210 1チップでは0.935TFlopsとK40のGK110Bよりもかなり低くなっている。この1つの理由は、K40は2880CUDAコアを持つのに対して、K80のGK210では2496コアと13/15のコア数であるからである。しかし、これだけでは性能の差は説明できない。

もう1つの大きな差は、K40のベースクロックは993MHzであるのに対して、K80のそれは749MHzに低下しているからである。一方、GPUブーストを使うと、K40は1153MHzであるのに対して、K80は1166MHzとほぼ同じクロックとなる。これは、どちらも同じ程度の周波数で動作することができるチップであるが、K80の場合は消費電力を抑えるため、ベースクロックの周波数を下げているためと考えられる。

ベースクロックを約80%に下げることにより各チップの消費電力をほぼ半減させることができると思われ、GK210 2チップ合計でK40のGK110Bと同程度の消費電力になると思われる。

メモリ容量はK40の12GBに対して、K80では24GBになっており、各GK210チップに12GBずつGDDR5メモリが接続されていると見られる。メモリバンド幅はK40の288GB/sに対してK80は480GB/sであり、K40では3GHzクロックであるのに対してK80では2.5GHzクロックとなっている。これは2割弱の低減であるので、2倍のGDDR5 DRAMの消費電力は、合計では1.7倍程度に増加する。

さらに、K80では、CPUからの×16のPCIe 3.0を2個のGK210に接続するために、PLXのPCIeスイッチを使っている。このチップの消費電力は10W弱である。結果として、ボードの消費電力が65W増加というのは妥当な線である。

なお、PLXのスイッチは2個のGK210 GPU間の転送もサポートしており、一方のGK210が他方のGK210に接続されたメモリをアクセスする場合は、外側のPCIeを使わず、PLXスイッチ経由で直接データ伝送ができるので、シングルチップのPCIeボードを2枚使用するより効率が良いという。

K80とK40をXeon E5-2676v2と比較したものが次の図である。ただし、この比較は、K40、K80を動かすためXeon E5-2697v2が使われており、CPU単独の性能とCPU+GPUの性能を比較している。従って、CP2KやQuantum Expressoの場合は、GPUを付けてもあまり性能は上がらず、費用や消費電力あたりの性能は低下していると思われる。しかし、その他のアプリではCPU単独の2倍以上の性能が得られているので、GPUのコストがCPUと同等と考えれば、GPUの接続はコストの面でも効果的ということになる。

K80(左端)、K40(中央)とXeon E5-2697(右端、1に正規化)との性能比較。K80、K40はGPU Boost Onでの性能。(資料提供:NVIDIA)

多くのアプリケーションで、K80はK40より2~4割程度高い性能が得られている。しかし、K80の価格がどうなるかが問題である。この点について質問すると、ハイエンド製品の価格はほぼ一定で推移しており、K80の価格は、現在のK40と同等になるとのことであった。その時には、K40の価格は引き下げられ、K80との性能比に見合った価格になると予想される。