Setup

What worked

python -c "import torch; print(torch.xpu.is_available(), torch.xpu.get_device_name(0))"
python -c "import torch; a=torch.randn(8192,8192,device='xpu'); print((a@a).sum().item())"
python -c "import torch; x=torch.empty(24*1024**3, dtype=torch.uint8, device='xpu'); print('24 GiB ok')"

All three pass on this card. If the first prints False, stop — it’s the BAR (or a kernel/firmware mismatch), not PyTorch.

What didn’t, and why it matters

Fallback that always works: stable-diffusion.cpp on Vulkan

Before torch.xpu was viable, LTX-2.5 video generation ran via stable-diffusion.cpp built with the Vulkan backend (distilled Q8_0 GGUF DiT plus the Gemma text encoder). Slower and less flexible than ComfyUI, but it needs no oneAPI at all — worth knowing if you’re on a platform where the BAR trick isn’t available.