Graphics Core Next(GCN)は、AMDが自社のグラフィックス処理ユニット(GPU)のために開発した、基盤となる
マイクロアーキテクチャおよび命令セットの総称です。従来のTeraScaleアーキテクチャから刷新され、2011年に最初の製品が発表されました。
TeraScaleが採用していた
VLIW(超長命令語)
SIMD方式に対し、GCNはより現代的な
RISC SIMDマイクロアーキテクチャへと設計思想を転換しました。この変更により、回路規模は増大しましたが、特にGPUを活用した汎用計算(
GPGPU)の性能が飛躍的に向上しました。GCNはまた、効率的なテクスチャ処理とメモリ帯域幅の利用をサポートするHyperZ技術も実装しています。
GCNアーキテクチャは非常に広範なAMD製品に採用されています。具体的には、Radeon HD 7700シリーズ以降のディスクリートGPU、多くのRadeon R9/R7/R5シリーズ、そしてRadeon RX 200/300/400/500シリーズ、さらに高性能なVegaシリーズやRadeon VIIといった製品群に搭載されました。製造プロセスも28nmから14nm、そして7nmへと進化する過程で継続して採用されています。また、AMDのCPUとGPUを統合したAccelerated Processing Unit(APU)である「Temash」、「Kabini」、「Kaveri」、「Carrizo」、「Beema」、「Mullins」といったコードネームの製品や、
PlayStation 4|PlayStation_4および
Xbox Oneといった家庭用ゲーム機にも、それぞれの世代のGCNアーキテクチャが採用されています。
GCNの命令セットはAMDによって独自に設計されており、GPUの並列処理に特化しています。CPUの命令セットとは異なり、GPUの演算パイプラインに適した構造を持ち、一部の複雑なマイクロ演算は持たない仕様です。AMDはGCN命令セットに関する技術文書を公開しており、これに基づいてオープンソースの
コンパイラバックエンド(
LLVMなど)や、ハードウェア実装プロジェクト(MIAOWなど)が存在します。
高性能計算分野での活用も視野に入れられ、
CUDAアプリケーションの移植を容易にするための「Boltzmann」構想や、関連ツール(HCC、HIPなど)も発表されました。
GCN
マイクロアーキテクチャは複数の機能ユニットで構成されます。
- - グラフィックスコマンドプロセッサ (GCP): グラフィックスパイプライン全体の制御や、非同期シェーダーの管理などを担います。
- - 非同期コンピュートエンジン (ACE): GPUによる汎用計算タスクに特化したブロックで、グラフィックス処理と並行して非同期に演算を実行できます。
- - スケジューラ: 第3世代以降のハードウェアでは、シェーダー実行を管理するCUスケジューラとは別に、描画キューとコンピュートキューの実行優先度や順序を調整するハードウェアスケジューラが搭載されました。これにより、GPUリソースの利用効率が向上し、非同期コンピュートの性能が引き出されます。
- - コンピュートユニット (CU): GCNアーキテクチャの基本的な演算実行ブロックです。各CU内には、スカラ演算ユニット(SU)と、多数のレーンを持つSIMDベクタユニット(VU)が複数配置されています。VUは並列処理に特化し、サイクル毎に多数のデータ要素を同時に処理します。CUは独自のスケジューラや、データの一時保管に使用されるレジスタファイル、共有メモリなどを持ちます。
- - ウェーブフロント: GPUが同時に処理するスレッドのグループ単位です。GCNでは64スレッドで構成されます。これは、メモリ読み込みなどの待ち時間中に他のタスクを実行することで処理の遅延を隠蔽するための重要な仕組みです。複数のウェーブフロントが1つのSIMD-VUに割り当てられ、タスクの切り替えによってGPUの稼働率を高めます。これはNVIDIAのGPUにおける「ワープ」(32スレッド)に相当する概念です。
GCNアーキテクチャは、世代を重ねるごとに改良が加えられています。
- - 初代 (Southern Islands系): 64ビット統合仮想メモリ、PCI-E 3.0、PowerTuneなどをサポート。CU構成が特徴です。
- - 第2世代 (Sea Islands系以降): TrueAudioやPowerTuneの改良、シェーダーエンジン構造の追加などが行われました。
- - 第3世代 (Volcanic Islands系以降): テッセレーション性能向上、デルタ色圧縮、命令セット効率化、新しいマルチメディアエンジン(UVD 5.0/6.0)などを導入。高性能メモリHBMも採用されました。
- - 第4世代 (Arctic Islands系): 14nm/12nmプロセスに移行し、クロック周波数が向上。ハードウェアスケジューラ、プリミティブ破棄アクセラレータ、新型ディスプレイコントローラ、UVD 6.3といったハードウェア機能が追加・強化されました。
- - 第5世代 (Vega系): クロックあたりの命令数向上、HBM2サポート、Rapid Packed Mathによる低精度演算性能強化、新しいラスタライザ、プリミティブシェーダーなど、レンダリングパイプラインと演算性能が大幅に強化されました。特にVega 20では倍精度浮動小数点(FP64)性能も大きく向上しています。
GCNは、AMDがグラフィックスと
GPGPUの両分野で競争力を維持・向上させるための重要な基盤となり、様々な製品に搭載されて広く利用されました。その設計思想は、後継アーキテクチャにも引き継がれています。