You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Running SDXL (2.6B parameter UNet) Stable Diffusion on Intel Arc B580 (Battlemage) via ComfyUI consistently crashes across 4 different VRAM management configurations. The crash manifests in 3 distinct error patterns:
SIGSEGV in _calc_cond_batch_outer — segfault inside XPU backend during UNet forward pass
UR_RESULT_ERROR_OUT_OF_RESOURCES (error 40) — Level Zero resource exhaustion
SD1.5 (0.86B UNet) works reliably in all configurations. The crash is specific to large UNets (~2.6B params), pointing to a driver/JIT bug in handling large compute graphs or large kernel submissions on Battlemage.
After any of these crashes, the GPU enters a zombie state where all user-space access fails (PyTorch: XPU device count is zero, OpenCL: CL_PLATFORM_NOT_FOUND_KHR) but the PCI device and /dev/dri/renderD128 still appear present. Only a full reboot recovers the GPU.
System Information
Item
Value
OS
Ubuntu 26.04 LTS
Kernel
Linux 7.0.0-27-generic
GPU
Intel Arc B580 (BMG G21), PCI ID 8086:e20b, 12GB VRAM
SD1.5 (dreamshaper_8.safetensors, 2.13GB, 0.86B UNet, 512×768) works reliably across ALL configurations — ~3.5GB VRAM peak, ~30s per generation, zero crashes.
Key Observations
Not an OOM issue: The crashes occur even with --lowvram (CLIP offloaded after encode) and --fp32-vae. VRAM peak is ~9-10GB vs 12GB physical. The total VRAM reported by PyTorch is 11.33GB (not 12GB), and Level Zero has additional ~1.5GB hidden allocations invisible to PyTorch.
Model-size-dependent: SD1.5 (0.86B params) always works. SDXL (2.6B params) always crashes. The threshold for crash is somewhere between these.
Configuration-dependent crash location: The crash moves between sampling phase and VAE decode phase depending on parameter configuration, suggesting multiple fragile code paths rather than a single bug.
BF16 VAE is deterministically broken on B580: Tests Create readme.md #2 and Can neo be built on Windows? #3 both crash at VAE decode when using --bf16-vae. FP16 VAE produces black images (known: Xe doesn't support native FP16). Only --fp32-vae avoids the VAE crash, but then the UNet sampling phase crashes instead.
compute-runtime 8509 regression: We are aware of existing reports of 8509-series regressions causing ComfyUI crashes. Our version (26.05.37020.3) appears to be affected.
Zombie GPU state: After any crash, the GPU is unrecoverable without reboot — torch.xpu.is_available() returns False, clinfo shows 0 platforms, but PCI device still visible. This suggests kernel driver state corruption.
VRAM Budget (for reference)
SDXL parameter counts verified by scanning safetensors headers:
Can the Intel GPU driver team investigate Battlemage (BMG G21) stability with large (>2B parameter) UNet models? The drm_neo.cpp:283 Abort may be a Battlemage-specific bug that hasn't been reported before. We're happy to provide additional logs or run diagnostic tests.
Description
Running SDXL (2.6B parameter UNet) Stable Diffusion on Intel Arc B580 (Battlemage) via ComfyUI consistently crashes across 4 different VRAM management configurations. The crash manifests in 3 distinct error patterns:
Abort at drm_neo.cpp:283(most common) — kernel driver detects GPU context corruptionSIGSEGVin_calc_cond_batch_outer— segfault inside XPU backend during UNet forward passUR_RESULT_ERROR_OUT_OF_RESOURCES(error 40) — Level Zero resource exhaustionSD1.5 (0.86B UNet) works reliably in all configurations. The crash is specific to large UNets (~2.6B params), pointing to a driver/JIT bug in handling large compute graphs or large kernel submissions on Battlemage.
After any of these crashes, the GPU enters a zombie state where all user-space access fails (PyTorch:
XPU device count is zero, OpenCL:CL_PLATFORM_NOT_FOUND_KHR) but the PCI device and/dev/dri/renderD128still appear present. Only a full reboot recovers the GPU.System Information
8086:e20b, 12GB VRAMlibze-intel-gpu126.05.37020.3-1libze11.28.2-2libze-intel-gpu-legacy1-124.35.30872.45-1linux-firmware-intel-graphics20260319.git217ca6e4-0ubuntu2torch.xpu)77917ed(latest master, 2026-07-04)Environment Variables
Steps to Reproduce
semiRealIllustrious_v30.safetensors, 6.94GB)--bf16-unet --fp32-vae --use-pytorch-cross-attention --lowvramCrash Test Matrix
All tests use the same model (
semiRealIllustrious_v30, SDXL, 6.94GB), workflow (1024×1024, euler/normal, 20 steps, CFG 7.0, seed 42, no LoRA):--reserve-vram 3 --enable-dynamic-vram --bf16-vaedrm_neo.cpp:283Abort--enable-dynamic-vram --bf16-vae(removed reserve-vram)drm_neo.cpp:283Abort--lowvram --bf16-vaedrm_neo.cpp:283Abort--lowvram --fp32-vae_calc_cond_batch_outer)SIGSEGV(segfault)SD1.5 (
dreamshaper_8.safetensors, 2.13GB, 0.86B UNet, 512×768) works reliably across ALL configurations — ~3.5GB VRAM peak, ~30s per generation, zero crashes.Key Observations
Not an OOM issue: The crashes occur even with
--lowvram(CLIP offloaded after encode) and--fp32-vae. VRAM peak is ~9-10GB vs 12GB physical. The total VRAM reported by PyTorch is 11.33GB (not 12GB), and Level Zero has additional ~1.5GB hidden allocations invisible to PyTorch.Model-size-dependent: SD1.5 (0.86B params) always works. SDXL (2.6B params) always crashes. The threshold for crash is somewhere between these.
Configuration-dependent crash location: The crash moves between sampling phase and VAE decode phase depending on parameter configuration, suggesting multiple fragile code paths rather than a single bug.
BF16 VAE is deterministically broken on B580: Tests Create readme.md #2 and Can neo be built on Windows? #3 both crash at VAE decode when using
--bf16-vae. FP16 VAE produces black images (known: Xe doesn't support native FP16). Only--fp32-vaeavoids the VAE crash, but then the UNet sampling phase crashes instead.compute-runtime 8509 regression: We are aware of existing reports of 8509-series regressions causing ComfyUI crashes. Our version (26.05.37020.3) appears to be affected.
Zombie GPU state: After any crash, the GPU is unrecoverable without reboot —
torch.xpu.is_available()returnsFalse,clinfoshows 0 platforms, but PCI device still visible. This suggests kernel driver state corruption.VRAM Budget (for reference)
SDXL parameter counts verified by scanning safetensors headers:
model.diffusion_model)Related Reports
Request
Can the Intel GPU driver team investigate Battlemage (BMG G21) stability with large (>2B parameter) UNet models? The
drm_neo.cpp:283 Abortmay be a Battlemage-specific bug that hasn't been reported before. We're happy to provide additional logs or run diagnostic tests.