後藤弘茂のWeekly海外ニュース

NVIDIAの新ミッドレンジGPU「GeForce GTX 560 Ti」



●2年のビートに変わったGPUを象徴するGF114

 NVIDIAは、FermiアーキテクチャのミッドレンジGPUのリフレッシュ版「GeForce GTX 560 Ti」(GF114)を発表した。このGPUは、コードネームから推測できる通り、GeForce GTX 460(GF104)のマイナーチェンジ版だ。そして、GF114とGF104の関係は、GeForce GTX 580(GF110)とGeForce GTX 480(GF100)とほぼ等しい。つまり、GF100の物理設計改良版がGF110であったのと同様、GF104の物理設計改良版がGF114だ。

 同じプロセス技術で、同じマイクロアーキテクチャで、物理設計を改良しただけのバージョンを出し続けるNVIDIA。この動きは、GPUの新しいトレンドを象徴している。それは、1年毎のビートから2年毎のビートへと変わったことだ。

 これまで、GPUは1年毎に半世代(8x%)の微細化を行なうファウンドリのプロセス技術の波に乗って、1年毎に新GPUを投入してきた。ところが、今やファウンドリのプロセス技術は2年に1度に1世代(7x%)しか微細化しない。プロセス技術開発のコストが上がり、ハーフジェネレーションを開発することが難しくなったからだ。そのため、GPUベンダーも、チップのダイサイズを一定に保とうとするなら、2年毎のペースへとスローダウンせざるを得ない。

 もっとも、ペースはスローになるものの、ジャンプは大きくなる。なぜなら、これまでは半世代(8x%)分の微細化だったのが1世代(7x%)分の微細化に変わるからだ。半世代分の微細化では、同じダイサイズに理論値で1.4倍のトランジスタしか詰め込むことができないのに対して、1世代分の微細化なら理論値で2倍のトランジスタを載せられる。その分、アーキテクチャを大きく改良できる。

 言い換えれば、1年毎に小ジャンプを繰り返していたのが、2年毎の大ジャンプへと切り替わる。つまり、今年(2011年)の後半に出るとされている28nmプロセスの次期GPUアーキテクチャ「Kepler(ケプラ)」は、パフォーマンスの大きな伸びが予想できる。同じことは、AMD GPUにも当てはまる。GPUに共通する変化だ。

GeForce GTX 560 Tiの概要
PDF版はこちら
GPUのダイサイズ推移
PDF版はこちら

 さらに言えば、2年のビートは、もともとCPUのリズムだった。CPUの製造プロセスは、以前から1年刻みではなく、2年刻みだったからだ。Intelは、この2年のビートを隠蔽するため、チックタックモデルを導入した。すなわち、2年毎に新プロセスCPUを導入、翌年には同じプロセスで新アーキテクチャCPUを導入する。すると、ユーザーからは1年毎にパフォーマンスが上がるように見える。

 しかし、NVIDIAは、Intelのような2年ビートに合わせた製品戦略を立てることができていない。AMDは、一応、Radeon HD 6970(Cayman)で、Intelのチックタックに近いことをやった。つまり、40nmプロセスのままで、アーキテクチャを刷新したCaymanを出した。これは、AMDにダイサイズを大きくする余地があったからで、NVIDIAにはその戦略は取りにくい。

 GPUが2年刻みに移行したことでの最大の問題は、NVIDIAのマーケティングがそのリズムに適合できていないことだ。マーケティングは依然として1年毎にパフォーマンスがジャンプするという神話に捕らわれている。その点が、実際の製品とかみ合っていないように見える。

●物理設計の改良でSMを全て有効に

 GF114では、GF104と同じTSMC 40nmプロセスを使いながら、物理設計の改良により、2つの点で向上を見た。1つ目は欠陥の減少によって、フルにGPUを使えるようにしたこと。2つ目はボード全体のパフォーマンス/ワット(電力)の改善によって動作周波数の向上を可能にしたこと。

 GF104では、欠陥の多さによる歩留まり減少をカバーするための冗長性を得るために、1個のSM(Streaming Multiprocessor)を無効にせざるをえなかった。そのため、物理的にはダイ(半導体本体)上に8個のSM(384個のCUDAコア)を搭載しているにもかかわらず、7個のSM(336個のCUDAコア)しか有効にできなかった。8個のSMを有効にして出そうとすると、製品歩留まりがガクっと落ちてしまうからだ。しかし、GF114では、8個のSMが全て有効にされている。このことは、GF110で行なった物理設計の改良をGF114にも適用することで、欠陥を減少できたことを意味している。

 ちなみに、GF114はGF104と同じSM(Streaming Multiprocessor)の構成を持つ。1個のSMの中に16ユニットのCUDAコアで構成されるクラスタが3つあり、SM当たりのCUDAコアの数は48個。その他に8ユニットのSpecial Function Unit(SFU)クラスタ、16ユニットのロード/ストアユニットクラスタ、8ユニットのテクスチャユニットクラスタがある。実行クラスタは、1SMに6個で、それに対して命令イシューは4命令/2サイクルとなっている。

 命令は32スレッドのWARP単位で発行されるため、CUDAコアとロード/ストアのクラスタは2サイクル(単精度の場合)、SFUとテクスチャアドレスユニットは4サイクルのスループットで命令を実行する。命令ユニットは異なるWARPからの命令を最大4命令発行できるが、実際には3命令/2サイクルのスループットが設計時のターゲットだ。プロセッサがピーク性能で稼働し続けるとは期待されていないことがわかる。

 GF104/GF114アーキテクチャでは、SMが48個のCUDAコアで構成されるため、1個のSMが無効にされると48個 CUDAコアが減る。GF114では、フルにSMが有効にされたため、GF104より48個のCUDAコアが増えて、クロック当たりのピーク演算能力が14%向上した。

GeForce GTX 560 TiのStreaming Multiprocessor
PDF版はこちら
GeForce GTX 560 TiのWarpスケジュール
PDF版はこちら

●前世代より上がった動作周波数

 GeForce GTX 560 Ti(GF114)では、動作周波数はプロセッサコア部分で1,644MHz、固定機能のGPUコア部分で822MHzへと上がっている。GeForce GTX 460(GF104)と比べると、プロセッサは18%、固定機能は22%も周波数が上がった。しかしボード消費電力はGF104の160W(1GB版)から170Wへと上がっただけだ。相対的に、電力当たりのパフォーマンス効率は上がっている。

 NVIDIAは、GPUのダイ面積当たりの電力密度を一定以下に保とうとしている。具体的には0.3W/平方mmより少し上のレベルを上限として、各プロセス世代のGPUの電力を抑えている。そのため、電力消費、特にスタティック成分が多いプロセスでは、GPUの動作周波数を上げてアクティブ電力を増やすことが難しい。NVIDIAが22%ものクロック引き上げを行なったことは、この点で余裕が増えたことを示している。

 もっとも、この電力はボード電力であるため、DRAM側の電力の削減も効いているかもしれない。DRAMベンダーは、以前は先端DRAMより、1から2世代古いプロセス技術でGDDR系メモリを製造していた。しかし、昨年(2010年)頃からベンダーの戦略が変わり、今はGDDR系メモリも先端のDRAMプロセス技術で製造する方向に向かっている。DRAMベンダーによると、最大の理由は電力の削減で、GPU側の電力削減の要求が高まったことで方式が変わったという。

GPUの電力密度の推移
PDF版はこちら

●ジオメトリスループットが伸びる

 固定機能部分のクロックの大幅な向上は、特にジオメトリ性能に大きな影響を及ぼす。ジオメトリプロセッシングの固定機能やラスタライザなどは、固定機能ユニットの周波数で動作しているからだ。今回、NVIDIAは珍しくジオメトリパイプラインのスループットの数字を出している。それによると、GeForce GTX 560 Tiのジオメトリ性能は、1.64GTri(トライアングル)/secだという。

 この数字がどこから出てきたかを理解するには、Fermiアーキテクチャの構成を把握する必要がある。Fermiでは、GPUはGPC (Graphics Processing Cluster)と呼ばれるユニットに分割されている。各GPCは、それぞれラスタライザと付随する固定ジオメトリ関連機能を備えている。GPCのジオメトリ関連ユニットは、1サイクルスループットの性能を持っている(ただしラスタライザは8ピクセル/クロックのスキャン能力)。

 そのため、Fermiアーキテクチャでのジオメトリ固定機能パフォーマンスは、=GPU数×固定機能動作周波数となる。GF114は、グラフィックス固定機能ユニットを822MHzで動作させており、GPU数は2個であるため、ジオメトリ性能は1.64GTri/secとなる。これはどういうことかというと、GF114のジオメトリスループットは、AMDのRadeon HD 6970(Cayman)とほぼ同等という意味だ。

GeForce GTX 560 TiのGPC
PDF版はこちら

●パフォーマンスの向上に追いつかないメモリ帯域の向上

 全体的に見るとGeForce GTX 560 Tiはマイナーチェンジながら、全てに渡って性能が上がっているように見えるが、じつは、以前より落ちている部分もある。それは、演算パフォーマンスとメモリ帯域の比率だ。

 GeForce GTX 560 TiのメモリはGDDR5で4,008MT/secの転送レート。メモリインターフェイス幅は256-bitなので、メモリ帯域はピーク128GB/secとなる。このスペック自体は、GeForce GTX 460の3,600MT/secで115GB/secよりは上がっている。しかし、その向上幅は、演算パフォーマンスの向上幅より小さい。GF114では、GF104よりユニット数が14%、プロセッサ動作周波数が18%上がったため、ピーク演算パフォーマンスは35%も上がっている。メモリ帯域の向上が追いついていない。

 そのため、単精度でのBytes/FLOPS比率は、GF104の0.127から、GF114では0.104へと落ちた。それだけ、演算命令と外部メモリアクセスの比率を高めないと、パフォーマンスを発揮できないことを意味する。計算上は、外部メモリへのロードの間に49個の演算命令(またはキャッシュ/ローカルストアヒット)がなければならない。

 つまり、GF114は、ますます、メモリバインド(メモリ帯域が制約になる)の強い一部の汎用アプリケーションが苦手となり、どちらかと言えばグラフィックスに強いGPUになったと言える。

GeForce GTX 560 TiとGeForce GTX 580の比較
PDF版はこちら