TinkerLab
ARTIFACT // RUN-DGX-SPARK-200GBE-VLLM.SH (SH)

NVIDIA DGX Spark (GB10 128GB / Dual 256GB) 200GbE RoCEv2 & UMA Cache Launcher (run-dgx-spark-200gbe-vllm.sh)

Flushes Linux VFS page cache before loading 70B–235B models into GB10 unified LPDDR5X, configures ConnectX-7 MTU 9000 & RoCEv2 GID index, and launches distributed Ray + vLLM.

[KEY VERIFIED TAKEAWAY / TL;DR]This reproducible configuration artifact "NVIDIA DGX Spark (GB10 128GB / Dual 256GB) 200GbE RoCEv2 & UMA Cache Launcher" (run-dgx-spark-200gbe-vllm.sh, SH) is paired with Tinker AI Lab's hardware-verified guide "nvidia-dgx-spark-gb10-single-and-dual-node-200gbe-vllm-llama-cpp-benchmark". It exposes 4 customizable browser variables (ROCE_IFACE=enp1s0f0np0, HEAD_NODE_IP=192.168.10.1, VLLM_MODEL_ID=Qwen/Qwen3-235B-A22B-FP8, PP_DEGREE=2) with loopback-first security defaults.
01 // HOMELABLocal AI / HomeLab· Verified: 2026-11-02
Browse All 42 Artifacts →
run-dgx-spark-200gbe-vllm.sh

NVIDIA DGX Spark (GB10 128GB / Dual 256GB) 200GbE RoCEv2 & UMA Cache Launcher

Flushes Linux VFS page cache before loading 70B–235B models into GB10 unified LPDDR5X, configures ConnectX-7 MTU 9000 & RoCEv2 GID index, and launches distributed Ray + vLLM.

View Paired Guide →
Customizable Variables (Saved in Browser)
UTF-8 Encoded · Live Client-Side Compilation
#!/usr/bin/env bash
# Tinker AI — NVIDIA DGX Spark (GB10) UMA Cache Flush & 200GbE RoCEv2 vLLM Runner (Guide #29)
set -euo pipefail

IFACE="enp1s0f0np0"
HEAD_IP="192.168.10.1"
MODEL="Qwen/Qwen3-235B-A22B-FP8"
PP_SIZE="2"

echo "=== [1/4] Flushing Linux VFS Page Cache on GB10 128GB Unified Memory ==="
sync && echo 3 | sudo tee /proc/sys/vm/drop_caches >/dev/null
free -h

echo "=== [2/4] Verifying ConnectX-7 200GbE Interface ($IFACE) & MTU 9000 ==="
if ip link show "$IFACE" >/dev/null 2>&1; then
  sudo ip link set dev "$IFACE" mtu 9000
  ethtool "$IFACE" | grep -E "Speed|Link detected" || true
fi

echo "=== [3/4] Exporting NCCL RoCEv2 Environment Variables (sm_121 / mlx5_0) ==="
export NCCL_DEBUG=INFO
export NCCL_IB_DISABLE=0
export NCCL_IB_HCA=mlx5_0:1
export NCCL_IB_GID_INDEX=3
export NCCL_SOCKET_IFNAME="$IFACE"
export GLOO_SOCKET_IFNAME="$IFACE"

echo "=== [4/4] Launching vLLM ($MODEL, PP=$PP_SIZE) on Head IP $HEAD_IP ==="
python3 -m vllm.entrypoints.openai.api_server \
  --model "$MODEL" \
  --pipeline-parallel-size "$PP_SIZE" \
  --distributed-executor-backend ray \
  --max-model-len 32768 \
  --gpu-memory-utilization 0.88 \
  --enable-prefix-caching \
  --host 0.0.0.0 --port 8000
PARAMETER SPECIFICATION // 参数化变量规范说明表

Customizable Parameter Reference for run-dgx-spark-200gbe-vllm.sh

This SH artifact exposes 4 template variables compiled client-side in your browser.

Template TokenParameter DescriptionVerified DefaultExample Format
{{ROCE_IFACE}}ConnectX-7 200GbE Interface Nameenp1s0f0np0enp1s0f0np0
{{HEAD_NODE_IP}}Spark Head Node RoCE IP (/30)192.168.10.1192.168.10.1
{{VLLM_MODEL_ID}}Target NVFP4 / FP8 Model RepoQwen/Qwen3-235B-A22B-FP8Qwen/Qwen3-235B-A22B-FP8
{{PP_DEGREE}}Pipeline Parallel Nodes (1 or 2)22
PAIRED HARDWARE MANIFEST // 配套实测环境与边界记录

Verified Environment for "NVIDIA DGX Spark (GB10 · 128GB / Dual-Node 256GB) Local LLM Benchmark: Single-Box NVFP4 vs 200GbE ConnectX-7 RoCEv2 Distributed vLLM & llama.cpp"

Tested Hardware & OS

2x NVIDIA DGX Spark (GB10 Grace Blackwell: 20-core Arm CPU + sm_121 GPU, 128GB coherent LPDDR5X @ 273 GB/s per node, linked via 200GbE QSFP112 DAC cable)

Pinned Stack & Model Versions
vLLM 0.8.2 (aarch64 + sm_121 NVFP4/FP8)llama.cpp b4780 (CUDA 12.8 sm_121 MMQ)NCCL 2.25.1 + Mellanox OFED RoCEv2 (ConnectX-7)Ray 2.43.0 (Multi-Node Orchestrator)
Offline Boundary (100% Air-Gapped Single or 2-Node Local Cluster)

Two DGX Spark units connect directly back-to-back via a passive QSFP112 DAC cable on a private 192.168.10.0/30 subnet with zero external switch or cloud calls.

Known Operational Limits & Failure Modes
  • At 273 GB/s memory bandwidth per node, single-stream dense 70B Q4_K_M generation tops out at ~5.8 tok/s (or ~9.6 tok/s in NVFP4); sparse MoE models (Qwen3-30B-A3B, Qwen3-Next-80B-A3B, Qwen3-235B-A22B) are strongly preferred for interactive chat.
  • Because the 20-core Grace Arm CPU and Blackwell GPU share the same 128GB LPDDR5X pool via NVLink-C2C, Linux VFS file cache from model downloads can silently consume 40GB+ and trigger premature swap unless `vm.drop_caches=3` is run before loading >80GB weights.
DEPLOYMENT CHECKLIST // 配置落地核验步骤

3-Step Verification Checklist After Deploying run-dgx-spark-200gbe-vllm.sh

  1. Flushed Linux VFS page cache (`echo 3 | sudo tee /proc/sys/vm/drop_caches`) before loading >64GB models into GB10 unified memory.
  2. Verified 2-node QSFP112 link reaches ~197 Gb/s (`24.6 GB/s`) in `ib_write_bw` with `mtu 9000` enabled on both nodes.
  3. Confirmed vLLM startup logs print `NCCL INFO NET/IB : Using [0]mlx5_0:1/RoCE` instead of `NET/Socket`.