米AMDは5日(現地時間)、開発コードネーム"Vega"で知られる次世代フラグシップGPUを公開するとともに、その概要を明らかにした。同社は、Vegaを2017年前半に市場投入する計画だ。
扱うデータ量の増大にグラフィックスメモリが追い付いていない
AMDでグラフィックスビジネスを統括するRadeon Technologies Group(以下、RTG)のラジャ・コドゥリ上級副社長兼チーフアーキテクトは、GPUを必要とする仕事が増える中、ゲームのインストールデータサイズは、ここ数年で飛躍的な増加傾向を示しているという。
また、映画制作などにも活用されるプロ向けレンダリング用データセットはペタバイト(1,000兆バイト=約1.000テラバイト)に、そしてAIや深層学習などで用いられるビッグデータはエクサバイト(100京バイト=100万テラバイト)に達しようとしていると指摘。その一方で、GPUの演算性能は堅調に向上しているものの、メモリ容量増加のペースは遅く、その差が大きくなりつつあると言う。
新たなメモリアーキテクチャ「High Bandwidth Cache」
そこで、RTGでは、こうした問題を解消すべく、VegaにおいてHigh Bandwidth Cacheと呼ぶ、まったく新しいメモリアーキテクチャを採用した。GPUのメモリ階層を、これまでのフレームバッファから、まったく新しい階層に作り替え、ストレージも管理。複雑なキャッシュ制御や整合性を採る。
GPUを必要とする最新の処理を、より効率的に処理できるようにすべく、Vegaではメモリアーキテクチャを刷新し、スケーラビリティを持たせる |
Vegaで採用される新メモリアーキテクチャの中心となるHigh-Bandwidth Cache |
その鍵を握るのが、同社がすでにGPUロードマップで公開していたとおり、Vegaで採用する最新広帯域メモリ技術HBM2(HIgh Bandwidth Memory 2)の存在だ。
HBM2は、Radeon Furyシリーズ(Fijiコア)で採用したHBMに比べ、ピン1本あたりのメモリ帯域を2倍とし、GDDR5に比べてスタックあたりの容量を8倍に増加するほか、メモリが基板に占める専有面積は50%以下に抑えると説明。
VegaではHBM2メモリを採用することで、Radeon Furyシリーズ(Fijiコア)で採用したHBMに比べてピンあたり2倍の帯域を実現する |
また、DDR5メモリと比べて同じ要領であれば8倍の容量をスタックメモリで実装可能なため、基板実装面積は50%以上小さくすることができる |
また、High Bandwidth Cache Controllerによって、HBM2などのグラフィックスメモリのみならず、不揮発性メモリ(NANDなどのNV RAM)やシステムメモリ、ネットワークストレージをもキャッシュとして包括的に制御できるようになり、512TBもの大容量の仮想メモリアドレス空間を利用できるようにすると言う。
Vegaに搭載されるHigh-Bandwidth Cache Contorllerは、HBM2メモリだけでなく、不揮発性メモリやネットワークストレージ、そしてシステムメモリもキャッシュとして利用できるようにする |
これにより、512TBもの仮想アドレス空間を確保することができ、システム内のデータ移動を最小限に抑えることで、省電力化にも効果を発揮する |
これにより、動的かつきめ細かいデータのやり取りが可能で、ひいてはシステム全体のデータ移動にかかるムダな電力消費も抑えることが可能になる。
また、コドゥリ氏は「4Kゲームでは非常に大量のデータをメモリに格納するが、実際にアクセスするデータはその半分にも満たない」とし、HBM2とHigh Bandwidth Cache Controllerが、こうしたデータのムダを最小限に抑え、パフォーマンスを向上させることができるとして、Radeon Pro Renderによる、700GBデータセットのレンダリングをリアルタイムで行なうデモも披露した。
VegaベースのRadeon Pro SSGによる高精細リアルタイムレンダリングのデモ。SSDをオンボードで搭載するRadeon Pro SSGも、Vega世代になるとメモリ管理の効率が大きく向上する |
プログラマブルなジオメトリパイプラインを搭載
Vegaの改良点は、それだけではない。RTGでGPUアーキテクチャの開発を指揮するマイク・マンター氏は、Vegaには新たにプログラマブルなジオメトリパイプラインを搭載し、ピーク時のスループット性能(クロックあたりのスループット)は、従来の2倍以上に達すると説明。
具体的には、これまで、バーテックスシェーダー(Vertex Shader)からジオメトリシェーダー(Geometory Shader)という流れで処理してきたジオメトリ処理の流れを、プリミティブシェーダー(Primitive Shader)に置き換え、1度だけデータにアクセスするだけで、2つのシェーダーの処理を包括的かつ効率的に行なえるようにする。これにより、GPU処理のロードバランスを向上させ、よりインテリジェントなワークグループ発行を可能にする。
これまで、Vertex ShaderとGeometory Shaderに分かれていたジオメトリ処理を、Primitive Shaderで一括処理することで、効率化と負荷低減を図る |
また、命令発行効率化を図れるのもメリット |
Compute Engineも刷新
さらに、VegaではGPUコアなどを格納するCompute Engine(CU)にも手が加えられる。Vega NCUと名付けられた新しいCUでは、クロックあたり128の32bit演算処理を行なえるだけでなく、16bit演算では256、8bit演算では512と、AI時代に有効とされる半精度、1/4精度演算の効率的な処理を可能にしているほか、倍精度(64bit)演算についても、演算処理のタイプに応じてカスタマイズできるようにしていると言う。
これらは、複数の演算処理をひとつにまとめて32bit演算器で処理、または複数の演算器を割り当てることで、効率的なGPUコア利用を可能にするものだ。
マンター氏によれば、Vega NCUは、より高クロックで動作し、かつIPC(Instruction Per Cycle)を向上できるように設計されていると説明する。ピクセルエンジンも一改良され、より積極的にラスタライズの効率化や隠面処理を行なうことで、パフォーマンスの向上と電力消費の低減を実現している。
また、Vegaではこれまでピクセルエンジンとテクスチャメモリのコヒーレント(一貫性)が取られていなかったのに対し、VegaではピクセルエンジンもL2に接続されるよう変更されることで、テクスチャメモリとの連係が容易になっている。
従来のアーキテクチャでは、ピクセルとテクスチャメモリアクセスで整合性を取ることができなかったが、Vegaでは、ピクセルエンジンもほかのパイプラインと同様、L2キャッシュにぶら下がることになり、キャッシュコヒーレンシを取りやすくなる |
気になるのは、その投入時期だが、AMDは2017年前半としており、まだまだ先になる可能性は否定できない。しかしながら、すでに第三者もプレイできる完成度の高いデモを披露しており、グラフィックスカードベンダー関係者からも、"Polaris"ことRadeon RX 400シリーズの発表がCOMPUTEX後のタイミングなったような、"ギリギリ前半"ということはないのではないか? と見るコメントも多く聞かれた。当初の予想以上に、大きなアーキテクチャチェンジとなるVegaの動向には今後も注目だ。