aboutsummaryrefslogtreecommitdiffstats
path: root/modules/shared.py
diff options
context:
space:
mode:
authorAUTOMATIC1111 <16777216c@gmail.com>2023-01-07 09:26:55 +0000
committerGitHub <noreply@github.com>2023-01-07 09:26:55 +0000
commitc295e4a2446bcc2663f497ba8afa14cec80de332 (patch)
tree606ede9bd1bf0c13b59c26a63755a2f95f6b8da6 /modules/shared.py
parent1a5b86ad65fd738eadea1ad72f4abad3a4aabf17 (diff)
parentc18add68ef7d2de3617cbbaff864b0c74cfdf6c0 (diff)
downloadstable-diffusion-webui-gfx803-c295e4a2446bcc2663f497ba8afa14cec80de332.tar.gz
stable-diffusion-webui-gfx803-c295e4a2446bcc2663f497ba8afa14cec80de332.tar.bz2
stable-diffusion-webui-gfx803-c295e4a2446bcc2663f497ba8afa14cec80de332.zip
Merge pull request #6055 from brkirch/sub-quad_attn_opt
Add Birch-san's sub-quadratic attention implementation
Diffstat (limited to 'modules/shared.py')
-rw-r--r--modules/shared.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/modules/shared.py b/modules/shared.py
index 865c3c07..a6712dae 100644
--- a/modules/shared.py
+++ b/modules/shared.py
@@ -56,6 +56,10 @@ parser.add_argument("--xformers", action='store_true', help="enable xformers for
parser.add_argument("--force-enable-xformers", action='store_true', help="enable xformers for cross attention layers regardless of whether the checking code thinks you can run it; do not make bug reports if this fails to work")
parser.add_argument("--deepdanbooru", action='store_true', help="does not do anything")
parser.add_argument("--opt-split-attention", action='store_true', help="force-enables Doggettx's cross-attention layer optimization. By default, it's on for torch cuda.")
+parser.add_argument("--opt-sub-quad-attention", action='store_true', help="enable memory efficient sub-quadratic cross-attention layer optimization")
+parser.add_argument("--sub-quad-q-chunk-size", type=int, help="query chunk size for the sub-quadratic cross-attention layer optimization to use", default=1024)
+parser.add_argument("--sub-quad-kv-chunk-size", type=int, help="kv chunk size for the sub-quadratic cross-attention layer optimization to use", default=None)
+parser.add_argument("--sub-quad-chunk-threshold", type=int, help="the percentage of VRAM threshold for the sub-quadratic cross-attention layer optimization to use chunking", default=None)
parser.add_argument("--opt-split-attention-invokeai", action='store_true', help="force-enables InvokeAI's cross-attention layer optimization. By default, it's on when cuda is unavailable.")
parser.add_argument("--opt-split-attention-v1", action='store_true', help="enable older version of split attention optimization that does not consume all the VRAM it can find")
parser.add_argument("--disable-opt-split-attention", action='store_true', help="force-disables cross-attention layer optimization")