* kontext: support ref images indices
* lora: support x_embedder
* update help message
* Support for negative indices
* support for OmniControl (offsets at index 0)
* c++11 compat
* add --increase-ref-index option
* simplify the logic and fix some issues
* update README.md
* remove unused variable
---------
Co-authored-by: leejet <leejet714@gmail.com>
* Wan MoE: Automatic expert routing based on timestep boundary
* unify code style and fix some issues
---------
Co-authored-by: leejet <leejet714@gmail.com>
* add wan vae suppport
* add wan model support
* add umt5 support
* add wan2.1 t2i support
* make flash attn work with wan
* make wan a little faster
* add wan2.1 t2v support
* add wan gguf support
* add offload params to cpu support
* add wan2.1 i2v support
* crop image before resize
* set default fps to 16
* add diff lora support
* fix wan2.1 i2v
* introduce sd_sample_params_t
* add wan2.2 t2v support
* add wan2.2 14B i2v support
* add wan2.2 ti2v support
* add high noise lora support
* sync: update ggml submodule url
* avoid build failure on linux
* avoid build failure
* update ggml
* update ggml
* fix sd_version_is_wan
* update ggml, fix cpu im2col_3d
* fix ggml_nn_attention_ext mask
* add cache support to ggml runner
* fix the issue of illegal memory access
* unify image loading processing
* add wan2.1/2.2 FLF2V support
* fix end_image mask
* update to latest ggml
* add GGUFReader
* update docs
* Conv2DDirect for VAE stage
* Enable only for Vulkan, reduced duplicated code
* Cmake option to use conv2d direct
* conv2d direct always on for opencl
* conv direct as a flag
* fix merge typo
* Align conv2d behavior to flash attention's
* fix readme
* add conv2d direct for controlnet
* add conv2d direct for esrgan
* clean code, use enable_conv2d_direct/get_all_blocks
* format code
---------
Co-authored-by: leejet <leejet714@gmail.com>
* feat: add new scheduler types, clip skip and vae to image embedded params
- If a non default scheduler is set, include it in the 'Sampler' tag in the data
embedded into the final image.
- If a custom VAE path is set, include the vae name (without path and extension)
in embedded image params under a `VAE:` tag.
- If a custom Clip skip is set, include that Clip skip value in embedded image
params under a `Clip skip:` tag.
* feat: add separate diffusion and text models to metadata
---------
Co-authored-by: one-lithe-rune <skapusniak@lithe-runes.com>
* Instruct-p2p support
* support 2 conditionings cfg
* Do not re-encode the exact same image twice
* fixes for 2-cfg
* Fix pix2pix latent inputs + improve inpainting a bit + fix naming
* prepare for other pix2pix-like models
* Support sdxl ip2p
* fix reference image embeddings
* Support 2-cond cfg properly in cli
* fix typo in help
* Support masks for ip2p models
* unify code style
* delete unused code
* use edit mode
* add img_cond
* format code
---------
Co-authored-by: leejet <leejet714@gmail.com>
* repair flash attention in _ext
this does not fix the currently broken fa behind the define, which is only used by VAE
Co-authored-by: FSSRepo <FSSRepo@users.noreply.github.com>
* make flash attention in the diffusion model a runtime flag
no support for sd3 or video
* remove old flash attention option and switch vae over to attn_ext
* update docs
* format code
---------
Co-authored-by: FSSRepo <FSSRepo@users.noreply.github.com>
Co-authored-by: leejet <leejet714@gmail.com>
* mmdit-x
* add support for sd3.5 medium
* add skip layer guidance support (mmdit only)
* ignore slg if slg_scale is zero (optimization)
* init out_skip once
* slg support for flux (expermiental)
* warn if version doesn't support slg
* refactor slg cli args
* set default slg_scale to 0 (oops)
* format code
---------
Co-authored-by: leejet <leejet714@gmail.com>
* add flux support
* avoid build failures in non-CUDA environments
* fix schnell support
* add k quants support
* add support for applying lora to quantized tensors
* add inplace conversion support for f8_e4m3 (#359)
in the same way it is done for bf16
like how bf16 converts losslessly to fp32,
f8_e4m3 converts losslessly to fp16
* add xlabs flux comfy converted lora support
* update docs
---------
Co-authored-by: Erik Scholz <Green-Sky@users.noreply.github.com>
Added NVIDEA's new "Align Your Steps" style scheduler in accordance with their
quick start guide. Currently has handling for SD1.5, SDXL, and SVD, using the
noise levels from their paper to generate the sigma values. Can be selected
using the --schedule ays command line switch. Updates the main.cpp help
message and README to reflect this option, also they now inform the user
of the --color switch as well.
---------
Co-authored-by: leejet <leejet714@gmail.com>
* apply pmid lora only once for multiple txt2img calls
* add better support for SDXL LoRA
* fix for some sdxl lora, like lcm-lora-xl
---------
Co-authored-by: bssrdf <bssrdf@gmail.com>
Co-authored-by: leejet <leejet714@gmail.com>
* Support png image and resize image with 64 pixels in img2img mode
* update the error information
---------
Co-authored-by: leejet <leejet714@gmail.com>
* Fixed a double free issue when running multiple backends on the CPU, eg: CLIP
and the primary backend, as this would result in the *_backend pointers both
pointing to the same thing resulting in a segfault when calling the
StableDiffusionGGML destructor.
* Improve logging to allow for a color switch on the command line interface.
Changed the base log_printf function to not bake the log level directly into
the log buffer as that information is already passed the logging function via
the level parameter and it's easier to add in there than strip it out.
* Added a fix for certain SDXL LoRAs that don't seem to follow the expected
naming convention, converts over the tensor name during the LoRA model
loading. Added some logging of useful LoRA loading information. Had to
increase the base size of the GGML graph as the existing size results in an
insufficient graph memory error when using SDXL LoRAs.
* small fixes
---------
Co-authored-by: leejet <leejet714@gmail.com>