2020年8月にバーチャルで開催された「Hot Chips 32」において、Intelは新GPU「Xe」の詳細を発表した。同社の第1世代Intel Graphicsはディスクリートだったのであるが、その後チップセットになり、2011年の第6世代からはCPU内蔵型のGPUになってしまった。
-
初期のIntel Graphicsはディスクリートであったが、2世代目からはチップセットになり、6世代目以降はCPUに組み込まれる形態になってしまった。しかし、ここでXeの登場である (このレポートのすべての図は、バーチャル開催となったHot Chips 32の発表ビデオを画面キャプチャしたものである)
ハイエンドのディスクリートGPUで大きな売り上げをあげているNVIDIAやAMDを横目で見ながら、GPUでビジネスをする機会を虎視眈々と狙ってきたIntelが打ち出した新GPU戦略がXeである。
4つのマイクロアーキテクチャで構成されるXe
Xeは単一のGPUアーキテクチャであるが、次の図のように、4つのマイクロアーキテクチャからなっている。4つのマイクロアーキテクチャは、上の方から「XeHPC」、「XeHP」、「XeHPG」、「XeLP」と名付けられている。
HPCはスパコンなどの科学技術計算やAIに使われるハイエンドのGPUで、HPは高性能のデータセンタ向けのGPU、HPGはコアゲーマーなどのヘビーユーザ向けのGPU、LPは低電力のGPUボードや内蔵GPUに使うという使い分けのイメージである。
-
Xeアーキテクチャは1つのGPUアーキテクチャであるが、用途別に、上位から順にHPC、HP、HPG、LPという4つのマイクロアーキテクチャの製品が作られる。HPCはエクサスケールのスパコンに使われるもので、HPはデータセンタやAI用である。また、HPやHPGはコアゲーマーからミッドレンジのユーザ向けでもある。LPは低電力で、エントリ用のGPUボードや、現在と同じようにCPU内蔵GPUとして使われる。この4つのマイクロアーキテクチャでTFlopsからPFlopsの性能領域をカバーする
次の図はXe GPUのハイレベルのアーキテクチャを示す図で、一番上に、コマンドを処理する「Command Front End」が描かれている。その下に、3D/Computeスライスとメディアスライス、メモリファブリックと書かれた3つのハイレベルの大きな箱が描かれている。3D/Computeスライスはジオメトリシェーダを構成する演算器を中心とするブロック、メディアスライスは、ピクセルシェーダなどを構成する部分である。メディアファブリックと書かれた部分は、その中にキャッシュとIOが描かれており、他の部分が使うデータの一時格納と、GPUチップ外のDRAMメモリとのデータのやり取りを担当する部分である。
ユニファイドシェーダの中心をなす3D/Computeスライス
次の図は3D/Computeスライスの中身を示す図で、16個のEUアレイを含んだサブスライスが並んでいる。そしてサブスライスの上にはジオメトリ、ラスタ、ピクセル ディスパッチという固定機能ブロックが描かれている。そして、サブスライスの下にはピクセルバックエンドと書かれたブロックが並んでいる。この部分にはカラーのブレンドやZバッファ処理などの機能が入っていると考えられる。
ここで、面白いのが、ジオメトリ、ラスタ、ピクセル ディスパッチ、ピクセルバックエンドのブロックが破線で囲まれたオプションのブロックとなっている点である。これらのオプションが搭載されていないといわゆるGPU的な描画は出来ないのであるが、Intelは計算オンリーのXeも視野に入れているのであろうか?
-
3D/ComputeサブスライスはGPUの計算パワーの中心となる部分で、Xeのサブスライスは16個のEUを含む。サブスライスの数は用途に応じて変わる。それ以外に、ジオメトリの処理ブロック、ラスタライザ、カラーブレンド、Zbuffなどの固定機能のブロックを含む
GPU機能をまとめたXeサブスライス
グラフィック向きの機能を担当するのがXeサブスライスである。このサブスライスは、16個のEUにロード/ストアユニットが付き、スレッド発行、命令キャッシュとL1/テクスチャキャッシュ、ローカルメモリが含まれている。そして、オプションとして、サンプラ、メディアサンプラ、レイトレースユニットが付けられるようになっている。
-
Xeサブスライスには、命令キャッシュ、スレッド発行、L1やテクスチャキャッシュ、ロードストアユニットと、高性能ではないが、一通りのGPU機能が揃っている。したがって、Xeサブスライスを1個入れて、後は性能を高めたいサブスライスを必要個数入れるというアプローチが可能である
計算処理を担当するEXecution Unit
次の図は、EUの内部構造を示すものである。XeのEUは、スレッド制御、レジスタファイル、分岐ユニット、センドユニットと複数の命令発行ポートを持っている。そして、ベクトル実行パイプに組み込む各種演算器を備えている。演算器は浮動小数点、整数、拡張演算、オプションでFP64(倍精度浮動小数点演算)や行列拡張演算器が装備できるようになっている。
ビデオなどのメディア処理を受け持つメディアスライス
そして、特別な位置づけのメディアスライスがある。メディアスライスには、マルチフォーマットのメディアのエンコード、デコードを行うMFX機能ユニット、スケーリングやフォーマット変換を行うSFC機能ユニット、ビデオの画質を改善するVQEエンジンなどがある。