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

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