特集

明らかとなったGeForce GTX 1080の詳細

~新圧縮モードによるメモリ帯域の節約や新SLIブリッジなど

GeForce GTX 1080の特徴

 NVIDIAは5月6日(現地時間)に、Pascalアーキテクチャを採用したハイエンドGPU「GeForce GTX 1080」を発表した。そして17日にメディアによるベンチマークを解禁するとともに、新たな情報を公開した。

 今回メディア向けに配布された資料は膨大で、ホワイトペーパーは55ページ、レビューワズガイドは61ページにも及ぶ。これはPascalで革新的な技術が多数投入されたことを示唆しているが、その中から、6日の発表時点で公開されなかった情報などをかいつまんで紹介することにしよう。

GeForce GTX 780の3倍の電力性能比

 まずはGeForce GTX 1080の概要からおさらいしておこう。GTX 1080はコンシューマ向けGPUとしては初めて16nm FinFETプロセスを採用。このことから推測するに、製造はTSMCが担当すると見られる。トランジスタ数は旧世代のGeForce GTX 980の52億から72億に増大したが、ダイサイズは398平方mmから314平方mmに縮小している。

 CUDAコア数は2,048基から2,560基へと25%増え、ベースクロックは1,607MHz、Boostクロックは1,733MHzと、GPUとしてはかつてない領域に達成。CUDAコア数とクロックの両方の増加により、ピーク演算性能は8,873GFLOPSに達し、これもGTX 980の4,981GFLOPSから78%向上している。

 CUDAコア数の増加に伴い、テクスチャユニットもGTX 980の128基から160基に増えた。メモリは10Gbps駆動のGDDR5Xで、同じ256bitのバス幅を維持しながら、バンド幅は224GB/secから320GB/secへと42%向上した。その一方でL2キャッシュのサイズは2MBに据え置かれ、TDPは165Wから180Wの微増にとどめた。

 結果的に、 GTX 1080は電力効率が非常に高いGPUとなった。GTX 980と比較して電力効率は1.5倍になっているが、GTX 780と比較すると3倍もの電力性能比を実現したという。Keplerアーキテクチャは登場当初、Fermiと比較して高い電力効率を実現できたと話題になり一世を風靡したが、まだGTX 780世代のGPUを使っているのであれば、そろそろGTX 1080への買い替えを検討すべきだろう。

GeForce GTX 1080のブロックダイアグラム

新しいGDDR5Xメモリとメモリ圧縮技術

 既報の通り、GTX 1080では「GDDR5X」と呼ばれる新しいメモリを採用する。基本的にGDDR5技術に基づいているが、10Gbpsというデータレートを実現しようとすると、これまでのGDDR5対応回路だと転送が間に合わず、データ転送を終える前に次のデータが送られてくることになる。

 そこでNVIDIAは高クロック向けに新規にI/O回路を設計し、GDDR5Xの搭載を実現した。1.35Vより低い電圧と新しいプロセス技術を採用することにより、従来と同等の消費電力を維持しながら、43%高いクロックを達成した。また、GPUダイとメモリダイの間のチャネルも最適化し、信号のクロストークや損失を抑えたという。その結果、信号の「目」を十分に確保でき、データのキャプチャーに余裕をもたせることができたという。

GDDR5Xの採用

 これだけ高速のメモリを使用しているが、Pascalではメモリの帯域を効率よく使うために、新たなロスレスデータ圧縮技術を採用した。

 Maxwell世代までは、あるブロックのある画素において、隣り合った画素がその色に近い色であった場合、GPUが計算を行ない差分として記録することで容量を2分の1にする「2:1圧縮」を備えていたが、Pascall世代ではさらに、同じブロックで差分がさらに小さく数ビットで表現できる場合、オリジナルの4分の1にまで圧縮を行なう「4:1デルタカラー圧縮」と、2×2ピクセルブロックの4:1コンスタントカラーコンプレッションと2:1コンプレッションを組み合わせ、データサイズを8分の1に抑える「8:1デルタカラー圧縮」を搭載した。

 この結果、PascalではMaxwellと比較してメモリ帯域の利用効率が20%向上し、メモリクロックの向上分と合わせて、GTX 980と比較してメモリ効率が1.7倍に向上したという。

4:1デルタカラー圧縮と8:1デルタカラー圧縮
圧縮の比較。画像はProject CARS実行時のテストで、マゼンタはデータ圧縮が得られた部分を表す。中央はMaxwell世代で、右がPascal世代。ご覧の通り大半のデータを圧縮できている
圧縮によりメモリ帯域の利用効率が20%高まった

SLIインターフェイスを刷新

 Pascal世代ではSLIインターフェイスが一新された。GTX 1080ではSLIコネクタを2基備えている。この点、旧世代のハイエンドと同様なのだが、これまで2-way SLIを構築する場合、どちらかだけを接続しても良いこととなっていた。しかしGTX 1080では2つのコネクタを同時に使う「Dual-link SLI」モードが標準となり、クロックが400MHzから650MHzに向上、従来と比較して2倍以上のバンド幅を実現できるという。

 古いスタンダードなSLIブリッジを利用して1つだけ繋げても良いのだが、この場合多少速度がブーストされるものの、性能は制限される。既存のLED付きのSLIブリッジを使用した場合は、最大650MHzで動作するが、Single-linkとなるためやはり性能が制限される。Dual-link SLIを使うためには、新開発された「SLI HB」と呼ばれるブリッジを利用する必要がある。

新しいSLI HB
SLI HB装着イメージ

 さらに具体的に言うと、スタンダードなブリッジを使った場合、2,560×1,440ドット@60Hzまでの解像度しか推奨されないが、LED入りタイプのブリッジではこれが4K解像度にまで向上する。一方、SLI HBブリッジを利用すれば、5Kや3台のディスプレイによるサラウンド環境にまで推奨が広がる。

 ホワイトペーパーにも、新旧ブリッジ利用時の性能比較が公開されているが、これによれば新ブリッジではより安定したフレームレートを実現でき、シャッタリング現象を抑えられるという。

SLIブリッジの違いによる推奨解像度の違い
新しいブリッジではSLI時のフレームレートがより安定するという

 なお、この仕様変更により、3wayまたは4wayのSLIは非推奨となった。非推奨というより基本的に非対応で、Pascal以降も、基本的に3wayや4wayはサポートされない。それでも3wayや4wayを使いたいというエンスージアストは、NVIDIAのサイトで申請し、「Enthusiast Key」と呼ばれるキーを発行してもらう必要があり、キーをインストールして初めて3wayや4way構成が有効になるという。

新しいマルチGPUモード

 上記の2way SLIモードの制限は、実はDirectX 12におけるマルチGPUの扱いの変更によるものが大きい。DirectX 12では複数のGPUがある場合、3種類のモードが利用できるようになったからだ。

 1つ目はMulti Display Adapter(MDA)モードだ。これはほぼ読んで字のごとく、ビデオカード各々を個別に認識させるモードで、各々のビデオメモリは分離され、相互のGPUが相互のメモリに直接アクセスできない。MDAモードでは開発者が慎重に各々のGPUのメモリを管理する必要があるが、GPU数の制限はない。

 一方、2つのGPUがメモリを相互にアクセスできるLinked Display Adapterモードも用意されているのだが、Implicit LDAと呼ばれるSLIのような仕組みに加え、新たにExplicit LDAと呼ばれる仕組みが用意された。

 Explicit LDAモードはImplicit LDAモードとは異なり、ゲーム開発者がより自由にGPUを制御できるようになる。例えば、メーカーが異なるディスクリートGPUとCPU内蔵GPUですらペアとして組むことができるようになり、各々のビデオメモリを1つのメモリプールとして扱うことが可能だ。このExplicit LDAモードでも、GPU数に制限がない。今後、このExplicit LDAモード、およびMDAモードが主流になると見られるため、SLIを2wayまでに制限することとなったと見られる。

 もちろん、2-way SLIを組んでいても、これまで通りPhysX GPUを別途追加するといったことは引き続き可能だ。

DirectX 12に搭載された新しいマルチGPUモード

垂直同期がオンでも入力から反応するまでのレイテンシを抑える「FAST SYNC」

 これまで、グラフィックスのレンダリングは一連の“流れ”があった。ゲームエンジンからの描画要求はまずドライバを通り、GPUでレンダリングされ、フレームバッファに溜めた後、ディスプレイに出力される。これらは分離できない“流れ”だった。しかしPascal世代では、レンダリングのパイプラインのフロントエンドと、ディスプレイ出力に関わるバックエンドを分離させた。

 これによって実現したのが、「ゲーム内の設定は垂直同期がオフ、しかし実際に出力されるイメージは垂直同期がオン」という、“FAST SYNC”と呼ばれる特異な機能だ。

 FAST SYNCは具体的にどういったメリットがあるのか。ご存知の通り、垂直同期がオフだと、ゲームエンジンはディスプレイの同期を待たずに次から次へとレンダリングをする。このため、キーボードやマウスの入力から、ディスプレイの出力までの遅延を最小限に抑えることができる。しかしディスプレイのリフレッシュレートを超えるフレームレートが出力されると、画像の上と下がズレる「テアリング」現象が発生する。

 テアリングを回避するためには、垂直同期をオンにすれば良いのだが、この場合、これまでの“流れ”ではゲームエンジン全体がディスプレイの出力を待つ必要があった。このため、キーボードやマウスの入力も、ディスプレイのリフレッシュがかかるタイミングまで待つ必要があり、遅延が発生する原因となっていた。

 FAST SYNCを有効にすると、先述の通り、フロントエンドとバックエンドが分離されるため、ゲームエンジンを含むフロントエンドのパイプラインは、垂直同期がオフの時と同様、速く動作できる分動作する。このため、入力遅延の最小化とテアリングの解消を両立できる、というのがNVIDIAの言い分だ。

 ただし、これまでのレンダリングの流れにそのままFAST SYNCの仕組みを取り入れても効果がない。ご存知の通り、3Dイメージはディスプレイに出力する前、一旦バッファに蓄えられる。バッファには、完全なイメージで出力できる状態にある「フロントバッファ」(FB)と、現在レンダリング中の「バックバッファ」(BB)の2種類があるが、FBがディスプレイに出力されない限り、BBに新たにレンダリングを施すことはできない。つまり、結局はリフレッシュレートに制限され、ゲームエンジンは“失速”してしまう。

 そこでNVIDIAは新たに「ラストレンダードバッファ」(LRB)と呼ばれるバッファを用意した。ゲームエンジンからはこのバッファは直接見えないのだが、BBのレンダリングが終わると自動的にLRBとなり、FBになるのを待ち、これまでLRBだったのがBBとなり、次のレンダリングを受け付ける。LRBがFBになるまで(つまりFBがディスプレイに出力される)このサイクルは繰り返され、ゲームエンジンからは常に空いているBBがあると認識される。これにより、ゲームエンジンの失速を防ぐわけだ。

FAST SYNCの仕組み。まずはフロントエンドとバックエンドを分離させ、バッファに新たにLRBを用意した
NVIDIAコントロールパネルでFAST SYNCを選ぶだけ

 このFAST SYNCのメリットは、特に負荷が軽いDirectX 9のゲームで顕著で、垂直同期オフ時と比較して、入力からの遅延を+8ms以内に抑えつつ、テアリングやジッターを解消できる。これは垂直同期がオンの時の遅延と比較して、約2分の1から4分の1短いという。

入力から出力までの遅延比較。垂直同期がオフの時に近い低遅延が得られる

VR向けの新しい仕組みやGPGPUの改善、4Kビデオ、HDRへの対応など

 このように、GTX 1080では3Dのレンダリングについて、かなり多くの改善が施されていることが分かる。さすがに初代Maxwell(GeForce GTX 750 Ti)の登場から2年以上経っていることもあり、Pascal世代の3Dゲーム向けの進化は目覚ましい。

 しかしこれらに留まらず、ボードの最適化、GPU Boost 3.0という新しいオーバークロックの仕組み、VRに向けた最適化、GPGPUの改善、そしてビデオデコーダの改善、HDRゲームへの対応など、さまざまな要素が盛り込まれている。これらは明日(18日)、また稿を改めて紹介したい。

 余談だが、ホワイトペーパーやレビュワーズガイドを見るとライバルのGPUへの言及は一切なく、Pascalに強い自信を持っていることが伺える。

(劉 尭)