From c7c304330c4c5cb88a97202eaea2a71a581e2598 Mon Sep 17 00:00:00 2001 From: pbialecki Date: Wed, 23 Nov 2022 22:50:51 -0800 Subject: [PATCH] Windows CUDA 11.8 changes --- .github/workflows/build-magma-windows.yml | 2 +- conda/pytorch-nightly/bld.bat | 4 ++ windows/cuda115.bat | 58 ----------------------- windows/{cuda113.bat => cuda118.bat} | 12 ++--- windows/internal/cuda_install.bat | 28 +++++++++++ windows/internal/smoke_test.bat | 3 ++ 6 files changed, 42 insertions(+), 65 deletions(-) delete mode 100644 windows/cuda115.bat rename windows/{cuda113.bat => cuda118.bat} (85%) diff --git a/.github/workflows/build-magma-windows.yml b/.github/workflows/build-magma-windows.yml index 822d3fade..45bd18f55 100644 --- a/.github/workflows/build-magma-windows.yml +++ b/.github/workflows/build-magma-windows.yml @@ -17,7 +17,7 @@ jobs: runs-on: windows-2019 strategy: matrix: - cuda_version: ["117", "116"] + cuda_version: ["118", "117", "116"] config: ["Release", "Debug"] env: CUDA_VERSION: ${{ matrix.cuda_version }} diff --git a/conda/pytorch-nightly/bld.bat b/conda/pytorch-nightly/bld.bat index c81db3496..e7c983400 100644 --- a/conda/pytorch-nightly/bld.bat +++ b/conda/pytorch-nightly/bld.bat @@ -33,6 +33,10 @@ if "%desired_cuda%" == "11.7" ( set TORCH_CUDA_ARCH_LIST=%TORCH_CUDA_ARCH_LIST%;6.0;6.1;7.0;7.5;8.0;8.6 set TORCH_NVCC_FLAGS=-Xfatbin -compress-all --threads 2 ) +if "%desired_cuda%" == "11.8" ( + set TORCH_CUDA_ARCH_LIST=%TORCH_CUDA_ARCH_LIST%;6.0;6.1;7.0;7.5;8.0;8.6 + set TORCH_NVCC_FLAGS=-Xfatbin -compress-all --threads 2 +) :cuda_flags_end diff --git a/windows/cuda115.bat b/windows/cuda115.bat deleted file mode 100644 index bf037b22c..000000000 --- a/windows/cuda115.bat +++ /dev/null @@ -1,58 +0,0 @@ -@echo off - -set MODULE_NAME=pytorch - -IF NOT EXIST "setup.py" IF NOT EXIST "%MODULE_NAME%" ( - call internal\clone.bat - cd .. -) ELSE ( - call internal\clean.bat -) -IF ERRORLEVEL 1 goto :eof - -call internal\check_deps.bat -IF ERRORLEVEL 1 goto :eof - -REM Check for optional components - -set USE_CUDA= -set CMAKE_GENERATOR=Visual Studio 15 2017 Win64 - -IF "%NVTOOLSEXT_PATH%"=="" ( - IF EXIST "C:\Program Files\NVIDIA Corporation\NvToolsExt\lib\x64\nvToolsExt64_1.lib" ( - set NVTOOLSEXT_PATH=C:\Program Files\NVIDIA Corporation\NvToolsExt - ) ELSE ( - echo NVTX ^(Visual Studio Extension ^for CUDA^) ^not installed, failing - exit /b 1 - ) -) - -IF "%CUDA_PATH_V115%"=="" ( - IF EXIST "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5\bin\nvcc.exe" ( - set "CUDA_PATH_V115=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.5" - ) ELSE ( - echo CUDA 11.5 not found, failing - exit /b 1 - ) -) - -IF "%BUILD_VISION%" == "" ( - set TORCH_CUDA_ARCH_LIST=3.7+PTX;5.0;6.0;6.1;7.0;7.5;8.0;8.6 - set TORCH_NVCC_FLAGS=-Xfatbin -compress-all -) ELSE ( - set NVCC_FLAGS=-D__CUDA_NO_HALF_OPERATORS__ --expt-relaxed-constexpr -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_50,code=sm_50 -gencode=arch=compute_60,code=sm_60 -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_75,code=sm_75 -gencode=arch=compute_80,code=compute_80 -gencode=arch=compute_86,code=compute_86 -) - -set "CUDA_PATH=%CUDA_PATH_V115%" -set "PATH=%CUDA_PATH_V115%\bin;%PATH%" - -:optcheck - -call internal\check_opts.bat -IF ERRORLEVEL 1 goto :eof - -call internal\copy.bat -IF ERRORLEVEL 1 goto :eof - -call internal\setup.bat -IF ERRORLEVEL 1 goto :eof diff --git a/windows/cuda113.bat b/windows/cuda118.bat similarity index 85% rename from windows/cuda113.bat rename to windows/cuda118.bat index 568f1e754..697b511b9 100644 --- a/windows/cuda113.bat +++ b/windows/cuda118.bat @@ -27,11 +27,11 @@ IF "%NVTOOLSEXT_PATH%"=="" ( ) ) -IF "%CUDA_PATH_V113%"=="" ( - IF EXIST "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\bin\nvcc.exe" ( - set "CUDA_PATH_V113=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3" +IF "%CUDA_PATH_V118%"=="" ( + IF EXIST "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin\nvcc.exe" ( + set "CUDA_PATH_V118=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8" ) ELSE ( - echo CUDA 11.3 not found, failing + echo CUDA 11.8 not found, failing exit /b 1 ) ) @@ -43,8 +43,8 @@ IF "%BUILD_VISION%" == "" ( set NVCC_FLAGS=-D__CUDA_NO_HALF_OPERATORS__ --expt-relaxed-constexpr -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_50,code=sm_50 -gencode=arch=compute_60,code=sm_60 -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_75,code=sm_75 -gencode=arch=compute_80,code=compute_80 -gencode=arch=compute_86,code=compute_86 ) -set "CUDA_PATH=%CUDA_PATH_V113%" -set "PATH=%CUDA_PATH_V113%\bin;%PATH%" +set "CUDA_PATH=%CUDA_PATH_V118%" +set "PATH=%CUDA_PATH_V118%\bin;%PATH%" :optcheck diff --git a/windows/internal/cuda_install.bat b/windows/internal/cuda_install.bat index c1ece6371..458c00fa9 100644 --- a/windows/internal/cuda_install.bat +++ b/windows/internal/cuda_install.bat @@ -21,6 +21,7 @@ if exist "C:\\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v%CUDA_VERSION_STR if %CUDA_VER% EQU 116 goto cuda116 if %CUDA_VER% EQU 117 goto cuda117 +if %CUDA_VER% EQU 118 goto cuda118 echo CUDA %CUDA_VERSION_STR% is not supported exit /b 1 @@ -79,6 +80,33 @@ xcopy /Y "%SRC_DIR%\temp_build\zlib\dll_x64\*.dll" "C:\Windows\System32" goto cuda_common +:cuda118 + +set CUDA_INSTALL_EXE=cuda_11.8.0_522.06_windows.exe +if not exist "%SRC_DIR%\temp_build\%CUDA_INSTALL_EXE%" ( + curl -k -L "https://ossci-windows.s3.amazonaws.com/%CUDA_INSTALL_EXE%" --output "%SRC_DIR%\temp_build\%CUDA_INSTALL_EXE%" + if errorlevel 1 exit /b 1 + set "CUDA_SETUP_FILE=%SRC_DIR%\temp_build\%CUDA_INSTALL_EXE%" + set "ARGS=thrust_11.8 nvcc_11.8 cuobjdump_11.8 nvprune_11.8 nvprof_11.8 cupti_11.8 cublas_11.8 cublas_dev_11.8 cudart_11.8 cufft_11.8 cufft_dev_11.8 curand_11.8 curand_dev_11.8 cusolver_11.8 cusolver_dev_11.8 cusparse_11.8 cusparse_dev_11.8 npp_11.8 npp_dev_11.8 nvrtc_11.8 nvrtc_dev_11.8 nvml_dev_11.8" +) + +set CUDNN_FOLDER=cudnn-windows-x86_64-8.5.0.96_cuda11-archive +set CUDNN_LIB_FOLDER="lib" +set "CUDNN_INSTALL_ZIP=%CUDNN_FOLDER%.zip" +if not exist "%SRC_DIR%\temp_build\%CUDNN_INSTALL_ZIP%" ( + curl -k -L "http://s3.amazonaws.com/ossci-windows/%CUDNN_INSTALL_ZIP%" --output "%SRC_DIR%\temp_build\%CUDNN_INSTALL_ZIP%" + if errorlevel 1 exit /b 1 + set "CUDNN_SETUP_FILE=%SRC_DIR%\temp_build\%CUDNN_INSTALL_ZIP%" +) + +@REM Cuda 8.3+ required zlib to be installed on the path +echo Installing ZLIB dlls +curl -k -L "http://s3.amazonaws.com/ossci-windows/zlib123dllx64.zip" --output "%SRC_DIR%\temp_build\zlib123dllx64.zip" +7z x "%SRC_DIR%\temp_build\zlib123dllx64.zip" -o"%SRC_DIR%\temp_build\zlib" +xcopy /Y "%SRC_DIR%\temp_build\zlib\dll_x64\*.dll" "C:\Windows\System32" + +goto cuda_common + :cuda_common :: NOTE: We only install CUDA if we don't have it installed already. :: With GHA runners these should be pre-installed as part of our AMI process diff --git a/windows/internal/smoke_test.bat b/windows/internal/smoke_test.bat index 836a04311..ca89acdbe 100644 --- a/windows/internal/smoke_test.bat +++ b/windows/internal/smoke_test.bat @@ -78,6 +78,9 @@ if "%CUDA_VERSION%" == "116" ( if "%CUDA_VERSION%" == "117" ( set "CONDA_EXTRA_ARGS=-c=nvidia" ) +if "%CUDA_VERSION%" == "118" ( + set "CONDA_EXTRA_ARGS=-c=nvidia" +) rmdir /s /q conda del miniconda.exe