週刊アスキー

  • Facebookアイコン
  • Twitterアイコン
  • RSSフィード

CDNA3のホワイトペーパーで判明した「Instinct MI300X/A」の性能 AMD GPUロードマップ

2023年12月25日 12時00分更新

Instinct MI300Aは
MI250Xから28%ほどの性能向上

 次はInstinct MI300Aである。何度か書いたが、XCD×6+Zen 4 CCD×3という構成であり、これが4つのIODの上に載る形になる。XCDが載るIODはInstinct MI300Xと共通と思われるが、Zen 4 CCDが載る方は専用のIODを開発したものと思われる。

 XCDのスペックそのものはInstinct MI300Xと同じであり、動作周波数も2.1GHzと発表されている。ただしCU数はInstinct MI300Xの4分の3になる228個となっており、この結果処理性能は下表となる計算だ。Instinct MI250XのVector FP64が47.9TFlopsだったので、28%ほどの向上に留まることになる。

Instinct MI300Aの処理性能
Vector FP64 61.3TFlops
Vector FP32 122.6TFlops
Matrix FP64 122.6TFlops
Matrix FP32 122.6TFlops
Matrix FP16/BF16 490.3TFlops
Matrix FP8 1961.2TFlops
Matrix INT8 1961.2TOPS

 ちなみにこの計算にはZen4コアの分は含まれていないが、実際にはZen 4コアは先程も書いたようにGPUに対してのコマンド発行やキャッシュのプリフェッチなどの作業がメインとなるので、ここはあまり考えなくて良いように思われる。

 むしろ興味深いのはインフィニティ・キャッシュの位置付けである。ホワイトペーパーには明白に「MI300A APUでは、XCDとCCDの両方がインフィニティ・ファブリック経由でインフィニティ・キャッシュと8層のHBM3の両方を共有する」と記載されており、ということはXCDから見ればインフィニティ・キャッシュは3次キャッシュとして見えるがZen 4 CCDからは4次キャッシュとして見えることになる。

 問題はこのZen 4 CCDから扱う場合の話である。Zen 4には4次キャッシュのプリフェッチを制御するような命令はそもそも含まれていない「はず」であり、だからといってインフィニティ・キャッシュがZen 4 CCDから完全に透明に見える(=触れない)わけでもないだろう。

 おそらくはIODの側に、インフィニティ・キャッシュのプリフェッチを制御するようなレジスターが追加されており、これを操作する形になるのではないかと思うが、このあたりに関する詳細は今のところ明らかにされていない。

 Instinct MI300XとInstinct MI300AはこのXCDの数やCCDの搭載、それとHBM3の容量(12層→8層になり、HBM3は1つあたりの容量が24GB→16GBになっている)のほかに、外部I/Fの違いがある。

 Instinct MI300Xは7×インフィニティ・ファブリック+PCIe Gen5 x16という構成だったが、Instinct MI300Aは4×インフィニティ・ファブリック+4×PCIe Gen5 x16になっており、システム構成も下の画像のとおり。

黄色のインフィニティ・ファブリックが2本づつになっているが、別にこれは2レーンを並行させて使っているわけではなく、単に目立たせているだけだと思われる。それぞれのインフィニティ・ファブリックは16レーンだ

 もっとも実際はインフィニティ・ファブリックにもPCIeにも使えるPHYが搭載されており、あとはどっちを選ぶかというだけであろう。

 インフィニティ・ファブリックが4ch分ということは、無理なく構成できるのは上の画像の4 APUの密結合構成で、これを超える例えば8 APUなどを構成しようとすると昔の8P Opteronのように非対称構成になって、レイテンシーがややこしくなるのでHPCには向かないように思われる。ノード間の通信のレイテンシーのばらつきが大きくなり、結果として一番レイテンシーの大きいところに合わせて同期することになるので性能が低下するからだ。

 この構図は、ローレンス・リバモア国立研究所に納入されるEl Capitanの構成にかなり近い。連載726回の際に行なったEl Capitanの推定は数字が間違っており、FP64 Vectorは61.3TFlopsでしかないから、1ノードが4つのInstinct MI300Aだとすると(*1)、ノードあたりの性能はFP64 Vectorで245.2TFlops。1枚のブレードに2ノードが実装されるので、ブレードあたり490.4TFlopsという計算になる。

 つまりブレード2枚で約1PFlops。2040枚で1EFlopsを超える。El Capitanの目標性能は「2EFlops超え」であって、最終的にシステムが理論性能でどの程度まで積み上げるつもりなのかは不明だが、Frontierが理論性能で1.68PFlops程度であることを考えると、仮に2.1EFlops程度をターゲットにしたとすれば4283ブレード、8566ノード程でこれを達成できる計算になる。Frontierのノード数は9216だったので、これは十分に可能性がある構成だ。

 ちなみに上の490.4TFlopsという数字はGPUが2.1GHz駆動の場合の数字だが、Frontier同様にこれを引き下げて使う可能性も十分にある。というのはInstinct MI300Aの最大電力は550Wあるいは760Wと記されている(*2)からで、550Wとは言わないまでも600Wあたりまで下げられればかなり性能/消費電力比は向上しそうに見える。

 問題はどこまで動作周波数を下げればこれが実現できるか? で、2GHz駆動でこれが可能なら、ノード数は9000弱(8995ノード)でギリギリ、理論性能2.1 EFlopsのマシンができあがる格好だ。

 今年10月には、ローレンス・リバモア国立研究所が“Building El Capitan: How LLNL’s Exascale Supercomputer Came to Be”と題する動画をYouTubeに上げており、すでに順調に設置がスタートしていることをうかがわせる。来年のTOP500では、フル稼働体制になったであろうAuroraとの一騎打ちになるわけで、今から結果が楽しみである。

(*1) 連載726回のスライドが正しいとすれば、Instinct MI300A×4+Gen 4 EPYC×1になるのだが、EPYCは無視する。
(*2) AMDのウェブサイトの記述はTDP 550W/瞬間最大電力760Wでこちらが実情に近い気がする。

この記事をシェアしよう

週刊アスキーの最新情報を購読しよう

この連載の記事