aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorC43H66N12O12S2 <36072735+C43H66N12O12S2@users.noreply.github.com>2022-10-08 16:20:04 +0300
committerGitHub <noreply@github.com>2022-10-08 16:20:04 +0300
commit26b459a3799c5cdf71ca8ed5315a99f69c69f02c (patch)
treee2f9e6da00dd954cedb1ce4a8c75af514f4aa0e0
parentd0e85873ac72416d32dee8720dc9e93ab3d3e236 (diff)
default to split attention if cuda is available and xformers is not
-rw-r--r--modules/sd_hijack.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/modules/sd_hijack.py b/modules/sd_hijack.py
index 3da8c8ce..04adcf03 100644
--- a/modules/sd_hijack.py
+++ b/modules/sd_hijack.py
@@ -21,12 +21,12 @@ diffusionmodules_model_AttnBlock_forward = ldm.modules.diffusionmodules.model.At
def apply_optimizations():
ldm.modules.diffusionmodules.model.nonlinearity = silu
- if not cmd_opts.disable_opt_xformers_attention and not (cmd_opts.opt_split_attention or torch.version.hip):
+ if not cmd_opts.disable_opt_xformers_attention and not (cmd_opts.opt_split_attention or torch.version.hip or shared.xformers_available):
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:
ldm.modules.attention.CrossAttention.forward = sd_hijack_optimizations.split_cross_attention_forward_v1
- elif cmd_opts.opt_split_attention:
+ elif cmd_opts.opt_split_attention or torch.cuda.is_available():
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