Two changes to _extended_self_attn dispatch (per-block, per-step hot path): - The flash-attn LSE path now auto-enables whenever flash_attn is importable, instead of requiring ComfyUI's --use-flash-attention launch flag (that flag only governs comfy's own attention calls; gating our internal path on it left the fast path dark on stock `comfy launch`). A runtime kernel failure permanently drops to the SDPA fallback. - The SDPA fallback no longer passes a float attn_mask (which forced the ~2.6x slower mem-efficient backend). The uniform b_cond bias is folded into one appended head dimension (q extra = sqrt(D), target-k extra = 0, cond-k extra = b_cond, explicit scale=1/sqrt(D)), head dim zero-padded to a multiple of 8, padded value channels sliced off the output — exact, and flash-backend eligible. Measured on RTX 5070 Ti at ~1MP shapes (B=2, 16h, 4200+4200 tokens, bf16), per call: old float-mask 17.3 ms -> fallback 11.2 ms / flash 6.9 ms (native target-only attention: 3.3 ms). x28 blocks this was ~300 ms/step of recoverable overhead. Cross-path agreement at the bf16 noise floor; gate-off invariant unchanged (7.55e-08 in test_smoke). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TSkULyWmisdHfrxHNc7J37
15 lines
996 B
TOML
15 lines
996 B
TOML
[project]
|
|
name = "comfyui-easycontrol-ksamplercompat"
|
|
description = "KSampler-compatible Anima EasyControl image conditioning for ComfyUI. A model-patch node (MODEL + VAE + IMAGE -> MODEL) that feeds a reference image into the Anima DiT's frozen extended self-attention stream and returns a patched MODEL for the stock KSampler — no dedicated sampler node. Reimplements anima_lora's EasyControl inference path against ComfyUI's native Anima/Cosmos DiT backbone (split q/k/v projections). EasyControl checkpoints go in models/loras/. Uses: grayscale/lineart -> color (colorization), and EasyEdit — reference image + tag-delta instruction -> edited re-render in one pass, no inversion (two CPU-only instruction-builder nodes included)."
|
|
version = "0.3.1"
|
|
license = { file = "LICENSE" }
|
|
dependencies = []
|
|
|
|
[project.urls]
|
|
Repository = "https://github.com/sorryhyun/ComfyUI-EasyControl-KSamplerCompat"
|
|
|
|
[tool.comfy]
|
|
PublisherId = "sorryhyun"
|
|
DisplayName = "Anima EasyControl (KSampler)"
|
|
Icon = ""
|