aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorC43H66N12O12S2 <36072735+C43H66N12O12S2@users.noreply.github.com>2022-10-08 17:27:21 +0300
committerAUTOMATIC1111 <16777216c@gmail.com>2022-10-08 17:54:16 +0300
commit017b6b8744f0771e498656ec043e12d5cc6969a7 (patch)
tree8602f406577d3a9d0f48c70f67926b4b4fd4ea9d /modules
parent7e639cd49855ef59e087ae9a9122756a937007eb (diff)
check for ampere
Diffstat (limited to 'modules')
-rw-r--r--modules/sd_hijack.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/modules/sd_hijack.py b/modules/sd_hijack.py
index ed271976..5e266d5e 100644
--- a/modules/sd_hijack.py
+++ b/modules/sd_hijack.py
@@ -22,9 +22,10 @@ def apply_optimizations():
undo_optimizations()
ldm.modules.diffusionmodules.model.nonlinearity = silu
- if cmd_opts.xformers and shared.xformers_available and not torch.version.hip:
- ldm.modules.attention.CrossAttention.forward = sd_hijack_optimizations.xformers_attention_forward
- ldm.modules.diffusionmodules.model.AttnBlock.forward = sd_hijack_optimizations.xformers_attnblock_forward
+ if cmd_opts.xformers and shared.xformers_available and torch.version.cuda:
+ if torch.cuda.get_device_capability(shared.device) == (8, 6):
+ 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 not cmd_opts.disable_opt_split_attention and (cmd_opts.opt_split_attention or torch.cuda.is_available()):