後藤弘茂のWeekly海外ニュース
NVIDIAが次々世代GPU「Volta」とSoC「Parker」を公開
(2013/3/21 00:00)
2015年前後までのロードマップを公開
NVIDIAがGPUとモバイルSoCのロードマップを公開した。GPUロードマップでの目玉は、スタックドDRAMを使う超広帯域メモリの「Volta」(ボルタ)が、次世代の「Maxwell」(マクスウェル)の後に加わったこと。Tegraでの目玉は、次の「Logan」(ローガン)でKepler GPUコアの統合によるCUDAサポートが実現することと、その後継の「Parker」(パーカー)でDenver CPUコアとMaxwell GPUコアを統合すること。ついに、Project Denverも見えてきた。
NVIDIAのJen-Hsun Huang(ジェンセン・フアン)氏は、同社の技術カンファレンス「GPU Technology Conference(GTC) 2013」で2年半振りにGPUロードマップをアップデートした。GTC 2013は、米サンノゼで、現地3月18日から21日にかけて開催されている。新ロードマップでは、現在の「Kepler」(ケプラー)に続いて、Maxwellが2014年までに登場する。そのあと、スタックドDRAMを使うVoltaが登場するロードマップとなった。下が基調講演でのロードマップだ。
Huang氏は、基調講演の中でVoltaについて次のように説明した。
「Maxwellの次のGPUはVoltaだ。Voltaはバッテリの発明者の名前だ。Voltaという名前は、このGPUが、さらにエナジーエフィシェント(高電力効率)であることを示しているから気に入っている。Voltaでは、スタックドDRAMと呼ばれる最新の技術を使う」。
NVIDIAは、エクサスケールスーパーコンピュータの「Echelon」(エシュロン)のプランを明らかにしたときから、スタックドDRAMを使うことを示唆していた。今回、Voltaでついに実際の製品ロードマップにも現れた。Voltaは、シリコン貫通ビア(TSV:Through Silicon Via)インタポーザを使う2.5Dタイプのスタックドメモリソリューションだ。
前回、NVIDIAがロードマップを公開したのは2010年9月のGTC 2010でのこと。下はその時のロードマップだ。この時点では、Maxwellまでしか明らかにされておらず、Maxwellの登場時期も2013年となっていた。今回のアップデートからはさまざまな要素を読み取れる。
プロセス技術が推測できるNVIDIAのGPUロードマップ
GPUロードマップでは、相対的なパフォーマンス/電力は、現在のKeplerからMaxwellで約2倍となる。これは、同消費電力に対しての倍精度浮動小数点演算パフォーマンスの比較だ。MaxwellからVoltaではさらに2倍となる。
各GPUの登場時期とパフォーマンス/電力から推測できるのは、Maxwellが20nmバルクプロセス、Voltaが16nm FinFETプロセスあたりであることだ。これは、NVIDIAが現在GPUの製造を委託しているTSMCのロードマップと照らし合わせた場合だが、ファウンドリを変えたとしても大きくは変わらない(例外はIntelに委託した場合)。2014年であるなら、MaxwellはFinFETでの製造が間に合わない可能性が高い。
2倍のパフォーマンス/電力を達成するには、プロセスの微細化だけでは無理なので、Maxwellでも、再びGPUアーキテクチャ上の改革が必要になる。しかし、次のVoltaの場合は、TSMCの16nmプロセスならトランジスタが3Dの「FinFET」になるため、プロセス技術だけで電力の削減が可能になる。例えば、VoltaがMaxwellと同じマイクロアーキテクチャであっても、FinFETによるGPU自体の電力低減と、スタックドDRAMによるメモリ電力の低減によって、パフォーマンス/電力を引き上げることができる。
ただし、Maxwellが20nmバルクで、Voltaが16nm FinFETだった場合、同程度のダイに載せることができる演算ユニット数自体は、おそらく大きく変わらない。なぜなら、TSMCの16nm FinFETもGLOBALFOUNDRIESの14nm FinFETも、バックエンドは20nmプロセスを流用するからだ。配線層がほぼ同じであるため、回路サイズはほぼ変わらないか、場合によっては16nmの方が大きくなる場合すらありうる(クリティカルパスでトランジスタをマルチチャネル化する場合)。
そのため、Voltaは電力効率は上がるが、ダイサイズ当たりの演算ユニット数では大きな変化は難しい。もちろん、電力低減の分、動作周波数を上げる余地は増える上に、メモリボトルネックがある程度解消されるため、メモリバインドのアプリケーションの実性能は上がる。また、電力低減分、ダイを大きくすることも可能だが、露光ワンショットのサイズを越えると経済的ではなくなるため、一定限度以上にダイは大きくしにくい。ちなみに、Voltaの時期が明確にされなかったのは、スタックドDRAMのスケジュールがまだ不鮮明なためだと見られる。
ちなみに、Maxwellについては、基調講演のスライドでは「Unified Virtual Memory」と説明されているが、これがCUDA 4.0のUnified Virtual Memoryとどう異なるのかの説明は基調講演では行なわれなかった。
2014年のTegra「Logan」ではGPUコアにKeplerを採用
Tegraロードマップでも、製造プロセス技術が推定できる。2015年のParkerはFinFETとされているため、TSMCなら16nmプロセスとなる。そうなると、現在の「Tegra 4」(開発コードネーム:Wayne)の後継となる2014年頭に製造に入る「Logan」(ローガン)は、20nmバルクプロセスと推測される。28nmのTegra 4よりも微細化しなければ、下の基調講演の図にあるようなパフォーマンスアップは望めないからだ。
Loganの世代では、GPUコアが一足飛びにKepler(ケプラ)ベースとなる。Huang氏は次のように説明する。
「Loganは(Tegraファミリで)初めて最新のGPUを搭載する。CUDAを使うことができる最初のモバイルプロセッサとなる。Loganは、Kepler GPUを搭載し、CUDA 5にフル対応し、OpenGL 4.3もサポートする。Loganは来年(2014年)頭には、容易に製造に入ることができるだろう」。
これまで、NVIDIAのモバイルGPUコアアーキテクチャは、デスクトップGPUの数世代遅れだった。それが、LoganでKeplerへと飛ぶのは、KeplerまでのGPUコアはモバイルに適していなかったからだ。
NVIDIAのGPUコアアーキテクチャは、「Fermi」(フェルミ)からKeplerで大きく変わった。「Tesla」(テスラ)からFermiまでは、エリアオプティマイズド、つまりダイ面積当たりのパフォーマンスを重視した設計だった。そのため、プロセッサを高周波数で回し、トランジスタ当たりの消費電力が大きかった。しかし、Keplerからは消費電力に最適化した設計に変わった。
また、命令スケジューリングは全てハードウェアで制御するFermiまでの方式から、レイテンシが読めない命令以外のスケジューリングはソフトウェア(ドライバ内のコンパイラ)で行なう方式へと変えた。そのため、FermiまでのGPUコアと比べて、Keplerは生パフォーマンス当たりの電力が大きく引き下げられた。
こうした改良によって電力効率を高めたKeplerアーキテクチャは、モバイルスペースにも適用できるようになった。NVIDIAは、G70をベースにしてTegra 2/3のGPUコアを設計した。しかし、G80(Tesla)以降のGPUコアはTegraに持って来ることができず、Tegra 2/3のGPUコアを発展させた、下の図のVLIW命令のアーキテクチャをTegra 4に実装した。こうして見ると、NVIDIAはKeplerをモバイル向けに適用できるタイミングまで待っていたことが分かる。
Denver CPUの初の製品となるParker
Loganの対応するAPIセットでは、最新のCUDA 5とともに、OpenGL 4.3のサポートが目立つ。モバイルGPU向けのOpenGL ES系だけではなく、OpenGL系もサポートできることを強調した。この時点でほかのモバイルGPUメーカーがOpenGL ES 3.0に対応しているが、Tegra 4/4iでは、ダイ面積を抑えた上で演算パフォーマンスを稼ぐ一方で、OpenGL ES 3.0のサポートを見送った。GPUベンダーであるはずのNVIDIAが、モバイルではグラフィックスAPIで遅れを取るという状況になっている。Loganではそれを一気に盛り返そうという意図が感じられる。
ちなみに、OpenGL ES 3.0とOpenGL 4.3以降は、両APIはある程度融合して行く方向にある。上が今回のGTCで、Khronosグループから発表されたOpenGLファミリのロードマップだ。OpenGL ES 3.0とOpenGL 4.3の後がクロスしていることが分かる。これが、昨年(2012年)12月のSIGGRAPH Asia時のロードマップだと下のようになっていた。
Loganの次の2015年頃のParkerではCPUコアがDenver CPUになる。Huang氏はParkerについて次のように説明した。
「Parkerは3つの重要なアイデアを市場にもたらす。まず、ParkerはDenverの64-bit ARMプロセッサを載せた最初のプロセッサとなる。そして、次世代のGPU Maxwellを統合する。さらに、FinFETトランジスタを使う」。
NVIDIAのTegra戦略にとって、Parkerが大きなジャンプになることが分かる。つまり、今後Tegraは、GPUパフォーマンスを急増させたTegra 4から、CUDA対応のLogan、64-bitでMaxwellでFinFETのParkerへと1年置きに飛躍して行くことになる。同社のモバイルSoCに対する意気込みがよく分かる。
5年で100倍にパフォーマンスが向上するTegra
Huang氏は、Tegraロードマップでのパフォーマンス向上についても説明。TegraではTegra 2からParkerで、約5年でパフォーマンスが100倍になり、ムーアの法則のペースをはるかに越えると語った。華々しい伸びだが、もちろんこれにはトリックがある。Tegra 2は40nmで、Parkerは16nmと推測される。プロセスノードとしては、40nmから20nmで2世代分シュリンクし、同じ面積のチップに載せることができるトランジスタ数は4倍になる。さらにFinFETに移行することで、電力予算も稼ぐ。
それに対して、CPUコアはCortex-A9の2コアからCortex-A15の5コア、そして、Denverの4コア以上へと移る。CPUコアのエリアは同じプロセス換算なら4倍以上になるが、キャッシュを含めたトータルのエリアはそこまで増えない。固定機能ユニットも同様と見られるので、NVIDIAは空いたスペースをGPUに割くことができるだろう。GPUの比率を高めると、チップの演算パフォーマンスをムーアの法則以上のペースで上げることができる。
ちなみに、昨年(2012年)までのロードマップにはParkerがなく、その代わり、より低パフォーマンスのStarkがロードマップにあった。この変更の理由は分からない。
もう1点謎なのは、NVIDIAは、Maxwell世代からはCPUコアを統合すると見られているが、Huang氏はデスクトップ & HPC向けのMaxwellのあとに来るParkerで、初のDenver統合としている。また、デスクトップ & HPC向けのMaxwellは20nmだと推測されるが、Parkerは16nmだ。これは、Denverが20nmなのか16nmなのかという問題もはらんでいる。DenverはARMの64-bitコア「Cortex-A57」をベースにすると見られており、Cortex-A57の最初のターゲットは20nmプロセスだと見られている。
LoganとParkerによって、NVIDIAのロードマップではCUDAをARM CPUベースで走らせる展開が見えてきた。しかし、Loganまでまだ1年ある。そのため、NVIDIAはCUDAベースのTegra向けのソフトウェア開発を促進するための開発キット「Kayla」(ケイラ)も発表した。これは、Tegra 3ベースで、Tegra 3のPCI ExpressにKepler系のローパワーGPUを搭載したMini-ITXボードだ。基調講演では、Kaylaボードを使ってリアルタイムレイトレーシングを行なうデモも見せた。
今回のNVIDIAロードマップアップデートは、GPU技術のターニングポイントを示しており重要だ。特に、VoltaのスタックドDRAMは、今後のGPUのカギとなる。スタックドDRAMについては別な記事で詳しく説明したい。