「Zen 5」Deep Diveレポート #2 - Ryzen AI 300の正体とRDNA 3.5&XDNA 2
![](https://image.news.livedoor.com/newsimage/stf/0/c/0cdf1_1223_563a9d8c439300ffbcf12f399eb122da.jpg)
こちらではDiscreteのRyzen 9000シリーズ(と、ちょっとだけGen 5 EPYC)の説明を行ったので、もう一つの製品であるRyzen AI 300シリーズの方をご紹介したいと思う。といっても、まだStrix Pointの完全な内部構造の説明は無く(Photo01)、部分的な要素に関する説明と簡単なベンチマーク結果のみである(Photo02〜04)。こちらの完全版は、評価キットにあわせて公開されるのではないかと思う。その一方で、RDNA 3.5の簡単な説明、それとXDNA 2の説明は行われたので、こちらをご紹介したいと思う。
![](https://image.news.livedoor.com/newsimage/stf/3/0/30425_1223_e39721bf8bdd6f9c3429cb23dd442586.jpg)
![](https://image.news.livedoor.com/newsimage/stf/7/2/727d7_1223_d3ba1a576ab54508e727b0b2f557918b.jpg)
![](https://image.news.livedoor.com/newsimage/stf/9/2/92c51_1223_4e81063d87d1c8e2c26be4928af27cb0.jpg)
![](https://image.news.livedoor.com/newsimage/stf/e/6/e6c0b_1223_c8278b1348267bf2b298e742a84a0ce8.jpg)
Zen 5+Zen 5C
Ryzen AI 300シリーズは、Hawk Point同様にZen 5とZen 5cのHybrid構成である。これに関してはAMDに確認し、
The Ryzen AI 370 has 4 Zen 5 cores and 8 Zen 5c
The Ryzen AI 365 has 4 Zen 5 cores and 6 Zen 5c
という返答を貰っているので間違いない。Photo00は以前AMDが示したRyzen AI 300の内部構造だが、よく見るとZen 5cのエリアとZen 5のエリアではCPU Coreの映像が異なっているのが判る。またShared L3に関しても、Zen 5の方は4coreにも拘わらずZen 5c×8coreの2倍になっている。
恐らくであるが、Zen 5cはZen 4cと同様に論理設計そのものはZen 5と同じで
L3のサイズを1/4に減らしている
物理設計を、省電力/省エリアサイズ向けに振っている
という形でZen 5コアと違いを出しているものと考えられる。これにより、動作周波数が低いところではZen 5コアよりも省電力に動作する一方、動作周波数の上限は当然低いものになると考えられる。この辺の細かいプロファイルまでは今回説明されていない(今年のHotChipsあたりで何か出てくるといいのだが)。
RDNA 3.5
こちらの記事でも触れた様に、Ryzen AI 300に搭載されるRDNA 3.5ベースのGPUは、RDNA 3をよりIGPUに最適化した構成という話であった。その具体的な項目がこちら(Photo05)である。Texture SampleとInterpolation/Comparisonの性能を倍増というのは、要するにCU数が少ない時にはこれがボトルネックになりやすいので、それを補ったという意味だろうか? 一方でMemory Managementの管理は判りやすく、LPDDR5へのアクセスの最適化というのは、多分アクセス単位を16bitにしたというあたりではないかと思う。加えてメモリアクセスの方法を効率化すると共に、圧縮メカニズムの改良で、より少ないメモリ帯域で利用できる(=同じメモリ帯域なら、より性能を上げられる)様になったという事かと思われる。結果として同じ15W枠の中で、従来比で19〜32%の性能向上が実現した、としている(Photo06)。
![](https://image.news.livedoor.com/newsimage/stf/9/e/9ee25_1223_9ec6191bed2fe08a0c5b4896c6213fde.jpg)
![](https://image.news.livedoor.com/newsimage/stf/d/d/dd32b_1223_96d8f3f9328aac0ac8d06e6323dacc8b.jpg)
XDNA 2
XDNA 2のベースとなるのが、今年4月に発表されたVersal AI Edge Gen2に搭載された第2世代AI Engineであるという話はこちらで触れた。これ、世代的には第3世代になる製品である。初代のAI EngineはVersal AI Coreに搭載されたものであり、これを改良してInferenceの性能を高めたのがVersal AI Edgeに搭載されたAI Engine-MLである。そのAI Engine-MLを改良したのがVersal AI Edge Gen2に搭載されたAI Engine-ML v2となる訳だが、基本的な構造は初代のAI EngineからAI Engine-ML v2まで違いが無く、VLIW-SIMD形式のAIE Tile(AI Engine Tile)とMemory Tile、それと外部との接続を担うNoC Shim Tileから構成される(Photo07)。異なるのはMem Tileの数とかAIE Tileの数、それとAIE Tileで扱えるデータ型などとなる。このAIE TileはMesh構造で接続され、AIE Tile同士はデータフロー的に動作する事が可能であり、また複数の領域にPartitioningして、それぞれ別のNetworkを動かすという事も可能である(Photo08)。ただ大規模なNetworkでは、時分割する形での利用も可能となっている(Photo09)。
![](https://image.news.livedoor.com/newsimage/stf/a/8/a887e_1223_02d0e379f28af760c6d610753c99039d.jpg)
![](https://image.news.livedoor.com/newsimage/stf/3/5/354a9_1223_0b46833851edd47575c40c465c5b9bf8.jpg)
![](https://image.news.livedoor.com/newsimage/stf/0/d/0d6c5_1223_f524905a5f6c13d77c64be97e493b7c9.jpg)
内部構成がこちら(Photo10)で、AIE Tileが32に増強されているほか、いくつかの相違点がみられる。前世代、つまりPhoenix Point/Hawk Pointに搭載されたXDNAとの違いを示したのがこちら(Photo11)である。ここで10TOPS→50TOPSという数字の根拠であるが、そもそもAIE-MLの性能というのはこちらを見る限りINT 8でTileあたり512Ops/Cycleとされる。
![](https://image.news.livedoor.com/newsimage/stf/d/7/d7efd_1223_769f212aa48097ccfeb38452c886d211.jpg)
![](https://image.news.livedoor.com/newsimage/stf/4/0/40a0d_1223_29868dd3657b51d14c34c3a923a4019e.jpg)
Phoenix PointのNPUが1GHzと仮定すると性能は512TOPS×20Tile×1GHz=10.24TOPSである。Hawk Pointだと動作周波数が1.6GHzで16.4TOPSほどになる計算だ。同じようにXDNA2を1.5GHzと仮定して計算すると24.6TOPSほどになるが、Sparsityを利用した場合は最大2倍の性能になるということで、ピーク性能はこの2倍の49.2TOPSほどになる。動作周波数がHawk Pointと同じ1.6GHzなら52.4TOPSほどになり、これはちょっと数字が大きすぎる。1.5GHzあたりを想定しておくのが無難だろう。とはいえこの試算が正しいとすれば、Sparsityが利用できない場合はHawk Pointの1.5倍程度のNPU性能にしかならない訳だが、これで十分かどうか?はCopilot+のModelというかNetwork次第である。今回AI PC向けと銘打って発売されており、その中でMicrosoftと共同でこの辺りを確認している以上、多分性能的に足りているのだろう、と判断するしかない(それだけCopilot+のModelは疎なもの、ということだろうか?)。
もう一つの特徴がBlock FP16である。これも先のレポートではMXFP8ではないか?と書いた。そのMXFP8であることは正しかったのだが、E5M2やE4M3ではなく、E8M0だったのが正解であった(Photo12)。OCP Microscaling Formats (MX) Specificationから当該箇所を抜き出したのがこちら(Photo13)であるが、要するに8つの値を一つの塊(k=8)としたうえで、個々のelementは符号+仮数部とし、共通のX(shared scale)に指数部を置いた形になる。こうなるとこの8つの値は共通の指数部を持つことになるので、あまり激しくデータがバラつくケースでは精度が落ちるが、似たような値であれば十分な精度になるという訳だ。BF16(符号+仮数部7bit+指数部8bit)と同じ精度を保ちながら、データ量をほぼ半減(厳密に言えば72bit÷128bit=0.5625なので、4割減といったところか)させることが可能になった、というものである。そして演算そのものは(指数部の部分を除くと)8bit演算で済むから、INT 8の場合と同様にピークで50TOPSが出る、としている(Photo14)。
![](https://image.news.livedoor.com/newsimage/stf/c/6/c660a_1223_0f354d0c67ac03bfb1a40b96f666991e.jpg)
![](https://image.news.livedoor.com/newsimage/stf/d/0/d0d8b_1223_90969a3f9c612ff3d9d25f07b9175996.jpg)
![](https://image.news.livedoor.com/newsimage/stf/7/0/709a6_1223_1d6365279824b33310ad034fc7d77107.jpg)
ちなみに今後のロードマップとして、2026年までにXDNA 3が登場するとしている(Photo15)。ただしこれはClient-NextだけでなくVersal-Nextも含まれており、またVersalシリーズと歩調を取って投入されることになると思われる。
![](https://image.news.livedoor.com/newsimage/stf/5/f/5f8ad_1223_178444924db74ea086395561ef9d6f41.jpg)