ComfyUI Extension: ComfyUI-OmniXPU
Run ComfyUI workflows without the setup
No installs, no CUDA version roulette, no GPU sitting idle on your bill. Bring a workflow and run it in the browser.
Intel XPU acceleration for upstream ComfyUI via omni_xpu_kernel with transparent optimizations applied at startup.
Looking for a different extension?
Custom Nodes (0)
README
ComfyUI-OmniXPU
Intel XPU acceleration for upstream ComfyUI via omni_xpu_kernel.
All optimizations are applied transparently at startup — no workflow changes needed.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/analytics-zoo/ComfyUI-OmniXPU.git
Requires omni_xpu_kernel installed. Without it the node loads silently with no patches applied.
What it does
| Patch | Target |
|-------|--------|
| ESIMD Flash Attention | optimized_attention |
| ESIMD RoPE | _apply_rope1 / apply_rope1 |
| ESIMD LayerNorm/RMSNorm | LayerNorm.forward / RMSNorm.forward / rms_norm() |
| FP8 GEMM | fp8_linear / mixed_precision_ops |
| FP8 Negative Zero Fix | manual_stochastic_round_to_float8 |
| Interpolate Fix | F.interpolate |
Environment Variables
All patches enabled by default. Disable with =0:
OMNIXPU_ENABLE=0 # Master switch — disable everything
OMNIXPU_ATTENTION=0 # Disable ESIMD Flash Attention only
OMNIXPU_ROPE=0 # Disable ESIMD RoPE only
OMNIXPU_NORM=0 # Disable ESIMD LayerNorm/RMSNorm only
OMNIXPU_FP8_GEMM=0 # Disable FP8 GEMM only
OMNIXPU_FP8_NEG_ZERO_FIX=0 # Disable FP8 negative zero fix only
OMNIXPU_INTERPOLATE_FIX=0 # Disable interpolate workaround only
Diagnostics
Add the OmniXPU Status node to any workflow to see:
=== ComfyUI-OmniXPU Status ===
GPU: Intel(R) Arc(TM) B580 Graphics (11605 MB)
omni_xpu_kernel: 0.1.0
available: sdp, norm, rotary, linear_fp8
[+] interpolate_fix: applied
[+] fp8_neg_zero_fix: applied
[+] norm: applied
[+] rope: applied
[+] fp8_gemm: applied
[+] attention: applied
Startup Log
When loaded successfully, ComfyUI logs:
[OmniXPU] omni_xpu_kernel 0.1.0 — available: sdp, norm, rotary, linear_fp8
[OmniXPU] interpolate_fix: applied
[OmniXPU] fp8_neg_zero_fix: applied
[OmniXPU] norm: applied
[OmniXPU] rope: applied
[OmniXPU] fp8_gemm: applied
[OmniXPU] attention: applied
How it works
The node monkey-patches ComfyUI internals at import time. Each patch:
- Checks if the corresponding
omni_xpu_kernelsubmodule is available (via centralized probe) - Verifies the target function/class exists in the current ComfyUI version
- Wraps the original with an XPU-accelerated version that falls back to the original for non-XPU tensors or unsupported shapes
- Records status for the diagnostics node
No ComfyUI core files are modified. Works with unmodified upstream ComfyUI.
Compatibility
- ComfyUI >= 0.18.x
- PyTorch >= 2.7 with XPU support
omni_xpu_kernel>= 0.1.0
Run ComfyUI workflows without the setup
No installs, no CUDA version roulette, no GPU sitting idle on your bill. Bring a workflow and run it in the browser.