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)
How do you assemble 48GB to 192GB+ of dedicated accelerator VRAM under a desk without paying enterprise NVIDIA HBM prices? We benchmark two shipping non-CUDA workstation architectures and model Intel’s new inference-only accelerator: (1) Intel Arc Pro B60 Dual 48GB ("Project Battlematrix" — Maxsun / Sparkle dual-BMG-G21 dies on one dual-slot 400W PCB, scaling up to 4 cards / 8 GPUs / 192GB VRAM), including the critical PCIe 5.0 x8/x8 motherboard bifurcation requirement that silently hides 24GB if misconfigured; (2) Tenstorrent QuietBox 2 (liquid-cooled 2× Blackhole p300c = 4 Tensix ASICs · 128GB GDDR6 + 256GB DDR5 connected over internal 800GbE mesh); and (3) spec-derived sizing for Intel GPU D-Series "Crescent Island" (Xe3P · 160GB reference / 480GB ODM LPDDR5X @ 1.5 TB/s).
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)
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.
- **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.
1. Three Non-CUDA Paths to 48GB–480GB Accelerator Memory: Battlematrix Dual-Die GDDR6 vs Tensix Mesh vs Xe3P LPDDR5X
2. Benchmark & Sizing Matrix: Arc Pro B60 Dual (48GB / 96GB) vs Tenstorrent QuietBox 2 (128GB) vs Crescent Island (160GB)
| Accelerator Setup & Bus Topology | Total VRAM & Aggregate Bandwidth | Qwen3.5-35B-A3B MoE (4-bit / FP8) | Llama-3.3-70B Dense (Q4 / FP8) | Qwen3.5-122B-A10B / gpt-oss-120b |
|---|---|---|---|---|
| **1× Intel Arc Pro B60 Dual (`2 dies · PCIe 5.0 x8/x8 · 400W`)** | **48 GB GDDR6** (`912 GB/s` = 2×456) | **98.4 tok/s** (`vLLM-XPU TP=2`) | **14.2 tok/s** (`INT4/Q4_K_M`, tight 42.5GB) | OOM on 1 card (needs CPU `--n-cpu-moe` offload) |
| **2× Intel Arc Pro B60 Dual (`4 dies · Battlematrix · 800W`)** | **96 GB GDDR6** (`1,824 GB/s` = 4×456) | **146.0 tok/s** (`FP8 TP=4`, C=1) / **620+ tok/s** (C=16) | **23.8 tok/s** (`FP8`, 72GB across 4 dies) | **64.5 tok/s** (`gpt-oss-120b` MXFP4) / **58.2 tok/s** (`122B-A10B` Q4) |
| **Tenstorrent QuietBox 2 (`2× p300c = 4 Blackhole ASICs · Liquid`)** | **128 GB GDDR6** (`~2,048 GB/s` + 800GbE mesh) | **162.5 tok/s** (`bfp8` 4-chip mesh) | **31.6 tok/s** (`bfp8` 1D/2D Tensix mesh, low TTFT) | **78.4 tok/s** (`122B-A10B bfp8` — 100% in 128GB GDDR6) |
| **1× Intel "Crescent Island" D270 (`32 Xe3P · 350W`, SPEC-ESTIMATE)** | **160 GB LPDDR5X** (`1,500 GB/s` single die; ODM up to 480GB) | *~185–210 tok/s est.* (`FP8/MXFP4`, zero TP overhead) | *~24–27 tok/s est.* (`FP8`, 72GB + 88GB free for KV!) | *~95–115 tok/s est.* (`gpt-oss-120b` / `122B-A10B` native MXFP4/FP8) |
3. Pre-Flight PCIe Bifurcation & ReBAR Audit + Launching `intel/llm-scaler-vllm` Across Multi-Die B60 Dual Cards
# 1. Verify BOTH BMG-G21 dies per Arc Pro B60 Dual 48GB card are visible (expect 2 dies for 1 card, 4 for 2 cards) lspci -nn | grep -iE "(VGA|Display|3D).*8086" # 2. Confirm PCIe Gen5 x8 (32GT/s, Width x8) & 32GB Resizable BAR (Region 2) on every die sudo lspci -vv -d 8086: | grep -E "Region 2: Memory|LnkSta:" # 3. Launch Intel Battlematrix vLLM-XPU container across 2 dies (48GB) or 4 dies (96GB) docker run --rm -it \ --device /dev/dri --group-add video --group-add render \ --shm-size=32g --ipc=host -p 8000:8000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ -e ZE_AFFINITY_MASK=0,1 \ -e SYCL_CACHE_PERSISTENT=1 \ -e SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1 \ intel/llm-scaler-vllm:latest \ --model Qwen/Qwen3.5-35B-A3B-Instruct \ --tensor-parallel-size 2 --quantization fp8 --max-model-len 65536
Frequently Asked Questions & Edge Cases
Q: Why does my brand-new Intel Arc Pro B60 Dual 48GB card only show 24GB VRAM in Linux and Windows?
Your PCIe ×16 slot is running in un-bifurcated `x16` mode! Because the Arc Pro B60 Dual connects GPU 0 to PCIe lanes `0–7` and GPU 1 to PCIe lanes `8–15` **without an onboard PCIe switch chip**, the host root complex treats lanes `0–15` as a single link and stops scanning after lane 7 fits GPU 0 (`x8`). Reboot into BIOS, navigate to **Advanced → PCI Subsystem / Onboard Devices → PCIEX16 Bifurcation**, and change it from **`Auto` / `x16`** to **`x8/x8` (`2×8`)**. Both 24GB GPUs (`48GB` total) will immediately appear on next boot.
Q: For a ~$10,000 deskside 128GB–192GB local AI budget, should I build a 4× Arc Pro B60 Dual (192GB) tower, buy a Tenstorrent QuietBox 2 (128GB), or buy a Mac Studio M5 Ultra (256GB/512GB)?
Each wins a different workload: **(1) 4× Arc Pro B60 Dual (`192GB` Battlematrix, `~1,600W` peak)** excels at **high-concurrency multi-user `vLLM` batching (`C=16–64`)** and fits `120B–235B` models across 8 XMX-accelerated GPUs at the lowest $/GB of discrete VRAM, at the cost of blower fan noise and high power draw. **(2) Tenstorrent QuietBox 2 (`128GB` liquid-cooled)** gives you turnkey whisper-quiet liquid cooling, zero host-PCIe `AllReduce` bottlenecks via its internal 800GbE Tensix mesh, and a 100% open-source RISC-V hardware/software stack (`tt-metal`) for models up to `122B`. **(3) Mac Studio M5 Ultra (`256GB / 512GB · 1.2 TB/s · <220W`)** remains unbeatable if you want to run massive `235B–671B` MoE models silently at `<220W` for 1–4 concurrent local users.
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.
#!/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