aboutsummaryrefslogtreecommitdiffstats
path: root/webui.sh
diff options
context:
space:
mode:
authorAUTOMATIC <16777216c@gmail.com>2023-04-29 19:23:21 +0000
committerAUTOMATIC <16777216c@gmail.com>2023-04-29 19:23:21 +0000
commite23063610f4695ce12f963e06e78154f5ce128d1 (patch)
treeeeab6971022d4ee0e1bfd6a8b603b0e950a6c868 /webui.sh
parent22bcc7be428c94e9408f589966c2040187245d81 (diff)
parentcd7f2b19f45a28c8eeb88994c8972c61c8a3c63d (diff)
downloadstable-diffusion-webui-gfx803-e23063610f4695ce12f963e06e78154f5ce128d1.tar.gz
stable-diffusion-webui-gfx803-e23063610f4695ce12f963e06e78154f5ce128d1.tar.bz2
stable-diffusion-webui-gfx803-e23063610f4695ce12f963e06e78154f5ce128d1.zip
Merge branch 'dev' into release_candidate
Diffstat (limited to 'webui.sh')
-rwxr-xr-xwebui.sh24
1 files changed, 20 insertions, 4 deletions
diff --git a/webui.sh b/webui.sh
index 8cdad22d..3e069371 100755
--- a/webui.sh
+++ b/webui.sh
@@ -23,7 +23,7 @@ fi
# Install directory without trailing slash
if [[ -z "${install_dir}" ]]
then
- install_dir="/home/$(whoami)"
+ install_dir="$(pwd)"
fi
# Name of the subdirectory (defaults to stable-diffusion-webui)
@@ -113,12 +113,13 @@ case "$gpu_info" in
printf "Experimental support for Renoir: make sure to have at least 4GB of VRAM and 10GB of RAM or enable cpu mode: --use-cpu all --no-half"
printf "\n%s\n" "${delimiter}"
;;
- *)
+ *)
;;
esac
if echo "$gpu_info" | grep -q "AMD" && [[ -z "${TORCH_COMMAND}" ]]
then
- export TORCH_COMMAND="pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/rocm5.2"
+ # AMD users will still use torch 1.13 because 2.0 does not seem to work.
+ export TORCH_COMMAND="pip install torch==1.13.1+rocm5.2 torchvision==0.14.1+rocm5.2 --index-url https://download.pytorch.org/whl/rocm5.2"
fi
for preq in "${GIT}" "${python_cmd}"
@@ -172,15 +173,30 @@ else
exit 1
fi
+# Try using TCMalloc on Linux
+prepare_tcmalloc() {
+ if [[ "${OSTYPE}" == "linux"* ]] && [[ -z "${NO_TCMALLOC}" ]] && [[ -z "${LD_PRELOAD}" ]]; then
+ TCMALLOC="$(ldconfig -p | grep -Po "libtcmalloc.so.\d" | head -n 1)"
+ if [[ ! -z "${TCMALLOC}" ]]; then
+ echo "Using TCMalloc: ${TCMALLOC}"
+ export LD_PRELOAD="${TCMALLOC}"
+ else
+ printf "\e[1m\e[31mCannot locate TCMalloc (improves CPU memory usage)\e[0m\n"
+ fi
+ fi
+}
+
if [[ ! -z "${ACCELERATE}" ]] && [ ${ACCELERATE}="True" ] && [ -x "$(command -v accelerate)" ]
then
printf "\n%s\n" "${delimiter}"
printf "Accelerating launch.py..."
printf "\n%s\n" "${delimiter}"
+ prepare_tcmalloc
exec accelerate launch --num_cpu_threads_per_process=6 "${LAUNCH_SCRIPT}" "$@"
else
printf "\n%s\n" "${delimiter}"
printf "Launching launch.py..."
- printf "\n%s\n" "${delimiter}"
+ printf "\n%s\n" "${delimiter}"
+ prepare_tcmalloc
exec "${python_cmd}" "${LAUNCH_SCRIPT}" "$@"
fi