Upload AutoInstall Pytorch Triton Sage.bat
Browse files
AutoInstall Pytorch Triton Sage.bat
ADDED
|
@@ -0,0 +1,180 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
@echo off
|
| 2 |
+
setlocal enabledelayedexpansion
|
| 3 |
+
|
| 4 |
+
REM === SETUP PATHS ===
|
| 5 |
+
set "ROOT=%CD%"
|
| 6 |
+
set "PYTHON=%ROOT%\ComfyUI_windows_portable\python_embeded\python.exe"
|
| 7 |
+
set "COMFY_DIR=%ROOT%\ComfyUI_windows_portable\ComfyUI"
|
| 8 |
+
set "UPDATE_DIR=%ROOT%\ComfyUI_windows_portable\update"
|
| 9 |
+
|
| 10 |
+
REM === CHECK PYTHON ===
|
| 11 |
+
if not exist "%PYTHON%" (
|
| 12 |
+
echo [ERROR] Python not found at: %PYTHON%
|
| 13 |
+
pause
|
| 14 |
+
exit /b 1
|
| 15 |
+
)
|
| 16 |
+
|
| 17 |
+
REM === SHOW SYSTEM INFO ===
|
| 18 |
+
echo.
|
| 19 |
+
echo ======== ComfyUI Nightly Installer (Interactive) ========
|
| 20 |
+
echo.
|
| 21 |
+
|
| 22 |
+
REM Python version
|
| 23 |
+
for /f "delims=" %%i in ('%PYTHON% -c "import platform; print(platform.python_version())"') do set PYVER=%%i
|
| 24 |
+
echo [INFO] Python Version: %PYVER%
|
| 25 |
+
|
| 26 |
+
REM Pip version
|
| 27 |
+
for /f "delims=" %%i in ('%PYTHON% -m pip --version') do set PIPVER=%%i
|
| 28 |
+
echo [INFO] Pip Version: %PIPVER%
|
| 29 |
+
|
| 30 |
+
REM CPU Cores
|
| 31 |
+
for /f %%i in ('powershell -NoProfile -Command "[Environment]::ProcessorCount"') do set "CPU_CORES=%%i"
|
| 32 |
+
if not defined CPU_CORES set "CPU_CORES=16"
|
| 33 |
+
echo [INFO] Detected CPU cores: %CPU_CORES%
|
| 34 |
+
|
| 35 |
+
REM CUDA Version
|
| 36 |
+
for /f "tokens=5 delims= " %%A in ('nvcc --version ^| findstr /C:"release"') do (
|
| 37 |
+
for /f "tokens=1 delims=," %%B in ("%%A") do set cuda_version=%%B
|
| 38 |
+
)
|
| 39 |
+
for /f "tokens=1 delims=." %%a in ("%cuda_version%") do set cuda_major=%%a
|
| 40 |
+
for /f "tokens=2 delims=." %%b in ("%cuda_version%") do set cuda_minor=%%b
|
| 41 |
+
set cuda_version=!cuda_major!.!cuda_minor!
|
| 42 |
+
set "CLEAN_CUDA=%cuda_version:.=%"
|
| 43 |
+
echo [INFO] Detected CUDA version: %cuda_version%
|
| 44 |
+
|
| 45 |
+
echo.
|
| 46 |
+
pause
|
| 47 |
+
|
| 48 |
+
REM === PROMPTS ===
|
| 49 |
+
|
| 50 |
+
REM Update pip and setuptools?
|
| 51 |
+
set UPDATE_PIP=false
|
| 52 |
+
echo.
|
| 53 |
+
set /p "inp=Do you want to update pip and set setuptools to 70.2.0? (y/n): "
|
| 54 |
+
if /i "!inp!"=="y" set UPDATE_PIP=true
|
| 55 |
+
|
| 56 |
+
REM Install PyTorch?
|
| 57 |
+
set INSTALL_TORCH=false
|
| 58 |
+
echo.
|
| 59 |
+
echo [1] Install PyTorch Nightly
|
| 60 |
+
echo [2] Install PyTorch Stable
|
| 61 |
+
echo [0] Skip PyTorch installation
|
| 62 |
+
set /p "torch_choice=Choose PyTorch version: "
|
| 63 |
+
if "!torch_choice!"=="1" set TORCH_NIGHTLY=true & set INSTALL_TORCH=true
|
| 64 |
+
if "!torch_choice!"=="2" set TORCH_NIGHTLY=false & set INSTALL_TORCH=true
|
| 65 |
+
|
| 66 |
+
REM Install Triton?
|
| 67 |
+
set INSTALL_TRITON=false
|
| 68 |
+
echo.
|
| 69 |
+
echo [0] Skip Triton
|
| 70 |
+
echo [1] Install Nightly Triton
|
| 71 |
+
echo [2] Install Stable Triton
|
| 72 |
+
echo [3] Install LeoMaxwell Triton
|
| 73 |
+
set /p "triton_choice=Choose Triton version: "
|
| 74 |
+
if not "!triton_choice!"=="0" set INSTALL_TRITON=true
|
| 75 |
+
|
| 76 |
+
REM Install SageAttention?
|
| 77 |
+
set INSTALL_SAGE=false
|
| 78 |
+
echo.
|
| 79 |
+
echo [1] Install SageAttention v1 (PyPI)
|
| 80 |
+
echo [2] Install SageAttention v2 (Build from GitHub)
|
| 81 |
+
echo [0] Skip SageAttention
|
| 82 |
+
set /p "sage_choice=Choose SageAttention version: "
|
| 83 |
+
if not "!sage_choice!"=="0" set INSTALL_SAGE=true
|
| 84 |
+
|
| 85 |
+
REM Update ComfyUI?
|
| 86 |
+
set UPDATE_COMFY=false
|
| 87 |
+
echo.
|
| 88 |
+
set /p "inp=Do you want to update ComfyUI via Git? (y/n): "
|
| 89 |
+
if /i "!inp!"=="y" set UPDATE_COMFY=true
|
| 90 |
+
|
| 91 |
+
REM Create Launcher?
|
| 92 |
+
set MAKE_LAUNCHER=false
|
| 93 |
+
echo.
|
| 94 |
+
set /p "inp=Do you want to generate a launcher batch file for FP16+Sage? (y/n): "
|
| 95 |
+
if /i "!inp!"=="y" set MAKE_LAUNCHER=true
|
| 96 |
+
|
| 97 |
+
REM === RUN CHOSEN INSTALLS ===
|
| 98 |
+
|
| 99 |
+
cd /d "%UPDATE_DIR%"
|
| 100 |
+
|
| 101 |
+
if "%UPDATE_PIP%"=="true" (
|
| 102 |
+
echo [INFO] Updating pip and installing setuptools==70.2.0
|
| 103 |
+
%PYTHON% -m pip install --upgrade pip setuptools==70.2.0
|
| 104 |
+
)
|
| 105 |
+
|
| 106 |
+
if "%INSTALL_TORCH%"=="true" (
|
| 107 |
+
echo [INFO] Uninstalling old PyTorch versions
|
| 108 |
+
%PYTHON% -m pip uninstall -y torch torchvision torchaudio
|
| 109 |
+
|
| 110 |
+
if "%TORCH_NIGHTLY%"=="true" (
|
| 111 |
+
echo [INFO] Installing PyTorch Nightly for CUDA %CLEAN_CUDA%
|
| 112 |
+
%PYTHON% -m pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu%CLEAN_CUDA%
|
| 113 |
+
) else (
|
| 114 |
+
echo [INFO] Installing PyTorch Stable for CUDA %CLEAN_CUDA%
|
| 115 |
+
%PYTHON% -m pip install torch torchvision torchaudio
|
| 116 |
+
)
|
| 117 |
+
)
|
| 118 |
+
|
| 119 |
+
if "%INSTALL_TRITON%"=="true" (
|
| 120 |
+
if "%triton_choice%"=="1" (
|
| 121 |
+
echo Installing Triton Nightly
|
| 122 |
+
%PYTHON% -m pip install -U --pre triton-windows
|
| 123 |
+
) else if "%triton_choice%"=="2" (
|
| 124 |
+
echo Installing Triton Stable
|
| 125 |
+
%PYTHON% -m pip install triton-windows
|
| 126 |
+
) else if "%triton_choice%"=="3" (
|
| 127 |
+
echo Installing LeoMaxwell Triton
|
| 128 |
+
%PYTHON% -m pip install https://github.com/leomaxwell973/Triton-3.3.0-UPDATE_FROM_3.2.0_and_FIXED-Windows-Nvidia-Prebuilt/releases/download/3.3.0_cu128_Py312/triton-3.3.0-cp312-cp312-win_amd64.whl
|
| 129 |
+
)
|
| 130 |
+
)
|
| 131 |
+
|
| 132 |
+
if "%INSTALL_SAGE%"=="true" (
|
| 133 |
+
if "%sage_choice%"=="1" (
|
| 134 |
+
echo Installing SageAttention v1
|
| 135 |
+
%PYTHON% -m pip install sageattention==1.0.6
|
| 136 |
+
) else (
|
| 137 |
+
echo Installing SageAttention v2 from source
|
| 138 |
+
git clone https://github.com/thu-ml/SageAttention
|
| 139 |
+
cd SageAttention
|
| 140 |
+
set MAX_JOBS=%CPU_CORES%
|
| 141 |
+
%PYTHON% -m pip install .
|
| 142 |
+
cd ..
|
| 143 |
+
rmdir /s /q SageAttention
|
| 144 |
+
)
|
| 145 |
+
)
|
| 146 |
+
|
| 147 |
+
if "%UPDATE_COMFY%"=="true" (
|
| 148 |
+
echo Updating ComfyUI
|
| 149 |
+
pushd "%COMFY_DIR%"
|
| 150 |
+
git pull
|
| 151 |
+
popd
|
| 152 |
+
)
|
| 153 |
+
|
| 154 |
+
echo Installing ComfyUI Manager if not exists
|
| 155 |
+
cd /d "%COMFY_DIR%\custom_nodes"
|
| 156 |
+
if not exist ComfyUI-Manager (
|
| 157 |
+
git clone https://github.com/ltdrdata/ComfyUI-Manager.git
|
| 158 |
+
)
|
| 159 |
+
|
| 160 |
+
cd /d "%UPDATE_DIR%"
|
| 161 |
+
%PYTHON% update.py ..\ComfyUI\
|
| 162 |
+
if exist update_new.py (
|
| 163 |
+
move /y update_new.py update.py
|
| 164 |
+
%PYTHON% update.py ..\ComfyUI\ --skip_self_update
|
| 165 |
+
)
|
| 166 |
+
|
| 167 |
+
if "%MAKE_LAUNCHER%"=="true" (
|
| 168 |
+
echo Creating run_comfyui_fp16fast_sage.bat
|
| 169 |
+
set "LAUNCHER=%ROOT%\ComfyUI_windows_portable\run_comfyui_fp16fast_sage.bat"
|
| 170 |
+
(
|
| 171 |
+
echo call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat"
|
| 172 |
+
echo .\python_embeded\python.exe -s ComfyUI\main.py --use-sage-attention --windows-standalone-build --fast fp16_accumulation --listen 0.0.0.0
|
| 173 |
+
echo pause
|
| 174 |
+
) > "%LAUNCHER%"
|
| 175 |
+
)
|
| 176 |
+
|
| 177 |
+
echo
|
| 178 |
+
echo All selected components installed. You may now run ComfyUI.
|
| 179 |
+
pause
|
| 180 |
+
exit /b
|