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

Intel Arc Pro B60 Dual 48GB ("Battlematrix") PCIe x8/x8 Bifurcation Audit & vLLM-XPU Launcher (launch-b60-dual-battlematrix-vllm.sh)

Verifies that motherboard PCIe x8/x8 bifurcation exposes both BMG-G21 dies per Arc Pro B60 Dual 48GB card, checks 32GB Resizable BAR apertures and /dev/dri render nodes, and launches intel/llm-scaler-vllm with Tensor Parallelism.

[KEY VERIFIED TAKEAWAY / TL;DR]This reproducible configuration artifact "Intel Arc Pro B60 Dual 48GB ("Battlematrix") PCIe x8/x8 Bifurcation Audit & vLLM-XPU Launcher" (launch-b60-dual-battlematrix-vllm.sh, SH) is paired with Tinker AI Lab's hardware-verified guide "intel-arc-pro-b60-dual-48gb-battlematrix-vs-tenstorrent-quietbox-blackhole-128gb-and-crescent-island-local-llm". It exposes 4 customizable browser variables (HF_MODEL_ID=Qwen/Qwen3.5-35B-A3B-Instruct, TP_SIZE=2, ZE_AFFINITY=0,1, API_PORT=8000) with loopback-first security defaults.
01 // HOMELABLocal AI / HomeLab· Verified: 2026-11-11
Browse All 48 Artifacts →
launch-b60-dual-battlematrix-vllm.sh

Intel Arc Pro B60 Dual 48GB ("Battlematrix") PCIe x8/x8 Bifurcation Audit & vLLM-XPU Launcher

Verifies that motherboard PCIe x8/x8 bifurcation exposes both BMG-G21 dies per Arc Pro B60 Dual 48GB card, checks 32GB Resizable BAR apertures and /dev/dri render nodes, and launches intel/llm-scaler-vllm with Tensor Parallelism.

View Paired Guide →
Customizable Variables (Saved in Browser)
UTF-8 Encoded · Live Client-Side Compilation
#!/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 // 参数化变量规范说明表

Customizable Parameter Reference for launch-b60-dual-battlematrix-vllm.sh

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

Template TokenParameter DescriptionVerified DefaultExample Format
{{HF_MODEL_ID}}HuggingFace / Local Model PathQwen/Qwen3.5-35B-A3B-InstructQwen/Qwen3.5-35B-A3B-Instruct
{{TP_SIZE}}Tensor Parallel Size (2 = 1 Dual Card 48GB, 4 = 2 Cards 96GB)22
{{ZE_AFFINITY}}ZE_AFFINITY_MASK (Intel Level Zero GPU IDs)0,10,1
{{API_PORT}}OpenAI-Compatible HTTP Port80008000
PAIRED HARDWARE MANIFEST // 配套实测环境与边界记录

Verified Environment for "High-VRAM Non-CUDA Workstations for 70B–122B Local LLMs: Intel Arc Pro B60 Dual 48GB ("Battlematrix" x8/x8 Bifurcation · up to 192GB) vs Tenstorrent QuietBox 2 (Blackhole 128GB) & Intel Crescent Island (160GB/480GB Xe3P)"

Tested Hardware & OS

Measured on: 2× Maxsun Intel Arc Pro B60 Dual 48G Turbo (4× BMG-G21 dies = 96GB GDDR6 · PCIe 5.0 x8/x8 bifurcated on WRX90) & Tenstorrent QuietBox 2 (Ryzen 7 9700X + 2× Blackhole p300c liquid-cooled = 4 Blackhole ASICs · 128GB GDDR6 + 256GB DDR5) | Spec-estimate row: Intel GPU D-Series "Crescent Island" D270 (32 Xe3P cores · 160GB / 480GB LPDDR5X @ 1.5 TB/s · 350W)

Pinned Stack & Model 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)
Offline Boundary (100% Local Containerized Multi-Accelerator Serving)

Once Docker images (`intel/llm-scaler-vllm` or `tt-inference-server`) and local HuggingFace/GGUF weights are cached on NVMe, zero internet connectivity is required.

Known Operational Limits & Failure Modes
  • **Mandatory PCIe `x8/x8` Bifurcation on Arc Pro B60 Dual 48GB:** To hit an aggressive sub-$1,300 street price, partner Dual B60 48GB cards (Maxsun Turbo / Sparkle) **omit an onboard PLX PCIe switch chip**. Lanes `0–7` wire directly to GPU Die 0 (`24GB`) and lanes `8–15` wire to GPU Die 1 (`24GB`). If your motherboard BIOS cannot bifurcate the physical ×16 slot into **`x8/x8`**, Die 1 never powers up on the bus and `lspci` only sees a single 24GB GPU!
  • **Above 4G Decoding + >=32GB Resizable BAR Per Die:** Each BMG-G21 die exposes a 24GB VRAM aperture (`Region 2` BAR2 = `32GB` power-of-two window). Installing two Dual B60 cards (`4 dies = 96GB`) or four Dual B60 cards (`8 dies = 192GB`) requires **128GB–256GB of contiguous 64-bit MMIO address space**—consumer boards with buggy UEFI MMIO tables may hang at POST unless `Above 4G Decoding` and `MMIO High Base` (`>= 512G` on WRX90/Xeon) are enabled.
  • **Intel "Crescent Island" (GPU D-Series) rows are SPEC-DERIVED ESTIMATES:** Crescent Island (`Xe3P` with 16-deep systolic XMX and 160GB/480GB LPDDR5X @ `1.5 TB/s`) strips out all display/ray-tracing silicon for pure datacenter/server inference; figures in Table 1 for Crescent Island are modeled from published `1.5 TB/s` bandwidth (`× 0.65` efficiency) rather than lab-measured.
DEPLOYMENT CHECKLIST // 配置落地核验步骤

3-Step Verification Checklist After Deploying launch-b60-dual-battlematrix-vllm.sh

  1. Set motherboard PCIe slot bifurcation to `x8/x8` (or `x8/x8` across multiple workstation slots) and confirmed `lspci` enumerates `2 × physical cards` BMG-G21 GPUs.
  2. Enabled `Above 4G Decoding` + `Resizable BAR` in BIOS and verified `Region 2: Memory ... [size=32G]` in `sudo lspci -vv` for every Intel GPU die.
  3. Configured `--shm-size=32g`, `SYCL_CACHE_PERSISTENT=1`, and `SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1` in the `intel/llm-scaler-vllm` Docker launch.