TinkerLab
ARTIFACT // LAUNCH-B60-DUAL-BATTLEMATRIX-VLLM.SH (SH)

Intel Arc Pro B60 Dual 单卡双芯 48GB PCIe x8/x8 拆分核验与 vLLM-XPU 张量并行启动脚本 (launch-b60-dual-battlematrix-vllm.sh)

自动检测主板 BIOS PCIe x8/x8 通道拆分是否完整识别全部 BMG-G21 核心(杜绝单卡 48GB 缩水为 24GB),核验 32GB Resizable BAR 映射窗口与 /dev/dri 渲染节点,并以张量并行启动 intel/llm-scaler-vllm 容器。

[核心实测结论 / TL;DR]本配置包「Intel Arc Pro B60 Dual 单卡双芯 48GB PCIe x8/x8 拆分核验与 vLLM-XPU 张量并行启动脚本」(文件名:launch-b60-dual-battlematrix-vllm.sh,格式:SH)是 Tinker AI 实测工坊配套指南《intel-arc-pro-b60-dual-48gb-battlematrix-vs-tenstorrent-quietbox-blackhole-128gb-and-crescent-island-local-llm》的参数化生产模板。支持在本地浏览器实时定制 HuggingFace 或本地模型路径 (HF_MODEL_ID=Qwen/Qwen3.5-35B-A3B-Instruct)、张量并行度 TP(单张双芯卡填 2,两张填 4,四张填 8) (TP_SIZE=2)、ZE_AFFINITY_MASK(Intel Level Zero 核心编号) (ZE_AFFINITY=0,1)、OpenAI 兼容服务端口 (API_PORT=8000) 等 4 项核心变量,默认遵循 127.0.0.1 回环绑定与最小权限规范。
01 // HOMELAB本地 AI / HomeLab· 验证日期:2026-11-11
查看全部 48 套配置附件 →
launch-b60-dual-battlematrix-vllm.sh

Intel Arc Pro B60 Dual 单卡双芯 48GB PCIe x8/x8 拆分核验与 vLLM-XPU 张量并行启动脚本

自动检测主板 BIOS PCIe x8/x8 通道拆分是否完整识别全部 BMG-G21 核心(杜绝单卡 48GB 缩水为 24GB),核验 32GB Resizable BAR 映射窗口与 /dev/dri 渲染节点,并以张量并行启动 intel/llm-scaler-vllm 容器。

查看配套实测指南 →
参数化定制变量 (Variables — 自动保存在本地浏览器)
UTF-8 编码 · 零延迟实时编译
#!/usr/bin/env bash
# Tinker AI — Intel Arc Pro B60 Dual 48GB ("Battlematrix") x8/x8 Audit & vLLM-XPU Launcher (Guide #45)
set -euo pipefail

MODEL="Qwen/Qwen3.5-35B-A3B-Instruct"
TP="2"
MASK="0,1"
PORT="8000"

echo "=== [1/4] Auditing PCIe x8/x8 Bifurcation & Enumerated Intel BMG-G21 GPUs ==="
GPU_COUNT=$(lspci -nn | grep -icE "(VGA|Display|3D).*8086:(e20b|e20c|e211|e212)" || true)
lspci -nn | grep -iE "(VGA|Display|3D).*8086" || true
echo "-> Detected Intel Arc Xe2 GPU dies: $GPU_COUNT (Expect 2 per Arc Pro B60 Dual 48GB card!)"
if [ "$GPU_COUNT" -lt "$TP" ]; then
  echo "[WARN] Enumerated GPU dies ($GPU_COUNT) < requested TP_SIZE ($TP)!"
  echo "       Enter motherboard BIOS -> PCIe Slot Configuration -> Set slot from [Auto/x16] to [x8/x8] (or [x8/x8/x8/x8])."
fi

echo "=== [2/4] Verifying Above 4G Decoding & >=32GB Resizable BAR (BAR2) Aperture ==="
sudo lspci -vv -d 8086: | grep -E "Region 2: Memory|LnkSta:" | head -n 8 || true
ls -la /dev/dri/renderD*

echo "=== [3/4] Checking Host IOMMU P2P Passthrough (iommu=pt recommended on WRX90 / Xeon) ==="
grep -o "iommu=[^ ]*" /proc/cmdline || echo "Note: Add iommu=pt to GRUB_CMDLINE_LINUX_DEFAULT if multi-die AllReduce stalls."

echo "=== [4/4] Launching intel/llm-scaler-vllm (TP=$TP, ZE_AFFINITY_MASK=$MASK, Port=$PORT) ==="
docker run --rm -it \
  --device /dev/dri \
  --group-add video --group-add render \
  --shm-size=32g \
  --ipc=host \
  -p "$PORT:8000" \
  -v "$HOME/.cache/huggingface:/root/.cache/huggingface" \
  -e ZE_AFFINITY_MASK="$MASK" \
  -e SYCL_CACHE_PERSISTENT=1 \
  -e SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1 \
  intel/llm-scaler-vllm:latest \
  --model "$MODEL" \
  --tensor-parallel-size "$TP" \
  --quantization fp8 \
  --max-model-len 65536 \
  --gpu-memory-utilization 0.90 \
  --trust-remote-code
PARAMETER SPECIFICATION // 参数化变量规范说明表

「launch-b60-dual-battlematrix-vllm.sh」可定制环境变量与默认值说明

本配置模板(SH 格式)支持 4 项运行时参数注入,所有替换均在本地浏览器内完成。

模板占位符参数用途说明安全默认值填写示例
{{HF_MODEL_ID}}HuggingFace 或本地模型路径Qwen/Qwen3.5-35B-A3B-InstructQwen/Qwen3.5-35B-A3B-Instruct
{{TP_SIZE}}张量并行度 TP(单张双芯卡填 2,两张填 4,四张填 8)22
{{ZE_AFFINITY}}ZE_AFFINITY_MASK(Intel Level Zero 核心编号)0,10,1
{{API_PORT}}OpenAI 兼容服务端口80008000
PAIRED HARDWARE MANIFEST // 配套实测环境与边界记录

配套指南《非 CUDA 大显存本地大模型工作站对决:Intel Arc Pro B60 Dual 单卡双芯 48GB(Battlematrix 最高 192GB · PCIe x8/x8 拆分避坑)vs Tenstorrent QuietBox 2(Blackhole 128GB 液冷)与 Intel Crescent Island(160GB/480GB Xe3P)》验证基线

实测硬件与操作系统 (Hardware & OS)

实测平台:2× 铭瑄 Intel Arc Pro B60 Dual 48G Turbo(共 4 颗 BMG-G21 核心 = 96GB GDDR6 · 基于 WRX90 主板开启 PCIe 5.0 `x8/x8` 拆分)与 Tenstorrent QuietBox 2 一体化液冷工作站(Ryzen 7 9700X + 2× Blackhole `p300c` 四芯 = 128GB GDDR6 + 256GB DDR5) | 规格推算对照:Intel GPU D 系列「Crescent Island」D270(32 核 Xe3P · 160GB / 480GB LPDDR5X · `1.5 TB/s` · 350W)

锁定软件栈与模型版本 (Pinned Versions)
Intel Battlematrix Stack: `intel/llm-scaler-vllm:latest` (`vLLM-XPU` 0.8.5+, OneAPI Level Zero, `ZE_AFFINITY_MASK`) & `llama.cpp` b4980+ (SYCL / Vulkan `-sm layer`)Tenstorrent Stack: `tt-metal` (`tt-metalium` v0.58+) & `TT-Inference-Server` (`vLLM` Tensix backend, `bfp8` / `bfp4` mesh execution)Models: Llama-3.3-70B-Instruct (FP8 / Q4_K_M), Qwen3.5-35B-A3B (FP8 / Q4_K_M), Qwen3.5-122B-A10B (Q4_K_M / FP8) & OpenAI gpt-oss-120b (MXFP4)
离线与安全边界 (100% 本地容器化多加速卡离线推理服务)

提前拉取 `intel/llm-scaler-vllm` 或 `tt-inference-server` 容器镜像并缓存模型权重至本地 NVMe 后,全链路可断网运行。

已知限制与失败边界 (Known Limits)
  • **Arc Pro B60 Dual 48GB 强制要求主板 BIOS 开启 PCIe `x8/x8` 通道拆分:** 为了将单卡 48GB 售价压在万元人民币以内,铭瑄(Maxsun)与撼与(Sparkle)的单卡双芯 B60 Dual **省去了昂贵的板载 PLX PCIe 交换芯片**,而是直接把金手指前 8 条通道连给核心 0(24GB)、后 8 条通道连给核心 1(24GB)。若主板不支持或未在 BIOS 中将该插槽手动设为 **`x8/x8`**,第二颗 GPU 核心将完全消失在 `lspci` 中,48GB 卡直接缩水成 24GB!
  • **多芯满插必须开启 `Above 4G Decoding` 与大容量 64-bit MMIO 映射窗口:** 每颗 BMG-G21 核心申请 32GB 的 2 次幂 Resizable BAR 地址窗口。两张双芯卡(4 核 96GB)或四张双芯卡(8 核 192GB)共需 **128GB–256GB 的 PCIe 64 位 MMIO 地址空间**;在 WRX90 / Xeon 主板上务必将 `MMIO High Base / Granularity` 调大,否则可能出现自检卡 `92/PCI` 代码或驱动回退至 256MB 小 BAR 导致吞吐暴跌 70%。
  • **表中 Intel「Crescent Island」(GPU D 系列)数据为规格推算(非实测):** Crescent Island 采用砍掉全部显示输出与光追单元的纯推理 **Xe3P** 架构(配公版 160GB / ODM 480GB LPDDR5X · `1.5 TB/s` 带宽),表格中该行吞吐按公开带宽与微缩放 FP4/FP8 效率推算,供架构选型参考。
DEPLOYMENT CHECKLIST // 配置落地核验步骤

部署 launch-b60-dual-battlematrix-vllm.sh 后的 3 步验收清单

  1. 已在主板 BIOS 中将对应插槽设置为 `x8/x8` 通道拆分,并通过 `lspci` 确认识别出的 BMG-G21 核心数严格等于 `物理卡数 × 2`。
  2. 已在 BIOS 中开启 `Above 4G Decoding` 与 `Resizable BAR`,并通过 `sudo lspci -vv` 确认每颗核心的 `Region 2` 均为 `[size=32G]`。
  3. 在启动 `intel/llm-scaler-vllm` 容器时已配置 `--shm-size=32g`、`SYCL_CACHE_PERSISTENT=1` 与立即命令列表加速环境变量。