NVIDIAは、同社が5月6日(現地時間)に米国で発表したGeForce GTX 1080(ジーフォースジーティーエックス テンエイティー、日本ではイチマルハチマルか?)の技術的な詳細を明らかにした。そこから見えてきたのは、GeForce GTX 1080は、従来製品であるGeForce GTX 980の特徴を受け継ぎ発展させながら、プロセスの微細化により演算器の増加や、クロック周波数の向上、電力効率というメリットを得て、性能を大きく向上させたということだ。
さらに、GeForce GTX 1080では、新たなメモリ圧縮技術やAsynchronous Computeなどのアーキテクチャ面での改良に加え、オーバークロック機能のGPU Boostの強化、VSYNC設定の新しい選択肢となる「Fast Sync」、SLIの新しいブリッジとなるSLI HBといった機能追加も行われている。これについても合わせて、詳細が公開された。
Pascalアーキテクチャでは最初のコンシューマ向け製品となるGeForce GTX 1080/1070
NVIDIAが発表したGeForce GTX 1080/1070は、開発コードネーム"GP104"と呼ばれるダイ(パッケージに格納されている半導体の実体のこと)から派生した製品となる。NVIDIAはGPUを開発する際に、大本となるGPUのアーキテクチャを開発し、それを元に複数のダイを設計し、具体的な製品に派生していくという開発手法をとっている。
前世代となるMaxwellアーキテクチャの世代であれば、まずMaxwellのアーキテクチャを開発し、そこからGM204、GM206……と設計し、GM204からGeForce GTX 980を、GM206からGeForce GTX 960を……というように派生していった。
ちなみに、NVIDIAのダイのコードネームを見ると、最初のアルファベット"G"はおそらく「Graphics」ないしは「GeForce」のG(どの製品でも共通)を意味し、2つめのアルファベットはアーキテクチャのことを指している。
そして数字の3桁のうち最初の数字はアーキテクチャ内での世代(あれば)、残りの2桁は開発された順番などでつけられていることが多い(連番ではなく、基本的には偶数が振られる。ただし例外もある)。
従って"GM204"であれば、NVIDIAのグラフィックスチップ(G)で、Maxwellアーキテクチャ(M)に基づいており、Maxwellアーキテクチャの中での第2世代(2)の、04番という製品という意味になる。
同じことは今回発表されたPascalアーキテクチャのダイにもいえ、GP100ないしはGP104はNVIDIAのGraphics製品(G)の、Pascalアーキテクチャ(P)における、第1世代の製品で、00番と04番の製品という位置づけとなる。
2016年4月のGTC 2016で発表されたTesla P100のベースとなっているのが"GP100"、そして今回発表されたGeForce GTX 1080/1070に採用されたのが、"GP104"となる。GP100とGP104の違いをまとめると以下のようになる。
■ 表1 GP100とGP104の違い(NVIDIAの資料などから筆者作成) | ||
---|---|---|
製品名 | Tesla P100 | GeForce GTX 1080 |
開発コード名 | GP100 | GP104 |
SM数 | 56 | 20 |
SMあたりのCUDAコア | 64 | 128 |
CUDAコア数 | 3584 | 2560 |
浮動少数演算性能 (単精度) |
10.6TFLOPS | 8.873TFLOPS |
メモリ | HBM2 | GDDR5X |
メモリ帯域 | 720GB/秒 | 320GB/秒 |
NVLink | 4リンク | - |
両者の大きな違いは、CUDAコアと呼ばれる演算エンジンの構成だ。GP100では、SM(Streaming Multiprocessor)と呼ばれる演算単位に、64基のCUDAコアを格納しているのに対し、GP104ではSMあたり128基となっている。SMあたりのCUDAコアが小さい方が、並列演算時の効率は高まるので、汎用演算に最適化されているGP100と、グラフィックスの処理にフォーカスしているGP104の用途の違いと言えるだろう。
また、メモリとI/Oも大きな違いといえる。メモリはGP100がHBM2という広帯域メモリを搭載し、720GB/秒という広帯域幅をサポートしているのに対して、GP104は従来のGDDR5の改良版となるGDDR5Xで、帯域幅は320GB/秒となっている。
このほか、GP100はNVLinkと呼ばれるCPUとGPU、GPUとGPU同士を接続するインターコネクトに対応していることも特徴となる。ただ、NVLinkのような機能はグラフィックスを処理するGPUには明らかにオーバースペックであり、これがコンシューマ向けの製品となるGP104では対応していないのは当然だろう。
GeForce GTX 980と比較すると、16nmへの微細化が最大の特徴となる
以下は、第2世代Maxwellにおける最初の製品となるGeForce GTX 980(GM204)、同じく第2世代Maxwellにおける最高峰の製品であるGeForce GTX TITAN X(GM200)と、GeForce GTX 1080(GP104)を比較した表になる。
■ 表2 GeForce GTX 1080、GeForce GTX 980、GeForce GTX TITAN Xのスペック(NVIDIAの資料などから筆者作成) | |||
---|---|---|---|
製品名 | GeForce GTX 1080 | GeForce GTX 980 | GeForce GTX TITAN X |
ダイの開発コード名 | GP104 | GM204 | GM200 |
SM数 | 20 | 16 | 24 |
SMあたりのCUDAコア | 128 | 128 | 128 |
CUDAコア数 | 2560 | 2048 | 3072 |
ベースクロック | 1.607GHz | 1.128GHz | 1.0GHz |
ブーストクロック | 1.733GHz | 1.216GHz | 1.075GHz |
*浮動少数演算性能 (単精度) |
8.873TFLOPS | 4.981TFLOPS | 7TFLOPS |
テクスチャユニット | 160 | 128 | 192 |
テクスチャフィルレート | 277.3Gテクセル/秒 | 155.6Gテクセル/秒 | 192テクセル/秒 |
メモリ | GDDR5X | GDDR5 | GDDR5 |
メモリ容量 | 8GB | 4GB | 12GB |
メモリクロック |
10Gbps | 7Gbps | 7Gbps |
メモリバス幅 | 256bit | 256bit | 384bit |
メモリ帯域幅 | 320GB/秒 | 224GB/秒 | 336.5GB/秒 |
ROP数 | 64 | 64 | 96 |
L2キャッシュ | 2MB | 2MB | 3MB |
TDP | 180W | 165W | 250W |
トランジスタ数 | 72億個 | 52億個 | 80億個 |
ダイサイズ | 314平方mm | 398平方mm | - |
製造プロセスルール | 16nm | 28nm | 28nm |
NVIDIAが公開したブロック図を見る限り、基本的な内部のアーキテクチャはMaxwellからPascalになっても大きく変わってはいない。SMあたりのCUDAコアの数や、256KBのRegister Fileなども同等になっており、大きな差はない。基本的にGP104の内部構造そのものは、GM204のそれにかなり似通ったモノだと言え、基本的には改良版と考えていいだろう。
しかし、GM204ベースのGeForce GTX 980に比べると、SMの数は16から20に増えておりその結果として、演算器であるCUDAコアが2048個から2560個に、さらにトランジスタ数もGM204の52億個から72億個に増えている。一方で、製造プロセスルールは28nmから16nmへと微細化されており、ダイサイズはGM204の398平方mmから、GP104では314平方mmへと小さくなっている。
また。内部構造を見直すことで、ベースの動作クロックが1.6GHzに引き上げられ、電力効率は大きく改善されている。単精度の浮動小数点演算性能では約1.7倍になっているのに対して、消費電力はほぼ変わらないレンジに収まっている。
つまり、GM204との比較でGP104をハードウェア面(つまりマイクロアーキテクチャ)から評価するのであれば、内部構造は改良版だが、16nmへの微細化で動作クロックの引き上げや、演算器が増加、なおかつダイサイズを小さく抑えて電力効率(パフォーマンス/ワット)を改善した、ということができるだろう。
10Gbpsのデータレートを実現するGDDR5Xに対応、新しいメモリ圧縮技術にも対応
メモリ周りに関しても大きな強化がされている、それはGDDR5Xメモリへの対応だ。GDDR5Xは、これまでGPU向けのDRAMとして利用されてきた「GDDR5の改良版」という位置付けの規格で、内部構造やI/Oの改良によりGDDR5ではデータレートがメモリクロックの4倍だったのに対して、GDDR5Xでは8倍になるという特徴がある。例えば同じ1.25GHzだったとしたら、GDDR5ではデータレートが5Gbps(5GHz相当)であるのに対して、GDDR5Xではデータレートが10Gbps(10GHz相当)になる。
このため、メモリコントローラのバス幅はGeForce GTX 980と同じ256bit幅(8x32bit)でありながら、320GB/秒というメモリ帯域幅をサポートしており、より大容量のデータを一度にメモリ上に展開することが可能になった。これまでメモリ帯域がボトルネックになっていたようなアプリケーションでは、性能が向上することになる。
さらに、NVIDIAはPascal世代で新しいメモリ圧縮技術を導入する。Maxwell世代では2:1圧縮の手法が導入されたが、Pascal世代ではその2:1圧縮の機能拡張(効率が改善されている)に加え、4:1圧縮、8:1圧縮という新しい手法も導入される。
DRAMの変更による帯域幅のアップで1.4倍に、さらに新しいメモリ圧縮技術の導入により1.2倍の効率改善があるとNVIDIAは説明しており、それらをトータルすると約1.7倍のメモリ帯域の利用効率の改善がされていることになる。