Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions omni/ComfyUI-OmniXPU/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ No workflow or model-pipeline replacement is required.
|---|---|
| Kitchen XPU backend | INT8/QTensor operations, FP8 QDQ and stochastic rounding, SVDQuant, AdaLN, four RoPE APIs, and ConvRot |
| ComfyUI adapter | Attention routing, LayerNorm/RMSNorm class integration, the remaining FP8 model/factory bridge, and fused Lumina/Z-Image INT8 FFN wiring |
| Memory adapter | Cached whole-LoRA model budgets plus optional DynamicVRAM per-layer XPU staging measurements |
| Legacy fix | Global `F.interpolate` and `torch.median`/`torch.nanmedian` workarounds; disabled by default |

RoPE, generic INT8 linear dispatch, and the old FP8 negative-zero wrapper are
Expand Down Expand Up @@ -45,6 +46,7 @@ OMNIXPU_ATTENTION=0 # Disable the attention adapter
OMNIXPU_NORM=0 # Disable the norm adapter
OMNIXPU_FP8_GEMM=0 # Disable the temporary FP8 model/factory adapter
OMNIXPU_INT8_FFN=0 # Disable fused Lumina/Z-Image INT8 FFN wiring
OMNIXPU_LORA_MEMORY=0 # Disable cached whole-LoRA budgets and staging logs
```

Validated sub-routes can be disabled independently:
Expand Down Expand Up @@ -91,6 +93,18 @@ Dispatch decisions and fallback reasons:
OMNIXPU_DEBUG_VERBOSE=1 python main.py
```

LoRA weights are measured once when the LoRA node executes. Unique tensor sizes
are cached in a `ModelPatcher` attachment, inherited by clones, accumulated for
stacked LoRAs, and added to both `memory_required` and an explicitly supplied
`minimum_memory_required`. The base model's `model_size()` semantics stay
unchanged. Model loads read the cached attachment instead of rescanning patches.
DynamicVRAM layer scanning is disabled by default. To diagnose every LoRA
staging operation, including its XPU state and any failure, enable:

```bash
OMNIXPU_LORA_MEMORY_TRACE=1 python main.py
```

Set tracing variables before startup. The **OmniXPU Status** node reports:

- GPU and `omni_xpu_kernel` capabilities;
Expand Down
Loading