Commit Graph

13962 Commits

Author SHA1 Message Date
Disty0 c35201de30 cleanup triton mm 2026-07-09 16:21:47 +03:00
Disty0 8cc5faa877 remove math import 2026-07-09 14:14:50 +03:00
Disty0 3641d12274 Inductor breaks down with math.log 2026-07-09 14:06:02 +03:00
Vladimir Mandic f4348bcb69 server info handle multi-gpu
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-07-09 11:18:04 +02:00
CalamitousFelicitousness b2e4221fd0 feat(model): add anima 1.0 aesthetic and turbo reference models
Add the official Anima 1.0 Aesthetic and Turbo releases in diffusers
format. The previous turbo entry pointed at an unofficial build (base
with a fused community turbo lora); the official distilled checkpoint
replaces it.

- reference-base.json: add anima 1.0 aesthetic
- reference-distilled.json: point anima 1.0 turbo at the official v1.0
- add reference previews, remove the replaced turbo preview
2026-07-09 02:42:18 +01:00
CalamitousFelicitousness bb04eada64 fix(anima): resolve text encoder through shared map
allow_shared=False predates the Qwen-3 0.5B entries in shared_te_map, so
every Anima repo downloaded its own copy of the text encoder. Remove it
so all variants share the canonical Anima-1.0-Base text encoder.
2026-07-09 02:42:18 +01:00
CalamitousFelicitousness 169f033fb3 feat(sdnq): add attention benchmark cli tool
Benchmark and validate sdnq attention on the local gpu: correctness
checks for mask, causal, gqa and padding code paths, float8 support
probe, per-shape speed and error comparison against torch sdpa and
sageattention, and measured recommendations for the settings section.

Tables fill in live with per-config compile/warmup/timing progress,
current settings are compared against recommended values, and --save
writes a plain-text transcript of the results. --config-timeout turns
stuck compiles into failed rows; sd15 skips its hadamard configs since
compiling hadamard with a non pow2 head dim currently hangs inductor.

- shape presets follow real model geometries: sd15, sdxl, anima,
  flux2 klein, wan22 a14b, ltx 2.3, plus a masked joint-attention case
- runs the shipped kernel from modules/sdnq/kernels/triton_atten.py
  directly, with stock sdpa restored for baselines and references
2026-07-09 02:42:18 +01:00
CalamitousFelicitousness 4c289e8c9d fix(model): load transformer from all-in-one checkpoints in native loader
All-in-one exports bundle the text encoder and VAE alongside the
transformer under LDM-style family prefixes (cond_stage_model.,
first_stage_model., text_encoders., vae.). The native loader treated
those keys as a mixed-prefix error and rejected the file. Drop known
companion families before prefix detection and log what was skipped;
keys matching neither a transformer prefix nor a known family still
raise. TE and VAE keep coming from the base repo or their own overrides.
2026-07-09 00:35:00 +01:00
Disty0 3476125374 fix hadamard on sdnq atten with sd 1.5 2026-07-09 01:03:26 +03:00
Disty0 f8623d7879 Update SDNQConfig docstring 2026-07-08 21:49:28 +03:00
Disty0 2490023570 SDNQ skip quant if numel is less than 16384 and add nn.Embedding to no spilt modules on offload 2026-07-08 21:38:28 +03:00
Disty0 87684e1a21 SDNQ fix hadamard with non pow2 shapes and add 16bit types to quant list 2026-07-08 19:29:57 +03:00
Vladimir Mandic b257f49c31 Merge branch 'master' into dev 2026-07-08 14:54:32 +02:00
Vladimir Mandic bcd597cd8a improve ui models
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-07-08 14:50:29 +02:00
CalamitousFelicitousness 56dc1b5a39 fix(models): prefetch configs skipped by hf hub downloads on windows
diffusers pipeline downloads build subfolder config.json allow-patterns
with os.path.join, and huggingface_hub>=1.22 matches patterns with
fnmatchcase which does not normalize path separators
(huggingface/huggingface_hub#4435). On windows the resulting backslash
patterns match nothing, so per-component config.json files are never
downloaded and the incomplete snapshot still passes the diffusers
cache-completeness check, failing every subsequent load with
"no file named config.json".

Prefetch component configs with forward-slash patterns before pipeline
load. This covers all model families and also repairs snapshots already
broken by the bug on the next load attempt. No-op on linux, in offline
mode, and for local folder or single-file models.
2026-07-08 12:18:11 +01:00
Vladimir Mandic 70c503f58e fix non-english git and add faster stat
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-07-08 11:14:40 +02:00
Vladimir Mandic 3158468dc4 add server restart api endpoint
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-07-08 10:09:36 +02:00
Vladimir Mandic cfd31599b4 fix lint
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-07-08 09:50:26 +02:00
Vladimir Mandic 9a2c76ade3 Merge pull request #4987 from vladmandic/fix/lora-te-fixes
Fix/lora te fixes
2026-07-08 09:48:06 +02:00
CalamitousFelicitousness 1f549839dd fix(lora): disable diffusers-method loras on removal
Removing all loras never called set_adapters, so peft adapters stayed
active until model reload. Removal now uses disable_lora, which keeps
modules intact; unload_lora_weights would detach balanced offload hooks.
Load calls enable_lora after set_adapters since peft set_adapter does
not clear the disabled flag. Removal of fused diffusers loras remains
unhandled.
2026-07-08 03:06:47 +01:00
CalamitousFelicitousness 2605764f43 fix(lora): honor te multiplier for text encoder keys
NetworkModule.multiplier matched text encoders via 'transformer' in the
key prefix, which fits dit keys but never lora_te keys, so text encoder
modules followed unet_multiplier[0] and the te= tag strength was ignored.
2026-07-08 03:06:14 +01:00
CalamitousFelicitousness 4554b9a277 fix(lora): apply te networks before encode and honor lora_apply_te
Network activation ran after prompt encoding, so text encoder lora
weights never affected embeds on the first generation and the stale
result was then served from the embed cache. The trailing unfiltered
activate in network_load also overrode the te exclude filter, so the
lora_apply_te setting was never honored.

- parse and activate networks in process_base before pipeline args are built
- activate_filtered gates text encoder components on per-request or global
  lora_apply_te; used by base, hires, detailer and faceid call sites
- network_load accepts activate=False for callers that run their own
  deactivate/activate sequence with include/exclude
- network_activate walks excluded components in restore-only mode so a
  filtered text encoder reverts to backup instead of keeping stale deltas
- loaded_loras cache is single-entry since per-filter entries go stale when
  the setting toggles
- prompt embed cache key includes the effective lora_apply_te value
2026-07-08 03:06:04 +01:00
CalamitousFelicitousness 917dd3a109 fix(lora): handle flattened clip text model in kohya te keys
transformers >=5.6 removed the text_model wrapper from CLIPTextModel, so
kohya te keys no longer matched the network layer mapping and text encoder
weights were silently skipped. KeyConvert retries te keys with the
text_model segment dropped; lora extraction keeps writing canonical kohya
naming for flattened encoders.
2026-07-08 03:05:30 +01:00
Vladimir Mandic c3f9865fcc Merge pull request #4986 from 0xDELUXA/fix-hipblaslt-detect
rocm: detect hipBLASLt lazy library in per-arch subfolder and zlib form
2026-07-08 00:47:54 +02:00
0xDELUXA 6460601407 rocm: detect hipBLASLt lazy library in per-arch subfolder and zlib form 2026-07-07 23:12:04 +03:00
Vladimir Mandic 9fce9ed979 Merge pull request #4983 from vladmandic/dev
merge dev
2026-07-07
2026-07-07 09:19:56 +02:00
Vladimir Mandic 913481e5bd Merge branch 'master' into dev 2026-07-07 09:19:39 +02:00
Vladimir Mandic 2241ae2f35 update changelog
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-07-07 09:14:14 +02:00
Disty0 afe6394833 SDNQ add and enable use_contiguous_fp16_mm for ROCm 2026-07-07 03:48:30 +03:00
Vladimir Mandic 3ecb0b91d5 Merge pull request #4982 from liutyi/dev
Boogu Image 0.1 Edit Turbo reference image
2026-07-07 00:04:58 +02:00
Disty0 ae4b116f95 dedupe and cleanup sdnq code 2026-07-06 21:40:29 +03:00
Vladimir Mandic c254eff191 revert stat
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-07-06 17:58:50 +02:00
Oleksandr Liutyi a46c95c69d Boogu Image 0.1 Edit Turbo reference image 2026-07-06 14:03:11 +00:00
Vladimir Mandic 870cca30fa schedulers fix zero-sigma final-step
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-07-06 13:21:19 +02:00
Vladimir Mandic fc2231b6cf fix wan vae postprocessing step
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-07-06 10:30:33 +02:00
Vladimir Mandic d5ad5bab24 pin correct tokenizers
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-07-06 08:12:09 +02:00
CalamitousFelicitousness 81315c0131 docs(changelog): add krea2 and text-encoder override fixes 2026-07-06 02:58:01 +01:00
CalamitousFelicitousness caa7b426e2 fix(te): quantize single-file text-encoder overrides under SDNQ
The single-file override loaded via from_pretrained(state_dict=...) without a
quantization_config and then relied on do_post_load_quant, which no-ops on a
bare module (it maps Model/TE onto pipeline attributes that a lone encoder does
not have). A custom TE therefore loaded full-precision regardless of the SDNQ
setting. Pass quant_args into from_pretrained like the repo/default path so SDNQ
quantizes during load.
2026-07-06 02:29:48 +01:00
CalamitousFelicitousness 9ffaed47ba feat(te): reset text-encoder override when base model architecture changes
When a checkpoint change switches the model type, a custom sd_text_encoder no
longer fits, so reset it to Default and clear loaded_te, mirroring the sd_unet
reset. The type is resolved with detect_pipeline on both the loaded and incoming
checkpoints, so same-arch switches (Krea2 Base and Turbo share one pipeline
class) do not reset. The checkpoint handler also returns sd_text_encoder
alongside sd_unet so the dropdown reflects it.
2026-07-06 02:29:36 +01:00
CalamitousFelicitousness 6ac4c0e1a9 fix(krea2): resolve default guidance per variant instead of static 1.0
cfg=-1 means use the pipeline's own default. Krea2Pipeline serves both Base
and Turbo under one class, so a static signature default cannot fit both: Base
needs real guidance while the distilled Turbo runs guidance-free. Resolve the
unset default from is_distilled (Base 4.5, Turbo 1.0). Explicit cfg is passed
through unchanged.
2026-07-06 01:03:09 +01:00
CalamitousFelicitousness f96a0639e2 fix(te): apply sd_text_encoder changes for non-T5 encoders
reload_text_encoder only hot-swapped T5-family encoders and ran only at initial
load, so changing sd_text_encoder for a model with a generic encoder (Krea2's
Qwen3-VL) never took effect until a full model reload. Track the loaded
selection and, for encoders with no in-place swap, reload the model on change,
triggered from the settings handler. The fresh model object also invalidates
the prompt cache.
2026-07-05 22:49:47 +01:00
CalamitousFelicitousness f88298a1c0 fix(te): load non-T5 single-file text-encoder overrides as their actual class
The single-file override path built a T5EncoderModel regardless of the
requested class, so a non-T5 override (Qwen3-VL for Krea2) became a T5 with the
wrong vocab and overflowed its embedding into a CUDA device-side assert. Load
the file as the class the pipeline requests via from_pretrained(state_dict=...),
letting transformers reconcile per-arch key prefixes, and fall back to the base
text encoder on failure.
2026-07-05 21:48:59 +01:00
CalamitousFelicitousness cab3c22ec5 fix(installer): validate HEAD sha before flagging repo upgrade
git() returns command output on failure instead of raising, so a failed
rev-parse read as != commit and spuriously flagged the repo upgraded and
required a restart. Guard on a 40-char sha, matching the latest-commit check.
2026-07-05 19:38:46 +01:00
Vladimir Mandic e85272aa8a update changelog/todo/wiki
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-07-05 20:22:07 +02:00
Vladimir Mandic 9da4eb04dd Merge pull request #4981 from vladmandic/fix/installer-update-flow
Fix/installer update flow
2026-07-05 20:21:40 +02:00
CalamitousFelicitousness 0e6158438f refactor(loader): collapse native-load logging to one summary line
strip_prefix returns the detected prefix instead of logging it, so the load
summary reports it alongside the key count and the redundant reading-state
marker is gone. Four near-identical cls/file lines become one.
2026-07-05 18:21:28 +01:00
CalamitousFelicitousness f9d2bbe080 fix(krea2): zero-fill dormant last.up/last.down residual branch
Base ships last.up all-zeros so the branch is a no-op; pre-branch
finetunes omit both keys. A zero_init_missing spec field zero-fills
them on load instead of falling back to the base transformer.
2026-07-05 18:05:13 +01:00
CalamitousFelicitousness 4be57f63df fix(installer): drop eager upgrade from pinned installs
Under uv, install --upgrade re-resolves the full dependency set eagerly: the pinned tokenizers and transformers installs bumped typing-extensions past its requirements pin on every update, and the requirements check then downgraded it back, flagging a restart each time. The preceding uninstall and exact pins already force the intended change, so the flag only produced churn. The pip-routed diffusers install is aligned for consistency.
2026-07-05 15:07:09 +01:00
CalamitousFelicitousness 869568a801 fix(installer): set restart flag when repository is upgraded
The post-upgrade restart depended on a pinned requirement drifting in the same run, since the requirements check was the only place that set restart_required. The direct check compared a short hash and date string against a full sha and never fired. Set restart_required when the repository update moves HEAD so an upgrade restarts even when no package pins changed; a no-op pull now logs the repository as unchanged instead of upgraded and skips the restart.
2026-07-05 15:07:00 +01:00
CalamitousFelicitousness 573f99dc87 fix(installer): read installed git commit from package metadata
check_transformers and check_diffusers compared the target commit against a marker stored in server options, which is only persisted after full webui startup. An upgrade restart fires before that point, so the marker stayed stale and the next launch reinstalled the same pin again. Read the installed commit from the package dist-info direct_url.json instead; the options values remain as informational display.
2026-07-05 14:26:43 +01:00