Your current environment
The output of python collect_env.py
Collecting environment information...
==============================
System Info
==============================
OS : Ubuntu 24.04.4 LTS (x86_64)
GCC version : (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0
Clang version : Could not collect
CMake version : version 4.2.3
Libc version : glibc-2.39
==============================
PyTorch Info
==============================
PyTorch version : 2.10.0+xpu
Is debug build : False
CUDA used to build PyTorch : None
ROCM used to build PyTorch : N/A
XPU used to build PyTorch : 20250301
==============================
Python Environment
==============================
Python version : 3.12.3 (main, Jan 22 2026, 20:57:42) [GCC 13.3.0] (64-bit runtime)
Python platform : Linux-6.17.0-23-generic-x86_64-with-glibc2.39
==============================
Intel XPU / GPU Info
==============================
Is XPU available : True
XPU runtime version : 20250301
Intel GPU models :
GPU 0: Intel(R) Graphics [0xe223]
GPU 1: Intel(R) Graphics [0xe223]
--Compile time--
oneAPI compiler version : 2025.3.2
SYCL compiler build : 2025.3.2.20260112
oneCCL version : 2021.17.2-5
--Runtime--
Intel Graphics Compiler (IGC): 2.24.8
Intel GMM (libigdgmm) : 22.8.2
Level Zero loader version : 1.26.0
Level Zero driver version : 25.48.36300.8-0
vLLM XPU kernels version : 0.1.4
==============================
CPU Info
==============================
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 46 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 24
On-line CPU(s) list: 0-23
Vendor ID: GenuineIntel
Model name: Intel(R) Core(TM) Ultra 9 285K
CPU family: 6
Model: 198
Thread(s) per core: 1
Core(s) per socket: 24
Socket(s): 1
Stepping: 2
CPU(s) scaling MHz: 26%
CPU max MHz: 5700.0000
CPU min MHz: 800.0000
BogoMIPS: 7372.80
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdt_a rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect user_shstk avx_vnni lam wbnoinvd dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid bus_lock_detect movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities
Virtualization: VT-x
L1d cache: 768 KiB (20 instances)
L1i cache: 1.3 MiB (20 instances)
L2 cache: 40 MiB (12 instances)
L3 cache: 36 MiB (1 instance)
NUMA node(s): 1
NUMA node0 CPU(s): 0-23
Vulnerability Gather data sampling: Not affected
Vulnerability Ghostwrite: Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Not affected
Vulnerability Mmio stale data: Not affected
Vulnerability Old microcode: Not affected
Vulnerability Reg file data sampling: Not affected
Vulnerability Retbleed: Not affected
Vulnerability Spec rstack overflow: Not affected
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2: Mitigation; Enhanced / Automatic IBRS; IBPB conditional; PBRSB-eIBRS Not affected; BHI BHI_DIS_S
Vulnerability Srbds: Not affected
Vulnerability Tsa: Not affected
Vulnerability Tsx async abort: Not affected
Vulnerability Vmscape: Mitigation; IBPB before exit to userspace
==============================
Versions of relevant libraries
==============================
[pip3] flake8==7.3.0
[pip3] mypy==1.19.1
[pip3] mypy_extensions==1.1.0
[pip3] numpy==2.2.6
[pip3] pyzmq==27.1.0
[pip3] torch==2.10.0+xpu
[pip3] torchaudio==2.10.0+xpu
[pip3] torchvision==0.25.0+xpu
[pip3] transformers==4.57.6
[pip3] triton-xpu==3.6.0
[conda] Could not collect
==============================
vLLM Info
==============================
ROCM Version : Could not collect
vLLM Version : 0.1.dev14456+gde3f7fe65 (git sha: de3f7fe65)
vLLM Build Flags:
CUDA Archs: Not Set; ROCm: Disabled; XPU: Enabled
GPU Topology:
Could not collect
==============================
Environment Variables
==============================
CCL_TOPO_FABRIC_VERTEX_CONNECTION_CHECK=0
CCL_ROOT=/opt/intel/oneapi/ccl/2021.17
I_MPI_ROOT=/opt/intel/oneapi/mpi/2021.17
CCL_CONFIGURATION=cpu_gpu_dpcpp
VLLM_WORKER_MULTIPROC_METHOD=spawn
CCL_CONFIGURATION_PATH=
ZE_FLAT_DEVICE_HIERARCHY=COMPOSITE
CCL_ATL_TRANSPORT=ofi
ZE_AFFINITY_MASK=0,1
CCL_ZE_IPC_EXCHANGE=pidfd
VLLM_TARGET_DEVICE=xpu
LD_LIBRARY_PATH=/tmp/ucx_install/lib:/opt/intel/oneapi/tcm/1.4/lib:/opt/intel/oneapi/umf/1.0/lib:/opt/intel/oneapi/tbb/2022.3/env/../lib/intel64/gcc4.8:/opt/intel/oneapi/pti/0.16/lib:/opt/intel/oneapi/mpi/2021.17/opt/mpi/libfabric/lib:/opt/intel/oneapi/mpi/2021.17/lib:/opt/intel/oneapi/mkl/2025.3/lib:/opt/intel/oneapi/dnnl/2025.3/lib:/opt/intel/oneapi/debugger/2025.3/opt/debugger/lib:/opt/intel/oneapi/compiler/2025.3/opt/compiler/lib:/opt/intel/oneapi/compiler/2025.3/lib:/opt/intel/oneapi/ccl/2021.17/lib/:/usr/local/lib/
PYTORCH_NVML_BASED_CUDA_CHECK=1
TORCHINDUCTOR_COMPILE_THREADS=1
TORCHINDUCTOR_CACHE_DIR=/tmp/torchinductor_root
🐛 Describe the bug
Summary
intel/vllm:0.17.0-xpu reproduces a VLLM::Worker general protection fault followed by xe BCS engine resets on a dual Intel Arc Pro B70 system when running Qwen3-30B-A3B with TP=2 and dynamic FP8 on Ubuntu 24.04.4 HWE kernel 6.17.
The same failure pattern also reproduces with our local source-built vLLM XPU image. This suggests the issue is not caused by our source build alone, but likely involves an interaction between the host stack, xe driver/firmware, PCIe topology, and vLLM XPU TP=2 worker initialization / ProcessGroupXCCL path.
A standalone XCCL/SYCL collective sweep passes on the same host, so this does not appear to be a generic oneCCL/SYCL collective failure.
Hardware
- 2× Intel Arc Pro B70 32GB, Battlemage G31, device
8086:e223
- Z890 motherboard with PCIe switch topology
- No XeLink between GPUs
p2p_access:0
- Each B70 reports PCIe 5.0 x8 host link
ZE_AFFINITY_MASK=0,1 used for the two B70 GPUs
Host stack
- OS: Ubuntu 24.04.4 LTS
- Kernel:
6.17.0-23-generic HWE
- GPU driver: in-kernel
xe
- GuC firmware:
70.44.1
- GuC firmware version 70.49.4 has been mentioned in upstream contexts as a newer candidate; we have not yet tested an upgrade.
Containers tested
Intel pre-built image
intel/vllm:0.17.0-xpu
- Tested digest prefix:
sha256:e961d08135a6...
Intel's published 0.17.0-xpu validation BOM differs from our host stack. It lists Ubuntu 25.04, KMD 6.14.0, PyTorch 2.10, vllm-xpu-kernels 0.1.4, and oneCCL 2021.15.7.8, but collect_env.py inside the tested intel/vllm:0.17.0-xpu container reports oneCCL 2021.17.2-5 and CCL_ROOT=/opt/intel/oneapi/ccl/2021.17.
Local source-built image
Built from vLLM Dockerfile.xpu:
- vLLM main
- PyTorch 2.11 + XPU
vllm-xpu-kernels 0.1.7
- oneCCL 2021.17.2
- oneAPI 2025.3
Model / vLLM setup
- Model:
Qwen/Qwen3-30B-A3B
- Local BF16 model path
- Dynamic FP8 quantization via
--quantization fp8
- Tensor parallelism:
--tensor-parallel-size 2
Common args:
--dtype float16
--quantization fp8
--tensor-parallel-size 2
--gpu-memory-utilization 0.88
--max-model-len 8192
--max-num-batched-tokens 8192
--max-num-seqs 64
--block-size 64
--trust-remote-code
Minimal reproducer
docker pull intel/vllm:0.17.0-xpu
docker run -d --name vllm-tp2-repro \
--device /dev/dri \
--group-add render \
--group-add video \
--network host \
--shm-size 16g \
--ipc host \
-v /path/to/Qwen3-30B-A3B:/model:ro \
-e CCL_ATL_TRANSPORT=ofi \
-e CCL_ZE_IPC_EXCHANGE=pidfd \
-e CCL_TOPO_FABRIC_VERTEX_CONNECTION_CHECK=0 \
-e ZE_FLAT_DEVICE_HIERARCHY=COMPOSITE \
-e ZE_AFFINITY_MASK=0,1 \
-e ONEAPI_DEVICE_SELECTOR=level_zero:* \
-e VLLM_WORKER_MULTIPROC_METHOD=spawn \
intel/vllm:0.17.0-xpu \
python3 -u -m vllm.entrypoints.openai.api_server \
--model /model \
--dtype float16 \
--quantization fp8 \
--tensor-parallel-size 2 \
--gpu-memory-utilization 0.88 \
--max-model-len 8192 \
--max-num-batched-tokens 8192 \
--max-num-seqs 64 \
--block-size 64 \
--enforce-eager \
--trust-remote-code \
--host 0.0.0.0 \
--port 8000
Observed result
traps: VLLM::Worker[...] general protection fault
traps: VLLM::Worker[...] general protection fault
xe 0000:03:00.0: [drm] GT0: Engine reset: engine_class=bcs
xe 0000:07:00.0: [drm] GT0: Engine reset: engine_class=bcs
In one run, the GP fault was reported in libc.so.6 from the worker processes. We do not know whether this indicates a pthread/context issue, memory corruption surfacing in libc, or another native runtime issue.
Test matrix
| Test |
Stack |
Key config |
Result |
BCS reset |
| Profile A |
local source-build |
CCL_ENABLE_SYCL_KERNELS=0 |
Stable, HEALTH=200, ~362 tok/s @ 50 concurrency |
0 |
| Profile B |
local source-build |
CCL_ENABLE_SYCL_KERNELS=1 |
XCCL / worker-init crash |
yes |
| Test F |
local source-build |
CCL_ENABLE_SYCL_KERNELS=1, UR_L0_V2_FORCE_DISABLE_COPY_OFFLOAD=1 |
ProcessGroupXCCL::allreduce_impl crash |
0 |
| Test G |
local source-build |
above + CCL_ALLREDUCE=ring |
Passed allreduce-init, later crashed during Dynamo/Inductor compile |
0 |
| C4 v2 |
local source-build |
above + --enforce-eager, VLLM_XPU_ENABLE_XPU_GRAPH=0 |
HEALTH=200, inference works, but ~0.5 tok/s |
0 |
| C8 |
intel/vllm:0.17.0-xpu |
Intel image, TP=2 FP8 |
VLLM::Worker GP fault + BCS reset |
yes |
| C8b |
intel/vllm:0.17.0-xpu |
above + CCL_TOPO_FABRIC_VERTEX_CONNECTION_CHECK=0 |
same GP fault + BCS reset on both GPUs |
yes |
Important control: standalone XCCL/SYCL sweep passes
Using the same host and relevant XPU/CCL environment as the failing vLLM path:
CCL_ENABLE_SYCL_KERNELS=1
torchrun --nproc-per-node=2 xccl_sweep.py
Results:
| Collective |
fp32 |
fp16 |
bf16 |
int32 |
Max size |
| all_reduce |
OK |
OK |
OK |
OK |
33M elements / 134 MB |
| all_gather |
OK |
OK |
OK |
OK |
33M elements / 134 MB |
| reduce_scatter |
OK |
OK |
OK |
not tested |
33M elements / 134 MB |
This suggests the hardware and base oneCCL/SYCL collective path are functional in isolation. The crash appears to require the vLLM TP=2 worker-init / ProcessGroupXCCL context.
Failure domains observed
We observed three separate failure domains while trying to make the source-built image start with CCL_ENABLE_SYCL_KERNELS=1.
1. BCS engine reset / Level Zero V2 copy-offload side effect
UR_L0_V2_FORCE_DISABLE_COPY_OFFLOAD=1 avoided the BCS engine reset in one worker-init canary, but did not fix the underlying vLLM/XCCL crash.
2. oneCCL topo allreduce / ProcessGroupXCCL path
The source-build crashed in:
c10d::ProcessGroupXCCL::allreduce_impl
c10d::ProcessGroupXCCL::collective
c10d::ops::allreduce_XPU
CCL_ALLREDUCE=ring got past this stage, but performance collapsed and the next failure occurred later during compile.
oneCCL documents that for GPU buffers, topo is the default algorithm, and that algorithms other than topo copy GPU-buffer data to host and follow the specified CPU algorithm. That likely explains the large performance drop with CCL_ALLREDUCE=ring.
3. vLLM compile / XPU graph path
After bypassing the allreduce failure with UR_L0_V2_FORCE_DISABLE_COPY_OFFLOAD=1 and CCL_ALLREDUCE=ring, the next failure occurred during Dynamo/Inductor compile.
Adding:
--enforce-eager
VLLM_XPU_ENABLE_XPU_GRAPH=0
allowed vLLM to reach HEALTH=200 and serve inference, but throughput was only ~0.5 tok/s in our smoke test. This is a debug path, not a usable workaround.
Stable fallback on our current host
The only stable and usable config we found on this Ubuntu 24.04.4 / HWE 6.17 host is:
CCL_ENABLE_SYCL_KERNELS=0
CCL_TOPO_FABRIC_VERTEX_CONNECTION_CHECK=0
SYCL_UR_USE_LEVEL_ZERO_V2=0
CCL_ATL_TRANSPORT=ofi
CCL_ZE_IPC_EXCHANGE=pidfd
ZE_FLAT_DEVICE_HIERARCHY=COMPOSITE
ZE_AFFINITY_MASK=0,1
ONEAPI_DEVICE_SELECTOR=level_zero:*
VLLM_WORKER_MULTIPROC_METHOD=spawn
VLLM_XPU_ENABLE_XPU_GRAPH=1
Observed performance:
- ~29 tok/s single-stream
- ~240 tok/s at 16 concurrency
- ~362 tok/s at 50 concurrency
Why this looks host-stack related
We are not claiming the exact root cause is known. However:
- Intel's pre-built
intel/vllm:0.17.0-xpu image reproduces the same failure pattern.
- Adding
CCL_TOPO_FABRIC_VERTEX_CONNECTION_CHECK=0 removes the CCL topology warning but does not prevent the GP fault + BCS reset.
- Standalone torchrun XCCL/SYCL collective sweeps pass on the same host.
- The failure requires the vLLM TP=2 worker initialization / ProcessGroupXCCL context.
- Our host differs from Intel's published
0.17.0-xpu validation BOM, especially OS/kernel/KMD/firmware.
A public external report claims that a similar 2× Intel Arc Pro B70 + Qwen3-30B-A3B + TP=2 + FP8 setup using intel/vllm:0.17.0-xpu on Ubuntu 25.10 reaches high throughput. We have not reproduced that environment yet, so we treat this only as motivation for a host-stack A/B test.
We are preparing a separate Ubuntu 25.10 spare-disk test and will report back.
Hardware behavior and safety
We observed BCS engine resets across multiple failed test runs. After each:
- The
xe driver recovered the engine.
- GPU devices remained accessible.
- Temperatures returned to idle.
- No cascading errors were observed.
- A full reboot cleared all state cleanly.
Because BCS engine resets are not normal operation, we stopped repeated default Profile B testing on the current host stack.
Related upstream / external signals
- Intel's
0.17.0-xpu release notes say the container is validated on Intel Arc Pro B-Series Graphics and list the validation BOM as Ubuntu 25.04 + KMD 6.14.0 + oneAPI 2025.3.2 hotfix + PyTorch 2.10 + vllm-xpu-kernels 0.1.4 + oneCCL 2021.15.7.8.
- oneCCL docs state that
CCL_ALLREDUCE=topo is the default for GPU buffers, and that non-topo algorithms copy GPU-buffer data to host and use the CPU algorithm.
- Intel SYCL runtime docs state that the Level Zero V2 adapter is used by default on Xe2/Battlemage, and that
SYCL_UR_USE_LEVEL_ZERO_V2=0 selects the legacy adapter.
vllm-xpu-kernels tracks ongoing work to make torch.compile the default execution path for XPU. This may be relevant to the later Dynamo/Inductor failure domain, but the primary C8/C8b failure happens earlier during worker initialization.
- There are similar multi-GPU Intel XPU reports in adjacent projects where single-GPU works but multi-GPU fails in SYCL/Level Zero cross-device paths. This may not be the same bug, but it suggests this class of issue is worth investigating.
Questions
- Is dual Arc Pro B70 + Qwen3-30B-A3B + TP=2 + FP8 expected to work with
intel/vllm:0.17.0-xpu on Ubuntu 24.04.4 HWE 6.17?
- Is Ubuntu 24.04.4 / HWE 6.17 a supported host stack for
intel/vllm:0.17.0-xpu on Intel Arc Pro B70?
- Which host BOM should users target for dual Arc Pro B70 + Qwen3-30B-A3B + TP=2 + dynamic FP8?
- Should this be routed to vLLM, vllm-xpu-kernels, oneCCL, Intel compute-runtime / Level Zero, or the Linux
xe KMD?
- What additional logs would be useful? We can provide redacted:
- full
dmesg -T
journalctl -k -b
- docker logs
- XCCL sweep script and output
lspci -nn
sycl-ls
xpu-smi output
- exact container command lines
Before submitting a new issue...
Your current environment
The output of
python collect_env.py🐛 Describe the bug
Summary
intel/vllm:0.17.0-xpureproduces aVLLM::Workergeneral protection fault followed byxeBCS engine resets on a dual Intel Arc Pro B70 system when running Qwen3-30B-A3B with TP=2 and dynamic FP8 on Ubuntu 24.04.4 HWE kernel 6.17.The same failure pattern also reproduces with our local source-built vLLM XPU image. This suggests the issue is not caused by our source build alone, but likely involves an interaction between the host stack,
xedriver/firmware, PCIe topology, and vLLM XPU TP=2 worker initialization / ProcessGroupXCCL path.A standalone XCCL/SYCL collective sweep passes on the same host, so this does not appear to be a generic oneCCL/SYCL collective failure.
Hardware
8086:e223p2p_access:0ZE_AFFINITY_MASK=0,1used for the two B70 GPUsHost stack
6.17.0-23-genericHWExe70.44.1Containers tested
Intel pre-built image
intel/vllm:0.17.0-xpusha256:e961d08135a6...Intel's published
0.17.0-xpuvalidation BOM differs from our host stack. It lists Ubuntu 25.04, KMD 6.14.0, PyTorch 2.10,vllm-xpu-kernels 0.1.4, and oneCCL 2021.15.7.8, butcollect_env.pyinside the testedintel/vllm:0.17.0-xpucontainer reports oneCCL2021.17.2-5andCCL_ROOT=/opt/intel/oneapi/ccl/2021.17.Local source-built image
Built from vLLM
Dockerfile.xpu:vllm-xpu-kernels 0.1.7Model / vLLM setup
Qwen/Qwen3-30B-A3B--quantization fp8--tensor-parallel-size 2Common args:
Minimal reproducer
docker pull intel/vllm:0.17.0-xpu docker run -d --name vllm-tp2-repro \ --device /dev/dri \ --group-add render \ --group-add video \ --network host \ --shm-size 16g \ --ipc host \ -v /path/to/Qwen3-30B-A3B:/model:ro \ -e CCL_ATL_TRANSPORT=ofi \ -e CCL_ZE_IPC_EXCHANGE=pidfd \ -e CCL_TOPO_FABRIC_VERTEX_CONNECTION_CHECK=0 \ -e ZE_FLAT_DEVICE_HIERARCHY=COMPOSITE \ -e ZE_AFFINITY_MASK=0,1 \ -e ONEAPI_DEVICE_SELECTOR=level_zero:* \ -e VLLM_WORKER_MULTIPROC_METHOD=spawn \ intel/vllm:0.17.0-xpu \ python3 -u -m vllm.entrypoints.openai.api_server \ --model /model \ --dtype float16 \ --quantization fp8 \ --tensor-parallel-size 2 \ --gpu-memory-utilization 0.88 \ --max-model-len 8192 \ --max-num-batched-tokens 8192 \ --max-num-seqs 64 \ --block-size 64 \ --enforce-eager \ --trust-remote-code \ --host 0.0.0.0 \ --port 8000Observed result
In one run, the GP fault was reported in
libc.so.6from the worker processes. We do not know whether this indicates a pthread/context issue, memory corruption surfacing in libc, or another native runtime issue.Test matrix
CCL_ENABLE_SYCL_KERNELS=0HEALTH=200, ~362 tok/s @ 50 concurrencyCCL_ENABLE_SYCL_KERNELS=1CCL_ENABLE_SYCL_KERNELS=1,UR_L0_V2_FORCE_DISABLE_COPY_OFFLOAD=1ProcessGroupXCCL::allreduce_implcrashCCL_ALLREDUCE=ring--enforce-eager,VLLM_XPU_ENABLE_XPU_GRAPH=0HEALTH=200, inference works, but ~0.5 tok/sintel/vllm:0.17.0-xpuVLLM::WorkerGP fault + BCS resetintel/vllm:0.17.0-xpuCCL_TOPO_FABRIC_VERTEX_CONNECTION_CHECK=0Important control: standalone XCCL/SYCL sweep passes
Using the same host and relevant XPU/CCL environment as the failing vLLM path:
Results:
This suggests the hardware and base oneCCL/SYCL collective path are functional in isolation. The crash appears to require the vLLM TP=2 worker-init / ProcessGroupXCCL context.
Failure domains observed
We observed three separate failure domains while trying to make the source-built image start with
CCL_ENABLE_SYCL_KERNELS=1.1. BCS engine reset / Level Zero V2 copy-offload side effect
UR_L0_V2_FORCE_DISABLE_COPY_OFFLOAD=1avoided the BCS engine reset in one worker-init canary, but did not fix the underlying vLLM/XCCL crash.2. oneCCL topo allreduce / ProcessGroupXCCL path
The source-build crashed in:
CCL_ALLREDUCE=ringgot past this stage, but performance collapsed and the next failure occurred later during compile.oneCCL documents that for GPU buffers,
topois the default algorithm, and that algorithms other thantopocopy GPU-buffer data to host and follow the specified CPU algorithm. That likely explains the large performance drop withCCL_ALLREDUCE=ring.3. vLLM compile / XPU graph path
After bypassing the allreduce failure with
UR_L0_V2_FORCE_DISABLE_COPY_OFFLOAD=1andCCL_ALLREDUCE=ring, the next failure occurred during Dynamo/Inductor compile.Adding:
allowed vLLM to reach
HEALTH=200and serve inference, but throughput was only ~0.5 tok/s in our smoke test. This is a debug path, not a usable workaround.Stable fallback on our current host
The only stable and usable config we found on this Ubuntu 24.04.4 / HWE 6.17 host is:
CCL_ENABLE_SYCL_KERNELS=0 CCL_TOPO_FABRIC_VERTEX_CONNECTION_CHECK=0 SYCL_UR_USE_LEVEL_ZERO_V2=0 CCL_ATL_TRANSPORT=ofi CCL_ZE_IPC_EXCHANGE=pidfd ZE_FLAT_DEVICE_HIERARCHY=COMPOSITE ZE_AFFINITY_MASK=0,1 ONEAPI_DEVICE_SELECTOR=level_zero:* VLLM_WORKER_MULTIPROC_METHOD=spawn VLLM_XPU_ENABLE_XPU_GRAPH=1Observed performance:
Why this looks host-stack related
We are not claiming the exact root cause is known. However:
intel/vllm:0.17.0-xpuimage reproduces the same failure pattern.CCL_TOPO_FABRIC_VERTEX_CONNECTION_CHECK=0removes the CCL topology warning but does not prevent the GP fault + BCS reset.0.17.0-xpuvalidation BOM, especially OS/kernel/KMD/firmware.A public external report claims that a similar 2× Intel Arc Pro B70 + Qwen3-30B-A3B + TP=2 + FP8 setup using
intel/vllm:0.17.0-xpuon Ubuntu 25.10 reaches high throughput. We have not reproduced that environment yet, so we treat this only as motivation for a host-stack A/B test.We are preparing a separate Ubuntu 25.10 spare-disk test and will report back.
Hardware behavior and safety
We observed BCS engine resets across multiple failed test runs. After each:
xedriver recovered the engine.Because BCS engine resets are not normal operation, we stopped repeated default Profile B testing on the current host stack.
Related upstream / external signals
0.17.0-xpurelease notes say the container is validated on Intel Arc Pro B-Series Graphics and list the validation BOM as Ubuntu 25.04 + KMD 6.14.0 + oneAPI 2025.3.2 hotfix + PyTorch 2.10 +vllm-xpu-kernels 0.1.4+ oneCCL 2021.15.7.8.CCL_ALLREDUCE=topois the default for GPU buffers, and that non-topo algorithms copy GPU-buffer data to host and use the CPU algorithm.SYCL_UR_USE_LEVEL_ZERO_V2=0selects the legacy adapter.vllm-xpu-kernelstracks ongoing work to maketorch.compilethe default execution path for XPU. This may be relevant to the later Dynamo/Inductor failure domain, but the primary C8/C8b failure happens earlier during worker initialization.Questions
intel/vllm:0.17.0-xpuon Ubuntu 24.04.4 HWE 6.17?intel/vllm:0.17.0-xpuon Intel Arc Pro B70?xeKMD?dmesg -Tjournalctl -k -blspci -nnsycl-lsxpu-smioutputBefore submitting a new issue...