diff options
author | Greendayle <81877451+Greendayle@users.noreply.github.com> | 2022-10-08 16:28:22 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-08 16:28:22 +0000 |
commit | 0ec80f0125a14c03ac860279f40c0c062dbde0cf (patch) | |
tree | f51f04feecca9006a6a40e622bae3d6ae997e5eb /modules/sd_hijack.py | |
parent | 01f8cb44474e454903c11718e6a4f33dbde34bb8 (diff) | |
parent | 3061cdb7b610d4ba7f1ea695d9d6364b591e5bc7 (diff) | |
download | stable-diffusion-webui-gfx803-0ec80f0125a14c03ac860279f40c0c062dbde0cf.tar.gz stable-diffusion-webui-gfx803-0ec80f0125a14c03ac860279f40c0c062dbde0cf.tar.bz2 stable-diffusion-webui-gfx803-0ec80f0125a14c03ac860279f40c0c062dbde0cf.zip |
Merge branch 'master' into dev/deepdanbooru
Diffstat (limited to 'modules/sd_hijack.py')
-rw-r--r-- | modules/sd_hijack.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/modules/sd_hijack.py b/modules/sd_hijack.py index ed271976..307cc67d 100644 --- a/modules/sd_hijack.py +++ b/modules/sd_hijack.py @@ -22,12 +22,16 @@ def apply_optimizations(): undo_optimizations()
ldm.modules.diffusionmodules.model.nonlinearity = silu
- if cmd_opts.xformers and shared.xformers_available and not torch.version.hip:
+
+ if cmd_opts.force_enable_xformers or (cmd_opts.xformers and shared.xformers_available and torch.version.cuda and torch.cuda.get_device_capability(shared.device) == (8, 6)):
+ print("Applying xformers cross attention optimization.")
ldm.modules.attention.CrossAttention.forward = sd_hijack_optimizations.xformers_attention_forward
ldm.modules.diffusionmodules.model.AttnBlock.forward = sd_hijack_optimizations.xformers_attnblock_forward
elif cmd_opts.opt_split_attention_v1:
+ print("Applying v1 cross attention optimization.")
ldm.modules.attention.CrossAttention.forward = sd_hijack_optimizations.split_cross_attention_forward_v1
elif not cmd_opts.disable_opt_split_attention and (cmd_opts.opt_split_attention or torch.cuda.is_available()):
+ print("Applying cross attention optimization.")
ldm.modules.attention.CrossAttention.forward = sd_hijack_optimizations.split_cross_attention_forward
ldm.modules.diffusionmodules.model.AttnBlock.forward = sd_hijack_optimizations.cross_attention_attnblock_forward
|