Coelacanth's Dream

Intel のマルチタイル GPU をサポートするパッチが投稿される

intel-gfxメーリングリストに、Linux Kernel に Xe-HP のようなマルチタイル構成を採る GPU の初期的なサポートを追加するパッチが投稿された。

Xe-HP 含め、今後の Intel GPU プラットフォームではマルチタイル構成が採られ、そこでは複数の GPUタイル (ダイ) とそれぞれに接続されたローカルなメモリが存在する。
今回のパッチは初期的なサポートを追加するもので、複数のタイルで構成されながら単一の GPUデバイスとして認識される完全なマルチタイルプラットフォームのサポートにはさらなる作業、特にローカルメモリに関する作業が必要だと語られている。
なお、パッチ中では GT という単語が使われているが、Graphics Technology の略であり、Intel GPU ドライバーでは単に GPU を指す際に用いられる。1

AMD CDNA 2 アーキテクチャ を採用すると目される AMD Aldebran/MI200 GPU もまた 2基の GPUダイで構成される。
プライマリーダイとセカンダリーダイで構成される Aldebaran/MI200 GPU | Coelacanth’s Dream ダイ・チップレット・タイルと用語がバラバラに使われているが、Raja Koduri 氏は以前 Intel 社内ではバンプピッチ 55um以下の高密度実装を必要とするシリコンを「タイル」、標準的なパッケージに実装されるシリコンを「チップレット」と、区別していると語っていた。2
バンプピッチ 55um以下の高密度実装には EMIB、Foreros が該当し、Xe-HP では各 GPUダイが EMIB で接続されるため「タイル」と呼ぶのが適当となる。
AMD はまだそうした使い分けに関しては触れていない (と記憶している) が、パッチやオープンソースドライバー中では主に「ダイ」が使われている。

マルチダイ/タイル GPU のソフトウェアサポート

マルチダイ/タイル構成を GPU に導入する上で、ソフトウェア、ドライバーにおけるサポートは Intel, AMD で共通する部分がある。
今回のパッチで Matt Roper 氏は、複数のタイルで構成されることはユーザースペース、UMD (User Mode Driver) に対して透過的であり、直接意識する必要はないとコメントしている。これはマルチダイ/タイル GPU のプログラミングモデルを簡易にしつつ、性能を引き出す上で重要となる。
KMD (Kernel Mode Driver) が複数のダイ/タイルを意識し、ユーザースペースには単一の GPU であるように見せる。
また、CPU と接続されるダイ/タイルはプライマリ/ルートと呼ばれる。

 Only the primary/root tile is initialized for now; the other tiles will
 be detected and plugged in by future patches once the necessary
 infrastructure is in place to handle them.

こうした点は AMD Aldebaran/MI200 においても同じであり、Aldebaran/MI200 はプライマリダイとセカンダリダイで構成される。そして、AMD のマルチダイ構成における関連特許から、単一の GPU として認識されると考えられる。
プライマリーダイとセカンダリーダイで構成される Aldebaran/MI200 GPU | Coelacanth’s Dream Aldebaran/MI200 は CPU とも XGMI/Infinity Fabric で接続し、CPU と GPU のメモリ空間を統合する 3rd Gen Infinity Architecture を想定している関係で、サポートにおいてドライバー部に必要な変更は Xe-HP よりも広い。

マルチダイ/タイル構成では、単一の GPU に見せつつ、処理をいかに各ダイ/タイルに分散し、メモリアクセスを最適化するかが重要になると考えられる。
ただ、Intel, AMD 共にまだ分散処理の全容は明かしていない。
Aldebaran/MI200 ではプライマリダイが、セカンダリダイと合わせたソケットレベルの電力情報を返すことから、分散処理以外に GPUダイ間のみでそれぞれの温度や電力情報をやり取りしていると推測される。
プライマリーダイがまとめて電力情報を報告する Aldebaran/MI200 GPU | Coelacanth’s Dream

マルチダイ/タイルの統合を、どこまでハードウェア側で行い、どこまでを KMD で行ってユーザースペースに見せるかは今後も Intel, AMD で実装が分かれていくと思われる。