GTX680』を発表した。Keplerは、2009年に発表された前世代アーキテクチャー“Fermi(ファーミもしくはフェルミ)”に続く新アーキテクチャーで、従来向けの製品に比べて効率が大きく改善されているのが特徴となっている。GTX580の3枚分と同じ性能を1枚で実現可能だという。GTX680の詳細に関して説明していきたい。GTX580』を比較した表になる。最大の違いはダイサイズにある。“ダイ”とは半導体のチップそのもののことで、そのサイズは半導体の性能や製造コスト、消費電力に大きな影響を与える。非常に大まかにいえばダイサイズが大きければ大きいほど性能は上がることになるが、その代わりに製造コストや消費電力が上がってしまうため、半導体メーカーにとってはほどほどのサイズに押さえることは重要になる(ただし、この比較は同じ製造プロセスルールを利用している場合に限る。GTX580では529平方mmという、PC向けの半導体としては例外的に大きなダイサイズになっていた。CPU(サンディブリッジ)が216平方mmであるので、ざっとその2.5倍になる。これに対して、KeplerベースのGTX680は、294平方mmとサンディブリッジの1.4倍程度に収まっており、極端に大きいダイという訳ではないことがこれからわかるだろう。このように、NVIDIAがKeplerでダイサイズを抑えることに成功した理由は2つある。ひとつは製造プロセスルールを微細化したことだ。製造プロセスルールとは、半導体が製造されるときに利用される技術の世代のことを示しており、数字はトランジスタと呼ばれる半導体の最小単位(厳密に言えばゲートと呼ばれる部分)のサイズを示している。聞く65nm、45nm、32nmと呼ばれる単位がそれで、Fermi世代では40nmを利用していたのだが、Keplerでは28nmとより微細化された製造プロセスルールを利用して製造されるのだ。半導体の内部にはトランジスタと呼ばれる回路が実装されており、この回路が高速に動作することで様々な演算が行えるようになっている。製造プロセスルールを微細化すると、ひとつのチップに実装できるトランジスタの数を増やすことが可能になる。GTX480』では30億個のトランジスタが内蔵されているが、28nm/294平方mmと小さなGTX680では35億個とチップサイズは小さくなっているのにトランジスタの数はやや増えているのだ。大まかにいえば、半導体の性能はトランジスタ数に比例して向上するので、チップサイズは小さいながらもGTX680の方が性能がやや向上していると考えることができるのだ。Keplerのダイ写真。Keplerのブロック図。8つのSMという構造はFermiからのアーキテクチャーを受け継いでいる。こちらはFermiのブロック図、基本的な構造はFermiからKeplerへと受け継がれていることがよくわかる。●2倍の電力効率を実現した内部アーキテクチャーKeplerで改善されているのは、製造技術だけではない。マイクロアーキテクチャーと呼ばれる内部構造にも手を入れている。今回KeplerにおいてNVIDIAは成功を収めたFermiの特徴を受け継ぎ、それを改善するというアプローチをとっている。Multiprocessor)”と呼ばれる仕組みを用意した。Coreと呼んでいる)をもち、L1キャッシュ、テクスチャーユニット、ポリモーフエンジンといった3D演算に必要なエンジンを内蔵させ、それをひとつの単位としてGPUに内蔵させる仕組みをとっていた。GTX480ではこのSMが8つ内蔵されているが、下位モデルでは4つもしくは2つと、製品によって切り分けてきた。Keplerでも基本的なこのアーキテクチャーは継続している。GTX680でもこのSMが8つ内蔵されていることに違いはないが、大きな違いとしてSMの構成が改良されている(SMXと区別して呼ばれる)。述べたように、従来製品では1つのSMに32個の演算器が内蔵されていたのだが、新製品では192個の演算器が内蔵される構成になっている。これだけみれば単純に増えただけとなるが、実際にはそうではない。従来のFermiでは内蔵演算器がGPUコアの倍速で動作していたのだが、Keplerでは等速となりクロック周波数そのものは低くなっている。その代わりに演算器を増やして性能の低下を補っているのだ。したアプローチをとることで、同じ性能であればKeplerの消費電力はFermi世代の半分になっているのだという。電力あたりの性能が2倍に向上しているのがKepler世代の大きな特徴なのだ。新しいSMことSMXの構造。FermiのSMでは32CUDAコアだったものが、KeplerのSMXでは192CUDAコアとなっている。KeplerではCUDAコアのクロックスピードはCPUと等速になっている。Boostにより動作クロックを動的にコントロールこのほかにも、GTX680にはいくつかの強化点がある。Boost”と呼ばれるGPUの公式オーバークロック機能だ。一言でいってしまえば、インテルが同社のCPUに採用しているような“ターボブーストテクノロジー”のGPU版といった機能だ。TDPと呼ばれるピーク時消費電力の範囲内で、消費電力がそれより下回っている場合には、自動でクロック周波数と電圧を引き上げて性能を向上させる。具体的にいえば、GPUの内部演算器は常にすべてが使われている訳ではない。アプリケーションの種類によっては、GPUの演算器の一部しか使っていない状態で、この場合には消費電力はリミットよりもはるかに下の状態にある。そこで、こうした時にGPUのクロック周波数と電圧を動的に上げることで性能向上させようというのが基本的な考え方だ。Boostによるクロックアップ効果は期待できない。消費電力がリミットに達していない場合のみに有効となる。Boostにより、GPUスペックのクロック周波数には2つのクロックが書かれることになる。1つはベースクロックで、これが従来のGPUのクロック周波数に相当する。Boostが有効の場合の上限クロックになる。Boostのクロック周波数は、消費電力や温度などといったパラメータにより動的に変化する。2つのボードがあった場合、同じ製品であってもブーストクロックは異なるということだ。俗に言うと“当たり”と“ハズレ”があるということだ。アプリケーションによっては左端のようにGPUのすべての演算ユニットが利用されていないので、電力には余裕があり、その部分を利用してクロックと電圧を引き上げる。クロック周波数は動的に引き上げられ、消費電力やGPUの温度などにより変動する。どれだけ引き上げられるかはアプリケーションにより異なる。スリングバッグ」わずか63gの癒やし。