diff options
author | Pam <pamhome21@gmail.com> | 2023-03-10 07:19:36 +0000 |
---|---|---|
committer | Pam <pamhome21@gmail.com> | 2023-03-10 07:19:36 +0000 |
commit | 37acba263389e22bc46cfffc80b2ca8b76a85287 (patch) | |
tree | 67dd2e6d1749b44b28dcb0d73f5ecf945493f245 /modules/sd_hijack.py | |
parent | fec0a895119a124a295e3dad5205de5766031dc7 (diff) | |
download | stable-diffusion-webui-gfx803-37acba263389e22bc46cfffc80b2ca8b76a85287.tar.gz stable-diffusion-webui-gfx803-37acba263389e22bc46cfffc80b2ca8b76a85287.tar.bz2 stable-diffusion-webui-gfx803-37acba263389e22bc46cfffc80b2ca8b76a85287.zip |
argument to disable memory efficient for sdp
Diffstat (limited to 'modules/sd_hijack.py')
-rw-r--r-- | modules/sd_hijack.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/modules/sd_hijack.py b/modules/sd_hijack.py index 76cb9120..f62e9adb 100644 --- a/modules/sd_hijack.py +++ b/modules/sd_hijack.py @@ -43,9 +43,14 @@ def apply_optimizations(): ldm.modules.diffusionmodules.model.AttnBlock.forward = sd_hijack_optimizations.xformers_attnblock_forward
optimization_method = 'xformers'
elif cmd_opts.opt_sdp_attention and (hasattr(torch.nn.functional, "scaled_dot_product_attention") and callable(getattr(torch.nn.functional, "scaled_dot_product_attention"))):
- print("Applying scaled dot product cross attention optimization.")
- ldm.modules.attention.CrossAttention.forward = sd_hijack_optimizations.scaled_dot_product_attention_forward
- optimization_method = 'sdp'
+ if cmd_opts.opt_sdp_no_mem_attention:
+ print("Applying scaled dot product cross attention optimization (without memory efficient attention).")
+ ldm.modules.attention.CrossAttention.forward = sd_hijack_optimizations.scaled_dot_product_no_mem_attention_forward
+ optimization_method = 'sdp-no-mem'
+ else:
+ print("Applying scaled dot product cross attention optimization.")
+ ldm.modules.attention.CrossAttention.forward = sd_hijack_optimizations.scaled_dot_product_attention_forward
+ optimization_method = 'sdp'
elif cmd_opts.opt_sub_quad_attention:
print("Applying sub-quadratic cross attention optimization.")
ldm.modules.attention.CrossAttention.forward = sd_hijack_optimizations.sub_quad_attention_forward
|