AMD Strix Halo RDMA 集群设置指南
AMD Strix Halo RDMA 集群设置指南 本指南详细介绍了如何配置一个通过 Intel E810 (RoCE v2) 连接的双节点 AMD Strix Halo 集群,用于使用张量并行主义进行分布式 vLLM 推理。 目录 TL;DR (快速入门) 概念与架构 硬件先决条件 主机配置(Fedora) 4.1 安装软件包 4.2 检查本地固件 4.3 网络配置 4.4 BIOS 和内核配置 4.5 防火墙规则 工具箱安装与网络验证 5.1 先决条件:无密码 SSH 5.2 安装 5.3 验证 RDMA 连接 启动集群 6.1 设置与验证 6.2 启动 vLLM 故障排除 参考文献与致谢 1. TL;DR (快速入门) 在两个节点上: 准备:安装/更新 Fedora 43 和 E810 网络接口卡(检查固件:ethtool -i <iface>)。 BIOS/内核:将 iGPU 设置为 512MB 并应用内核参数(iommu=pt、pci=realloc等)。 SSH:配置节点之间的无密码 SSH。 网络:分配静态 IP(192.168.100.1 和 .2),设置 MTU 为 9000,并在防火墙中信任该接口。 安装工具箱:运行 ./refresh_toolbox.sh (这将自动安装支持 RDMA 的容器和自定义 librccl.so 补丁)。 运行集群:运行 start-vllm-cluster。 选择 "2. 启动 Ray 集群" (按照 TUI 的提示操作)。 选择 "4. 启动 VLLM 服务器" 并选择您的模型。 (首先导出 HF_TOKEN 用于受限模型!) 重要说明:refresh_toolbox.sh 脚本可以检测到您的 Infiniband/RDMA 设备并自动配置容器以暴露它们。 2. 概念与架构 为了充分利用 Strix Halo 集群,了解相关技术是有帮助的: vLLM:一个高性能推理引擎。为了运行超出单个 GPU(或 APU)能处理的模型,它会使用张量并行主义(TP)拆分模型。 Ray:一个分布式计算框架。 vLLM 使用 Ray 来协调集群,管理每个节点上的“工作”进程,并确保它们正确启动。 Ray 处理控制平面(发出命令)。 RCCL(ROCm 集体通信库):AMD 的相当于 NVIDIA 的 NCCL。此库处理数据平面——特别是 GPU 之间张量数据的极快同步。当 TP=2 时,两个节点必须在神经网络的每个层之后交换部分结果。这在每秒会发生数千次。 RoCE v2(通过以太网的 RDMA):允许 RCCL 从一个节点的内存直接写入另一个节点内存的协议,绕过 CPU 和操作系统内核。没有 RDMA 时:延迟约 70-100µs(TCP/IP 开销)。使用 RDMA 时:延迟约 5µs。 为什么这很重要:对于互动令牌生成,高延迟会影响性能。RoCE 使两个节点感觉像一个单一的机器。 3. 硬件先决条件 节点:2x Framework 桌面主板,配备 AMD Ryzen AI MAX+ "Strix Halo",128GB 统一内存。 网络卡:Intel 以太网控制器 E810-CQDA1(或类似的 100GbE QSFP28)。 连接:直连铜缆(DAC)(例如,QSFPTEK 100G QSFP28 DAC)。对于 2 个节点,不需要交换机。 PCIe 注意事项:Framework 主板 PCIe 插槽物理上为 x4,因此需要使用扩展卡将 16x 卡插入(例如,CY PCI-E Express 4x 到 16x 延长器)。 测试设置注意事项:此设置中的一个主板具有经过修改的 PCIe 插槽(由 Framework 使用超声刀切割),以直接接受 x16 卡。这不推荐给用户。扩展卡是更便宜、更安全且更简单的解决方案。性能相同(带宽约 50Gbps,延迟约 5µs)。 4. 主机配置(Fedora) 在两个节点的主机操作系统(Fedora 43)上执行这些步骤。 测试的主机配置: 节点 内核 操作系统 IP(RDMA 接口) 节点 1 6.18.5-200.fc43.x86_64 Fedora Linux 43 192.168.100.1/30 节点 2 6.18.6-200.fc43.x86_64 Fedora Linux 43 192.168.100.2/30 注意:这些特定的内核版本已被验证可以正常工作。推荐使用 Fedora 43。 4.1 安装软件包 安装核心 RDMA 用户空间工具。您不需要专有的 Intel 驱动程序;内核中的驱动程序工作得很好。 以太网驱动程序:ice RDMA 驱动程序:irdma(RoCE v2 和 iWARP 的统一驱动程序) sudo dnf install rdma-core libibverbs-utils perftest rdma-core:RDMA 子系统的用户空间组件(库、守护进程和配置工具)。 libibverbs-utils:用于查询 RDMA 设备的工具(例如,ibv_devinfo)。 perftest:一套基准测试(例如,ib_write_bw,ib_send_lat)以验证 RDMA 带宽和延迟。 4.2 检查本地固件 使用 ethtool 检查您 Intel E810 卡的当前固件版本。 ethtool -i enp194s0np0 推荐固件:确保您的固件版本至少与下面显示的版本(固件 4.91...)一样新。如果您的固件较旧,请使用 Intel® Ethernet NVM 更新工具更新 E810 系列的固件。 示例输出: 驱动程序:ice 版本:6.18.5-200.fc43.x86_64 固件版本:4.91 0x800214b5 1.3909.0 扩展 ROM 版本:总线信息:0000:c2:00.0 支持统计信息:是 支持测试:是 支持 EEPROM:
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡