Vega 10と根本的に異なる点があるとすれば、Interconnect周りである。ポイントは次の2つ。

  • CPUとの接続はPCI Express Gen4に、さらにCCIX 1.0に準拠。PCI Express Gen4での接続時の帯域は64GB/secに。
  • GPU同士の接続はInfinity Fabricになり、4つのVega 20までをひとかたまりとして接続できる。帯域は双方向で100GB/sec。

まずPCI Expressについては、順当にGen4をサポートした。興味深いのはCCIX 1.0も同時にサポートしたこと。CCIXを利用することでホストとキャッシュコヒーレンシを取ることも可能なのだが、現時点ではこの機能は提供されない。

なぜかというと、まだCCIXのホスト側のスタックが用意できてないうえ、既存のROCmがCCIXに未対応だからという話であった。CCIXはアプリケーションから見るとドライバレス(ドライバをAPI経由で叩くのではなく、メインメモリを参照するのと同じ様にメモリアクセスすると、CCIXでつながった先のアクセラレータのローカルメモリを参照できる)で動作するので、逆にROCmなどではそのまま動かすわけにはいかないという問題がある。

ちなみにCCIX 1.0では最大25GB/sec(転送速度を25GT/secまで引き上げてPHYが動作する)の動作がサポートされるが、Vega 20でこれが可能かどうかは不明である。

一方のInfinityFabricは、Vega 20同士をRing Busの構造で最大4つまで接続可能となっている。転送速度は100GB/sec、信号は16対の構成になっており、信号速度は50GT/secという計算になる。

  • Photo09:信号速度が非常に速いため、4つを超えるVega 20(というかRadeon Instinct)を接続しようとすると配線長の問題とか信号劣化の問題がシビアなのが、この制限につながっていると思われる

EPYCなどでは1システムで最大8枚までGPUカードを接続できるが、その場合はPhoto10のように、4枚づつ2つのクラスタに分離して接続するという構成である。このケースでは、4枚のVega 20は、それぞれお互いのLocal MemoryをCache Coherencyで共有できるので、それぞれのVegaからはトータルで128GBのLocal Memory(というか、HBCCのLocal Cache)が見える形になる。

  • Photo10:3Uシャーシに8枚のRadeon Instinctを実装した例。ちなみにカードを横倒しにして実装した例もあった

ただ「8枚で256GB」という風にいかないのは。2つのクラスタの間はPCI Expressで接続されているから。将来ここがCCIXに切り替わることがあれば、256GBの共有キャッシュが見えるようになるかもしれない。

さてそのInfinityFabric、カード側は結構な大きさの独自コネクタが用意され(Photo11)ており、これを専用のブリッジ(Photo12)でつなぐ。さすがに50GT/secをメタル配線で通そうというだけのことはあり、シールドはかなり厳重に行われていた。

  • Photo11:長さ的にはPCI Express x16と同じ程度だが、ピンのPitchはもっと細かかった。恐らくGNDをふんだんに配してノイズ対策に努めていると思われる

  • Photo12:これは4スロットの物だが、2スロット版もあった。こちら側もブリッジ表面には電磁シールドと思しきカバーが被せられていた。途中のバッファと思われる回路のあたりにジャンパ線が飛んでいる