diff --git a/conda/pytorch-nightly/build.sh b/conda/pytorch-nightly/build.sh index c80d27f32..f61f53f73 100755 --- a/conda/pytorch-nightly/build.sh +++ b/conda/pytorch-nightly/build.sh @@ -69,6 +69,13 @@ if [[ -n "$build_with_cuda" ]]; then export USE_STATIC_CUDNN=0 #for cuda 11.7 include all dynamic loading libraries DEPS_LIST=(/usr/local/cuda/lib64/libcudnn*.so.8 /usr/local/cuda-11.7/extras/CUPTI/lib64/libcupti.so.11.7) + elif [[ $CUDA_VERSION == 11.8* ]]; then + export TORCH_CUDA_ARCH_LIST="$TORCH_CUDA_ARCH_LIST;6.0;6.1;7.0;7.5;8.0;8.6" + #for cuda 11.8 we use cudnn 8.5 + #which does not have single static libcudnn_static.a deliverable to link with + export USE_STATIC_CUDNN=0 + #for cuda 11.8 include all dynamic loading libraries + DEPS_LIST=(/usr/local/cuda/lib64/libcudnn*.so.8 /usr/local/cuda-11.8/extras/CUPTI/lib64/libcupti.so.11.8) fi export NCCL_ROOT_DIR=/usr/local/cuda export USE_STATIC_NCCL=1 # links nccl statically (driven by tools/setup_helpers/nccl.py, some of the NCCL cmake files such as FindNCCL.cmake and gloo/FindNCCL.cmake) diff --git a/manywheel/build_cuda.sh b/manywheel/build_cuda.sh index fd8442b40..a827a7aaa 100644 --- a/manywheel/build_cuda.sh +++ b/manywheel/build_cuda.sh @@ -58,7 +58,7 @@ cuda_version_nodot=$(echo $CUDA_VERSION | tr -d '.') TORCH_CUDA_ARCH_LIST="3.7;5.0;6.0;7.0" case ${CUDA_VERSION} in - 11.[3567]) + 11.[678]) TORCH_CUDA_ARCH_LIST="${TORCH_CUDA_ARCH_LIST};7.5;8.0;8.6" EXTRA_CAFFE2_CMAKE_FLAGS+=("-DATEN_NO_TEST=ON") ;; @@ -196,6 +196,60 @@ elif [[ $CUDA_VERSION == "11.7" ]]; then export LIB_SO_RPATH=$CUDA_RPATHS':$ORIGIN' export FORCE_RPATH="--force-rpath" fi +elif [[ $CUDA_VERSION == "11.8" ]]; then + export USE_STATIC_CUDNN=0 + # Try parallelizing nvcc as well + export TORCH_NVCC_FLAGS="-Xfatbin -compress-all --threads 2" + DEPS_LIST=( + "/usr/local/cuda/lib64/libcudart.so.11.0" + "/usr/local/cuda/lib64/libnvToolsExt.so.1" + "/usr/local/cuda/lib64/libnvrtc.so.11.2" # this is not a mistake for 11.8, it links to 11.8.89 + "/usr/local/cuda/lib64/libnvrtc-builtins.so.11.8" + "$LIBGOMP_PATH" + ) + DEPS_SONAME=( + "libcudart.so.11.0" + "libnvToolsExt.so.1" + "libnvrtc.so.11.2" + "libnvrtc-builtins.so.11.8" + "libgomp.so.1" + ) + + if [[ -z "$PYTORCH_EXTRA_INSTALL_REQUIREMENTS" ]]; then + echo "Bundling with cudnn and cublas." + DEPS_LIST+=( + "/usr/local/cuda/lib64/libcudnn_adv_infer.so.8" + "/usr/local/cuda/lib64/libcudnn_adv_train.so.8" + "/usr/local/cuda/lib64/libcudnn_cnn_infer.so.8" + "/usr/local/cuda/lib64/libcudnn_cnn_train.so.8" + "/usr/local/cuda/lib64/libcudnn_ops_infer.so.8" + "/usr/local/cuda/lib64/libcudnn_ops_train.so.8" + "/usr/local/cuda/lib64/libcudnn.so.8" + "/usr/local/cuda/lib64/libcublas.so.11" + "/usr/local/cuda/lib64/libcublasLt.so.11" + ) + DEPS_SONAME+=( + "libcudnn_adv_infer.so.8" + "libcudnn_adv_train.so.8" + "libcudnn_cnn_infer.so.8" + "libcudnn_cnn_train.so.8" + "libcudnn_ops_infer.so.8" + "libcudnn_ops_train.so.8" + "libcudnn.so.8" + "libcublas.so.11" + "libcublasLt.so.11" + ) + else + echo "Using cudnn and cublas from pypi." + CUDA_RPATHS=( + '$ORIGIN/../../nvidia/cublas/lib' + '$ORIGIN/../../nvidia/cudnn/lib' + ) + CUDA_RPATHS=$(IFS=: ; echo "${CUDA_RPATHS[*]}") + export C_SO_RPATH=$CUDA_RPATHS':$ORIGIN:$ORIGIN/lib' + export LIB_SO_RPATH=$CUDA_RPATHS':$ORIGIN' + export FORCE_RPATH="--force-rpath" + fi else echo "Unknown cuda version $CUDA_VERSION" exit 1