从2节点到8节点集群:spark-vllm-docker的DGX Spark组网拓扑完全指南(直连、3节点Mesh、交换机)

发布时间:2026/10/5 20:33:09

从2节点到8节点集群:spark-vllm-docker的DGX Spark组网拓扑完全指南(直连、3节点Mesh、交换机) 从2节点到8节点集群spark-vllm-docker的DGX Spark组网拓扑完全指南直连、3节点Mesh、交换机【免费下载链接】spark-vllm-dockerDocker configuration for running VLLM on dual DGX Sparks项目地址: https://gitcode.com/gh_mirrors/sp/spark-vllm-dockerspark-vllm-docker 是一个专为 DGX Spark 打造的 vLLM Docker 集群方案覆盖从单节点、双机直连、3 节点 Mesh 到 8 节点交换机组网的完整拓扑内置 RDMA/RoCE 加速与集群自动发现。本指南帮你按机器数量选对组网方式并一步步完成配置。一、先搞清楚DGX Spark 的网卡有什么特殊体质组网之前必须先理解 DGX Spark 的 ConnectX 网卡结构这是所有配置的地基详见 docs/NETWORKING.md想要200G 链路速度ConnectX 网卡需要约 x8 条 PCIe 5.0 通道但 Spark 的 SOC 硬件限制每个设备最多 x4 通道因此一个物理 QSFP 口由两对双胞胎接口共享以太网孪生口如enp1s0f1np1和enP2p1s0f1np1RoCE 孪生口如rocep1s0f1和roceP2p1s0f1每一对孪生口各提供约100G带宽两个 RoCE 口同时用才能跑满 NCCL RDMA 模式的全带宽。两个实用结论IP 只需配在一个以太网上vLLM 走 RoCE以太网速率不重要但NCCL_IB_HCA必须同时指定两个 RoCE 口——好消息是 launch-cluster.sh 会自动完成这件事。双机直连不需要插两根线两根线不会带来可感知的带宽提升而 3 台机器串联daisy-chain后每对机器之间只能维持 100G。 选型口诀2、4、8 节点2 的幂最适合张量并行TP3 节点主要服务于流水线并行PP或数据并行DP。二、2 节点直连一条线搞定双机集群这是最经典的起步配置只需一根 QSFP 网线连接两台 Spark 的右侧从背面看QSFP 口。第一步配置网络netplan。在spark上创建/etc/netplan/40-cx7.yamlnetwork: version: 2 ethernets: enp1s0f1np1: dhcp4: no dhcp6: no link-local: [] mtu: 9000 addresses: [192.168.177.11/24] enP2p1s0f1np1: dhcp4: no dhcp6: no link-local: [] mtu: 9000 addresses: [192.168.178.11/24]spark2同理IP 改为192.168.177.12/24和192.168.178.12/24。每台机器执行sudo chmod 600 /etc/netplan/40-cx7.yaml sudo netplan apply⚠️切勿给两对孪生口配置相同网段——会搞乱自动发现和路由。第二步免密 SSH。在首台 Spark 上运行 NVIDIA 官方提供的discover-sparks脚本即可自动完成节点发现与密钥分发。第三步验证带宽。用 perftest 包的ib_write_bw分别收/发双口叠加可跑到约 200 Gb/s单 RoCE 口约 111 Gb/s延迟约 1.5 微秒。配好之后在头节点上克隆仓库即可开始跑模型git clone https://gitcode.com/gh_mirrors/sp/spark-vllm-docker cd spark-vllm-docker ./run-recipe.sh recipes/deepseek-v4-flash-vision-exp.yaml --setup--setup会自动完成镜像分发、模型下载与集群拉起。三、3 节点 Mesh无交换机的环形组网3 台 Spark 可以不用交换机但接线方式与双机直连完全不同完整说明见 docs/NETWORKING.md连线规则A 的 Port 0 接 B 的 Port 1B 的 Port 0 接 C 的 Port 1C 的 Port 0 接 A 的 Port 1形成环三台机器还需通过10G RJ-45 以太网或无线网不推荐接入同一局域网用于带外管理通信。每台机器需要为四个接口分别配置静态 IP四台子网两两错开例如spark1network: version: 2 ethernets: enp1s0f0np0: dhcp4: no dhcp6: no link-local: [] mtu: 9000 addresses: [192.168.177.11/24] enP2p1s0f0np0: dhcp4: no dhcp6: no link-local: [] mtu: 9000 addresses: [192.168.178.11/24] enp1s0f1np1: dhcp4: no dhcp6: no link-local: [] mtu: 9000 addresses: [192.168.187.11/24] enP2p1s0f1np1: dhcp4: no dhcp6: no link-local: [] mtu: 9000 addresses: [192.168.188.11/24]spark2、spark3按同样规则错开 IP每对直连链路一个独立网段。配置后运行sudo netplan apply。3 节点怎么跑模型-tp 3基本不被主流模型支持所以三节点的标准玩法是并行方式适用场景--pipeline-parallel-size 3跑双机装不下的超大模型如 Qwen3.5-397B INT4不提升单请求速度--data-parallel 3可加--enable-expert-parallel单机能装下的模型提升并发吞吐-tp 2只用前两个节点第三个闲置仓库已内置 3 节点配方例如流水线并行的 recipes/3x-spark-cluster/qwen3.5-397b-int4-autoround.yaml./run-recipe.sh --discover # 强制重新发现识别 Mesh 拓扑 ./run-recipe.sh recipes/3x-spark-cluster/qwen3.5-397b-int4-autoround.yaml --setup --no-rayMesh 模式下自动发现会识别出 4 个活跃的 CX7 接口并配置对应的 NCCL 参数3 节点 OOB 通信必须走 10G 以太网同时COPY_HOSTS会自动改为直连 IB 接口让镜像和模型走更快的直连链路分发。四、4–8 节点QSFP 交换机组网超过 2 台 Spark 且不是 Mesh 拓扑时就需要一台 RoCE 交换机文档中推荐 MikroTik CRS812-DDQ8 口或 CRS804-DDQ4 口。好消息是每台 Spark 的网络配置和 2 节点直连完全一样双口静态 IP MTU 9000只是所有端口都接交换机。NVIDIA 官方论坛有 6–8 节点 Spark 集群的完整搭建实例可参考。对应配方已就绪4 节点recipes/4x-spark-cluster/ 目录下的qwen3.5-397b-int4-autoround.yamlTP4实测单用户约 37 tok/s、4 并发约 103 tok/s、recipes/4x-spark-cluster/minimax-m2.5.yaml 等8 节点recipes/8x-spark-cluster/glm-5.2-nvfp4.yaml用vllm-node-b12x镜像跑 GLM-5.2-NVFP4TP8。./run-recipe.sh recipes/8x-spark-cluster/glm-5.2-nvfp4.yaml五、自动发现与一键拉起组网之后的自动化流程组网完成后日常操作几乎不用碰网络细节核心是这两条链路自动发现autodiscover.sh 会扫描网段、验证每台可达机器确实是 GB10Spark硬件后写入.envCLUSTER_NODES与COPY_HOSTS并区分 Mesh / 非 Mesh 两种模式交互式确认节点清单集群拉起launch-cluster.sh 自动检测ETH_IF/IB_IF接口、注入NCCL_IB_HCA等环境变量、按并行度自动裁剪节点数tp×pp×dp并自动分发镜像与模型。常用开关./launch-cluster.sh --setup exec vllm serve ... # 强制重新自动发现 ./run-recipe.sh --list # 查看所有模型配方 ./run-recipe.sh qwen3.5-122b-fp8 --no-ray # 无 Ray 多节点默认模式更多操作细节镜像构建、模型下载、内存调优可参考 docs/AGENT_RUNBOOK.md 与 recipes/README.md。六、拓扑选型速查表节点数推荐拓扑并行方式需要交换机参考配方1单机--soloTP1否recipes/qwen3.6-35b-a3b-nvfp4.yaml2QSFP 直连TP2否recipes/deepseek-v4-flash.yaml3环形 Mesh 10G 带外PP3 / DP3否recipes/3x-spark-cluster/qwen3.5-397b-int4-autoround.yaml4 / 8RoCE QSFP 交换机TP4 / TP8是recipes/4x-spark-cluster/、recipes/8x-spark-cluster/七、小结2 节点一条 QSFP 线 双口静态 IP MTU 9000 免密 SSH即可享受近 200G RDMA 带宽3 节点环形 Mesh 免交换机但需为 4 个接口规划 4 个子网并保留 10G 带外网络4 节点及以上上 RoCE QSFP 交换机节点配置复用双机方案配合 2 的幂次节点数获得最佳 TP 性能组网完成后--setup/--discover让 spark-vllm-docker 的自动发现与配方系统接管其余工作——你只需要选配方、跑命令。祝你的 Spark 集群早日跑起大模型 【免费下载链接】spark-vllm-dockerDocker configuration for running VLLM on dual DGX Sparks项目地址: https://gitcode.com/gh_mirrors/sp/spark-vllm-docker创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/5 20:28:09

Computer Use 是什么?说说它的原理与 TaoToken 统一 Key 接入实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 23:48:22

GESP等级考试C++5级20-素数判断法3

2.3 线性筛 埃氏筛里一个合数会被划多次(如 30 会被 2、3、5 各划一次),做了冗余工作。线性筛的核心目标:每个合数只被它的最小质因子划掉,且只划一次,从而做到严格 O(n)。 线性筛的原理:维护一个已找到的素数数组prime[],对每个 i: (1)若 i 没被标记过,说明 i …

2026/10/5 23:43:21

MR25H40CDF F-RAM工业存储设计:高可靠低延迟数据管道构建

1. MR25H40CDF不是“普通Flash”,它是一块带铁电特性的工业级非易失存储器很多人第一次看到MR25H40CDF这个型号,第一反应是:“哦,又一个SPI Flash?”——这恰恰是项目启动阶段最容易踩的第一个认知坑。我去年在给一家做…

2026/10/5 23:43:21

百考通AI精准适配不同学历层次的论文需求

在高校毕业季,毕业论文往往是压在学子心头的一座大山。从选题定题到框架搭建,从内容撰写到格式规范,繁琐的流程常常让专科、本科及研究生们焦头烂额。如今,百考通AI(https://www.baikaotongai.com)凭借智能…

2026/10/5 6:32:56

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/4 0:01:02

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/5 17:38:27

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑