`

AMDは、「AMD Advancing AI 2026」において「Instinct MI455X」と「Helios」をまとめて説明を行ったのだが、Instinct MI455Xだけで項目が多くなりすぎたのでHeliosに関しては項を改めて説明させていただくことにした。

Previewから1年、Heliosの構成がより明確に

Heliosという名称そのものは、2025年のAdvancing AIでPreviewが示されたのが最初である(Photo01)。

  • Compute Tray/Switch Trayの数はあってる

    Photo01:Compute Tray/Switch Trayの数はあってるが、その上下は適当というか、そもそもラックの高さそのものが合ってない

この時は本当にPreviewというか、Heliosという名前だけといった感じだった。ただその後、2025年11月に開催されたFinancial Analyst Dayではもう少し細かな情報が出てきており(Photo02)、そして2026年1月のCESで内部構造に関する簡単な紹介が行われた。この内部構造の説明は、吉川明日論先生の記事が詳しいので、そちらをご覧いただくのが良いかと思われる。

  • ラックのイメージが大分製品に近づいた感がある

    Photo02:ラックのイメージが大分製品に近づいた感がある。また次世代Rack Solutionへの言及も

そして今年1月のCESの基調講演ではHeliosラックの実物も公開された(Photo03)。

  • 改めて見るとデカい

    Photo03:改めて見るとデカい。これだけ大きいと、一人で持ち上げるのは難しそうな重さに思える

ついでに言えば、今年のAdvanced AIではMI455Xはこんな感じで詳細が判りにくかったが、CESではこんな具合にチップを示している(Photo04)。

  • Lisa Su CEOが辛うじて片手で握れるくらいに大きい

    Photo04:こちらもLisa Su CEOが辛うじて片手で握れるくらいに大きい

Venice CPUとInstinct MI455XはInfinity Fabricで接続

さてそんなHeliosであるが、今回構造がもう少し明確になると共に、内部のNetwork構成が明らかにされた。まずCompute Trayについて。前回の記事でも紹介したが、内部構造はこんな感じである(Photo05)。

  • UALink 128G

    Photo05:Volcano 800がUALink 1.0ではなくUALink 128Gというのも驚きだが。あとAMDは“UALink 128”と表記しているが、“UALink 128G”が正確である

これをもう少し判りやすくしたのがこちらの図(図1)だ。

  • Heliosの内部構成のイメージ

    図1:Heliosの内部構成のイメージ

まずVenice CPUとInstinct MI455Xの間はInfinity Fabricでの接続である。こちらは双方向で256GB/secと説明があるので、つまり片方向当たり128GB/secで、PCIe Gen6 x16と同じ帯域になっており、実際PHYはPCIeと同じモード(64Gbps)で動作するものと思われる。ちなみにVeniceにはPCIe(恐らくx8接続)で400GbpsのEthernetであるPensando Salina 400 DPUが接続されている。これはFront-End用の接続用である。

Scale-out用にPensando Volcanoを配置する意図

ここまではいいのだが、Pensando VolcanoがScale-out用として位置づけられていたのがまず最初の驚きである。というのはPensando VolcanoはUALink用のEthernetとして説明されていたからだ。UALinkはScale-up用のNetworkとしてUALink Consortiumが標準化をしているものだからだ。ところがPhoto05にもあるように、明確にScale-out用と記述されているのが判る。ただそもそもScale-out用ならUALinkにする理由がない事になる。なぜScale-out接続にUALinkを使う事にしたのか、が現時点では判断できない。ただScale-outとFront-Endを分けている事を考えると、このScale-out NetworkはあるいはHelium同士の接続を想定しているのかもしれない(後述)。

UALink 128G採用の背景を考える

もう1つの驚きは、UALink 128Gを採用した事だ。UALink 128Gは2025年7月に1.0がリリースされた仕様だが、これに先立ちUALink 200Gを2025年4月にリリースしている。もちろんこれは1.0での日付であって、Initial Release(0.7)で言えばUALink 128Gは2025年5月、UALink 200Gは2024年10月である。Pensando Volcanoの開発時期を考えると、UALink 128Gは結構厳しいというか、先にAMDがUALink 128G相当の規格をベースにVolcanoの開発を進めたうえで、これと並行してUALink 128Gの標準化をUALink Consortium内で行ったといった「稀に良くある」アクロバティックな技が使われたのかもしれない。

ちなみにUALink 200GとUALink 128Gの最大の相違点は物理層である。UALink 200Gは100GBASE-KR1/CR1や200GBASE-KR1/CR1をベースに、100/200/400/800Gbpsでの伝送を可能にする規格である。対してUALink 128GはPCIeをベースにしており、2.5G/32G/64G/128Gの各転送速度をサポート(なぜか5G/8G/16Gは未サポート)で、x8構成を基本にする(これも1x8/2x4/4x2がサポートされる)。Photo05を見ると、UALink 128Gが双方向256GB/secの帯域とされており、つまりInstinct MI455XとPensando Volcanoの間は128Gbps x8、もしくは64Gbps x16での接続のどちらかと考えられる。AMDはまだ現状112Gbpsまでの速度のPHYしか利用していない可能性が高いので、どちらかといえば64Gbps x16の公算が高いように思われる。

Scale-up接続には独自実装のUALoEを採用

そして最後がScale-up接続用のUALoEである。UALink over Ethernetの略であるが、少なくともこれは現時点でまだSpecificationはリリースされていない、いわば独自実装である。理屈は簡単でUALinkのプロトコルをEthernetの上に通す「だけ」なのだが、言うほど簡単ではない。おまけにPhoto05にもあるように、1枚のEAM(Enterprise Accelerator Module)から36本のUALoE Linkが出ており、これが12個のSwitchと相互接続する形になっている。問題はこれがどういう構成になっているのかよく分からない事だ。後述するが、UALoE Switchの説明には“2x 512lane 200G UALoE Switch ASIC”とか書いてあり、恐らくだが100Gbps×3を1単位として、これを2本束ねて1本のUALoE Laneを構成しているものと思われる(実際そう考えると都合がよい)。ちなみにこのUALoEの仕様であるが、100Gbps×3というあたり、物理層は100GBASE-CR1を利用している様に思われる。恐らくEAMの上にLaneあたり3つ、100GBASE-CR1のPHYが載っている形であろう。これを3本束ねて2本のUALoE Linkは600Gbpsの帯域を持っている訳だ。

UALoEは専用DMA Engineを搭載

ところでこのUALoEでもう1つ驚いたのが、専用DMA Engineが搭載されている(Photo06)という事だ。つまりデータの移動はKernelから明示的にLoad/Store的に行うのではなく、Kernelと独立しているDMA Engineが勝手にやってくれるという、まるでRDMAの様な方式が採用されている(Photo06)。ちょっとこれはScale-up Networkとしては異例の実装な様に思われる。

  • もLocal HBMに対してもDMAで転送を行うから、それがRemoteになった場合はRDMA的なEngineが動くという解釈の可能性

    Photo06:というか、そもそもLocal HBMに対してもDMAで転送を行うから、それがRemoteになった場合はRDMA的なEngineが動くという解釈で、KernelはあくまでもL2に対してLoad/Storeを行い、その先は知らないで良いという事なのかもしれない

Heliosのラックは18 Compute Trayと6 Switch Trayで構成

さて、Compute Trayの説明が終わったので、今度はHelios全体をしたい(Photo07)。

  • 一番上にはFront-Side向けのTOR Switchがある

    Photo07:一番上にはFront-Side向けのTOR Switchがあるが、その下と、あと一番下に並んでいるのは多分BBU(Battery Backup Unit)ではないかと思われる

ラックの構造はこんな感じ(Photo08)で、ラックの両側に給排水経路が並び、電源はラック中央という、OCPの基本的なラック構造を踏襲した形状になっているのが判る。

  • 配線を基板に切り替えたのはNVIDIAのKyberの方がやや先駆者である

    Photo08:配線を基板に切り替えたのはNVIDIAのKyberの方がやや先駆者であるが、あれはあれで見ていて不安になる代物だった。こちらのCable Boxの方がまだ安心して見ていられる感がある

で、Scale-up Networkは銅配線ベースであり、これは中央の18 Compute Trayと6 Switch Trayの間に集中するが、これは銅配線といっても電線を引っ張るのではなく基板をベースにしたものに見える(Photo08の9:Cable Box)。で、Switch Trayの内部がこちらである(Photo09)。Switchそのものは200Gのレーンが512ポートというあたり、スペック的にはBroadcomのTomahawk 6のうち、512×200Gレーンが利用できるCondor(BCM78914)ないしこれ相当のSwitchチップを利用しているものと思われる。

  • Switch ASICあたり432 Laneが使われるとする

    Photo09:Switch ASICあたり432 Laneが使われるとするが、接続する先は72個のInstinct MI455Xだから、要するにInstinct MI455Xあたり6 Laneという計算になる

Ethernet Switchの活用でNVLinkとは異なる実装に

NVIDIAはNVLinkが独自規格だったから自前でNVLink Switchを製造する必要があったが、UALoEだとEthernet用のL2 Switchで賄う事が出来るので、自前でSwitchを開発する必要が無い。恐らくUALoEを利用した最大の理由がここにあると思われるのだが、その一方でL2ベースであってもMAC Addressを利用してのRoutingになるのでLatencyそのものはいわゆるScale-up Networkとしてはかなり大きなものになる。Firmwareに手を入れて、UALoE専用にStatic Routing動作を行うような構成にすることも不可能ではない(ただそれをやるならP4にフル対応のSwitch Chipが欲しくなるが、Tomahawk 6はそこまでP4に対応していない)が、可能性としては低いように思われる。もっと言ってしまえば、そもそも100GBASE-CR1を使う時点で結構強力なFECが必要になり、消費電力もそこそこ大きいしLatencyも増える(あとこれをさらに3本束ねるという時点でもLatencyが増えそうだ)。Latencyだけで言うならUALink 128をScale-upに使った方が少ないLatencyを実現できるのだろうが、問題はSwitchが存在しない事である。今回は暫定的というか、Switchの入手性とかインプリメントの容易さを優先して、性能はやや妥協したというあたりが実情ではないかと思われる。

そのCompute TrayというかInstinct MI455XとSwitch TrayというかSwitchとの接続の構成がこちら(Photo10)。

  • トポロジーそのものはNVIDIAのNVL72と全く一緒である

    Photo10:トポロジーそのものはNVIDIAのNVL72と全く一緒である

面白いのはSwitchにトラブルが出た場合、自動的にフェールオーバーする機能がある事だ。自動的、といってもハードウェア的にこれが可能か? というとちょっと疑問で、ソフトウェア的に処理をしている可能性が高い。

  • これHot Swap可能なのか?

    Photo11:ただこれHot Swap可能なのか? というのは謎

UALink 128によるラック間接続の可能性

ところで先程の話に戻るが、UALink 128を使ったScale-out Networkとは一体何か? という話である。Scale-outと言いつつ、UALink 128だから所謂Network用のSwitchが存在しない。という事は、Peer-to-PeerでInstinct MI455X同士を接続する手段ということになる。可能性としてあるのは図2の様な構成だろうか? 隣接するラックのMI455X同士を直接接続するという方法だ。横方向に配線を這わすだけなら、銅配線であっても十分許容範囲だろう。Heliosは72 GPU構成だが、2つのHeliosを連携させて動かしたいなんて大規模なニーズにも対応できることになる。

  • ラック間のMI455X接続イメージ

    図2:ラック間のMI455X接続イメージ

NVIDIA NVL576との比較で見えるHeliosの課題

これがScale-outなのか? というとすごく微妙な線ではあるのだが(Scale-upとも言いにくい)、複数のラックを連携させるというのはすでに実例がある。NVIDIAはロードマップを2026年3月のGTCのタイミングで更新。Kyber RackベースのNVL576が消え、代わりにOberon RackのNVL72を8つ連携させたNVL576が新たに誕生した(Photo12)。

  • Rubin Ultraを使ったNVL576が無くなり、代わりにOberonラックベースでNVL72とNVL576が登場した

    Photo12:この時点ではRubin Ultraが一応残っているが、6月のCOMPUTEXのタイミングでこれも消えた。で、Rubin Ultraを使ったNVL576が無くなり、代わりにOberonラックベースでNVL72とNVL576が登場した

これに関してはNVIDIAのTechnical Blogで、GB200ベースのNVL576のプロトタイプの写真が掲載されているが、ご覧の通りNVL72同士をむりやり配線でつないだ構造になっているのが判る。あとこのBlogのエントリの中には“NVLink spine”なる言葉も登場しており、SpineがあるということはLeafもあるという事になる。NVIDIAのNVL576プロトタイプを這い回る黄色いケーブルは、NVLink Leaf向けの配線と考えるのが妥当に思える。将来的にはUALink 128用のSwitchが開発され、これを利用してUALinkのLeafを構成する前段階として、とりあえずPensando Volcano 800を利用してLeaf向けのポートを用意しつつも、現段階では使いようがない(ので図2の様な構成を取るのが精いっぱい)という事ではないか? というのが筆者の推定である。

全体としてまだ色々NVIDIAに追いつかないというか足りない部分が色々目立つ構成である。とりあえずUALoE経由では帯域こそ稼いでいるもののLatencyが大きそうで、これがどの程度性能にインパクトがあるのかが興味あるところである。いずれ実製品が稼働してベンチマークなどが取られる様になると、このあたりの性能が見えてくるのではないかと思う。