AMD Strix Halo RDMA クラスター セットアップ ガイド

大規模言語モデル (LLM) の分散推論には、通常、テンソル データを同期するための高帯域幅かつ低遅延のインターコネクト が必要です。AMD Strix Halo プラットフォームでは、Intel E810 NIC を介した RDMA over Converged Ethernet (RoCE v2) を使用することで、ノード間遅延を ~70-100µs (TCP/IP) から ~5µs に削減でき、Tensor Parallelism (TP) において 2 つの別々のノードを実質的に 1 つの単一のマシンとして動作させることが可能になります。

アーキテクチャとコア コンセプト

Strix Halo で分散推論を実現するために、3 つの主要なソフトウェア レイヤーがワークロードをオーケストレーションします。

  • vLLM: Tensor Parallelism を使用してモデルをノード間で分割する推論エンジン。
  • Ray: コントロール プレーンを管理し、クラスター全体でワーカー プロセスをオーケストレーションする分散コンピューティング フレームワーク。
  • RCCL (ROCm Collective Communication Library): NVIDIA の NCCL に相当する AMD のライブラリ。データ プレーンを管理し、GPU 間のテンソル データの高速同期を処理します。

RoCE v2 は、RCCL が CPU や OS カーネルをバイパスして、あるノードのメモリから別のノードのメモリへ直接データを書き込むことを可能にするため、ここで非常に重要です。これは、インタラクティブなトークン生成速度を維持するために不可欠です。

ハードウェア 要件

2 ノードの Strix Halo クラスターを構築するには、以下のハードウェア が必要です。

  • Compute Nodes: 2x Framework Desktop Mainboards with AMD Ryzen AI MAX+ "Strix Halo" and 128GB of Unified Memory.
  • Network Interface Cards (NICs): 2x Intel Ethernet Controller E810-CQDA1 (or similar 100GbE QSFP28 cards).
  • Interconnect: Direct Attach Copper (DAC) cable (e.g., QSFP28 DAC) for a direct node-to-node connection without a switch.
  • Physical Interface: Since the Framework motherboard PCIe slot is physically x4, a PCIe 4x to 16x riser/extender is required to accommodate the x16 NICs.

Host Configuration (Fedora 43)

両ノードは Fedora 43 (検証済みカーネル 6.18.5-200.fc43.x86_64 および 6.18.6-200.fc43.x86_64) で構成されている必要があります。

Driver and Package Installation

DNF を使用して、コア RDMA ユーザー空間ツールをインストールします。

sudo dnf install rdma-core libibverbs-utils perftest

セットアップには、カーネル内の ice (Ethernet) および irdma (RDMA) ドライバーが使用されます。プロプライエタリな Intel ドライバーは不要です。

Network Setup

CPU オーバーヘッドを削減するために、静的 IP を割り当て、Jumbo Frames (MTU 9000) を有効にします。192.168.100.0/30 のサブネットの場合:

  • Node 1: 192.168.100.1/30
  • Node 2: 192.168.100.2/30

rdma link を使用してリンク状態を確認します。状態が ACTIVE および LINK_UP と表示されるはずです。

BIOS and Kernel Optimization

iGPU 用の利用可能なユニファイド メモリを最大化し、RDMA パフォーマンスを最適化するために、以下の設定を適用します。

  1. BIOS: iGPU Memory Allocation を最小 (512MB) に設定します。
  2. Kernel Parameters: /etc/default/grub 内の GRUB_CMDLINE_LINUX に以下を追加します。 iommu=pt pci=realloc pcie_aspm=off amdgpu.gttsize=126976 ttm.pages_limit=32505856

Parameter Breakdown:

  • iommu=pt: NIC および iGPU のオーバーヘッドを削減するために Pass-Through モードを有効にします。
  • pci=realloc: 大きなアドレス空間をマッピングするために PCI BARs を再割り当てします。
  • pcie_aspm=off: レイテンシ スパイクを防止するために Active State Power Management を無効にします。
  • amdgpu.gttsize & ttm.pages_limit: GPU GTT サイズを ~124GiB に制限し、GPU がシステム RAM を VRAM としてアドレス指定できるようにします。

Software Installation and vLLM Deployment

The RCCL Patch

このセットアップには、カスタムビルドされた librccl.so ライブラリが不可欠です。アップストリームの ROCm パッケージは、現在 gfx1151 (Strix Halo) RDMA をサポートしていません。kyuz0/vllm-therock-gfx1151 Docker イメージには、このパッチ適用済みライブラリが含まれています。

Toolbox Setup

両ノードで ./refresh_toolbox.sh を実行します。このスクリプトは、パッチ適用済みイメージをプルし、コンテナが /dev/dri, /dev/kfd, および /dev/infiniband を公開するように構成し、DMA メモリ固定 (pinning) のために --ulimit memlock=-1 を設定します。

Running the Cluster

  1. Orchestration: start-vllm-cluster TUI ユーティリティを使用して、IP を設定し、Ray クラスターを起動します。Node 1 は "Head"、Node 2 は "Worker" として指定されます。
  2. vLLM Launch: "Launch VLLM Serve" を選択し、希望するモデル (例: Llama-3.1-8B-Instruct) を選択します。
  3. Configuration: Tensor Parallelism (TP) を 2 に設定します。分散 APU クラスターでは CUDA Graph キャプチャがデッドロックを引き起こす可能性があるため、"Force Eager Mode" を有効にすることを強く推奨します。

Alternative: Thunderbolt Networking

100GbE NICs を持たないユーザーの場合、ノードードは Thunderbolt 4 / USB4 ケーブルを介して接続できます。RDMA マイクロプロセッサ レベルの低遅延は得られませんが、標準的な Ethernet のよりも大幅に高い帯域幅を提供します。

  1. Connection: thunderbolt0 インターフェースを確立し、静的 IP (例: 192.168.2.1192.168.2.2) を割り当てます。

  2. Configuration: start-vllm-cluster ユーティリティを使用して、Head と Worker の IP を Thunderbolt インターフェースのアドレスに明示的に設定します。

Community Insights and Performance

コミュニティの議論では、Strix Halo が RTX 4090 のようなコンシューマー GPU と比較して利用可能なメモリ (ノード間で最大 256GB) が大幅に向上している一方で、Apple Silicon と比較して生の実効効能 (raw performance) にはトレードオフがあることが強調されています。

"The M3 Ultra has ~900GB/s memory bandwidth... [Strix Halo] is still double these mini AI boxes [compared to some alternatives], but the limiting factor... is memory bandwidth, both under 300GB/s."

ユーザーはまた、DeepSeek V4 Flash のような特定のモデルについては、推論速度はインタラクティブな読解には使用可能ですが、prefill と generation スピードがハイエンド Mac Studio の構成と比較して遅れる可能性があることも指摘しています。

Sources

関連

  • プロジェクト
  • Dispatch
  • Dispatch
  • プロジェクト
  • Dispatch