Intel Architecture Day 2020 個人的まとめ ―― XeHP は 1-Tile 512EU、XeLPアーキテクチャ詳細

Intel は 2020/08/13 にバーチャルイベント「Architecture Day 2020」開催、次世代 CPU/GPU のアーキテクチャ詳細、次々世代 CPU/GPU の概要を発表した。

記事タイトルにある通り個人的なまとめであり、あえて取り上げていない内容もある。これまでの情報と結びつけるメモ書きに近い。
内容の網羅、特に Tiger Lake の詳細情報を望む方は以下を確認していただきたく思う。

Index

CPU

Alder Lake は Golden Cove と Gracemont のハイブリッド構成

ハイブリッドコア構成を採用する Alder Lake が、次々世代Coreアーキテクチャ Golden Cove 、次世代Atomアーキテクチャ Gracemont を組み合わせたものであることが明かされた。
性能ではクライアント向けをカバーしつつ、優れた電力比性能を発揮するとしている。

GPU

XeHP は 1-Tile 512EU

XeHP GPU はコアとなる Tile から構成され、Tile数は 1-Tile から 2-Tile、または 4-Tile となる。複数のタイルはマルチコアGPU であるように動作し、高いスケーリング性能を持つ。
複数の Tile は 1つのパッケージに収められ、Tile 間は EMIB 技術で接続される。
また、製造プロセスは Intel 10nm Enhanced SuperFin とされており、Tiger LakeDG1 の製造プロセスから次世代のものとされる。

そして、下記画像は、動画内で XeHP のスケーリング性能を示すデモを行なった時のスクリーンショットだが、ログの部分に Compute units: 512 と表示されている。

画像出典: VimeoArchitecture Day 2020 (Event Replay)

画像出典: VimeoArchitecture Day 2020 (Event Replay)

ログの内容から、実行しているソフトウェアは clpeak は思われる。先日、自分が RX 560 で CU数のスケーリング性能を調査した時にも使ったもので、ログのフォーマットが一致する。

  Platform: AMD Accelerated Parallel Processing
    Device: gfx803
      Driver version  : 3137.0 (HSA1.1,LC) (Linux x64)
      Compute units   : 16
      Clock frequency : 1196 MHz

      Single-precision compute (GFLOPS)
        float   : 2356.53
        float2  : 2314.70
        float4  : 2265.87
        float8  : 2248.82
        float16 : 2207.62

この時 Compute units の行に表示されるのは、シェーダープロセッサ数ではなくそれを多数内包する CU (AMDGPU)、EU (Intel GPU) の数だ。
よって、XeHP は 1-Tile 512EU と考えられる。

ただ、RX 560 を使った調査の時にも書いたが、clpeak はメモリ性能が影響しないベンチマークソフトウェアであり、それもあって性能が単純にスケーリングしやすくなっている。
マルチGPU構成であっても性能がスケーリングすることを示す目的があるのかもしれないが、もっと大規模な、メモリが重要となるソフトウェアの場合、どこまでスケーリングするかはデモから測ることができない。

ゲーミング向け Intel GPU XeHPG

ゲーミング向けに最適化された Xe 系アーキテクチャ、XeHPG の存在が明らかにされた。
XeLP の優れた電力比グラフィック性能、XeHP のスケーリング性能、XeHPC の最適化された周波数を組み合わせたアーキテクチャとしている。
メモリには帯域と帯域あたりの消費電力に優れる HBM系ではなく、コスト比に優れる GDDR6 を採用するとしている。
ハードウェアレイトレーシングもサポートし、その他グラフィック向けの機能も多くサポートする。

外部ファウンダリによって製造され、2021年に出荷予定。

XeLP アーキテクチャ詳細

これまでにもちょくちょく OSS から判明した XeLP /Gen12アーキテクチャ の構成を記事にしてきたが、今回公式により詳細が語られた。

EU部は前世代の Gen11アーキテクチャ が以下のように、Thread Control を EUごとに持ち、演算部が 4-wide FP/INT ALU4-wide FP/Extend Math ALU となり、浮動小数点演算では SIMD8 を構成していたのに対し、

画像出典: VimeoArchitecture Day 2020 (Event Replay)

画像出典: VimeoArchitecture Day 2020 (Event Replay)

Gen12アーキテクチャ では、Thread Control が 2つ EU をペアとし、またがるものとなった。
演算部は、8-wide FP/INT ALU で SIMD8 を構成するものとなり、データ精度 INT16 を INT32時の 2倍、INT8 は 4倍のスループットで処理可能となった。複雑な計算を処理する Extend Math ALU は EU ごとに 2-wide となり、そこは Gen11アーキテクチャ より減っている。

画像出典: VimeoArchitecture Day 2020 (Event Replay)

画像出典: VimeoArchitecture Day 2020 (Event Replay)

キャッシュ構成としては、Sub-Slice 内に L1 Data Cache(L1/Tex$) が新設され、L3 Cache は最大 16MBを取ることが可能となっている。DG1は以前より L3 Cache 16MB であることが判明していたが、それが XeLP アーキテクチャとして最大の容量であるようだ。1

画像出典: VimeoArchitecture Day 2020 (Event Replay)

画像出典: VimeoArchitecture Day 2020 (Event Replay)

この L1 Data Cache だが、ブロック内には L1/Tex$ とあり、これまで Sampler部に含まれていた Tex$(Texture Cache) を汎用的に使えるよう移動させたと考えていいのだろうか。

EU、Texture Sampler、Pixel Backend 等のコア/エンジン部は前世代から 1.5倍の規模となった。
ただ Pixel Backend に関しては、DG1TGL GT2intel/compute-runtime から前世代と変わらない 16 pixels/clock であるように読めるが2、果たして単なる自分の読み違いか、それとも 24 pixels/clockXeLP アーキテクチャベースの GPU が別に存在するのか。

画像出典: VimeoArchitecture Day 2020 (Event Replay)

画像出典: VimeoArchitecture Day 2020 (Event Replay)

また、OSS 等では XeLP /Gen12アーキテクチャ より、Sub-Slice ではなく Dual Sub-Slice と記述されるようになったが、その真意は明らかにはならなかった。
Texture Sampler は 12 Sub-Slices (6 Dual Sub-Slices) 相当であるため、グラフィック部を減らし、Sub-Slice 内の EU を増やすことでコンピュート性能重視とする策とも違うだろう。
新設された L1 Data Cache を共有する単位としての Dual Sub-Slice なのだろうか?

XeLP ベースのサーバー向けGPU SG1

Tiger Lake GPUDG1 同様に XeLP アーキテクチャ をベースとする、サーバー向けのディスクリートGPU SG1 (Server GPU) の存在が明らかにされた。
小型フォームファクタで構築するデータセンターや低レイテンシで高密度な Android 向けクラウドゲーミング、映像ストリーミングサービスをターゲットとしている。

今年後半に出荷される予定であり、まもなく生産を開始するとしている。

(追記)

AnandTech によると、SG1DG1 と同じシリコンダイ 4個を 1つのボードに搭載する形で製品化されるとのこと。
Intel’s SG1 is 4x DG1: Xe-LP Graphics for Server Video Acceleration and Streaming

てっきりメディア部を異常に強化させたXeLP ベース GPU かと思っていた。

(追記終了)

Update:
 2020/08/22 11:23 JST