| #!/bin/bash |
| |
| |
| |
| |
| |
|
|
| set -ex |
|
|
| conda init bash |
| |
| source ~/.bashrc |
|
|
| cd /inside |
| VERSION=$(python -c "exec(open('pytorch3d/__init__.py').read()); print(__version__)") |
|
|
| export BUILD_VERSION=$VERSION |
| export FORCE_CUDA=1 |
| export MAX_JOBS=8 |
| export CONDA_PKGS_DIRS=/conda_cache |
|
|
| if false |
| then |
| |
| wget --no-verbose https://github.com/NVIDIA/cub/archive/1.10.0.tar.gz |
| tar xzf 1.10.0.tar.gz |
| CUB_HOME=$(realpath ./cub-1.10.0) |
| export CUB_HOME |
| echo "CUB_HOME is now $CUB_HOME" |
| fi |
|
|
| |
| |
|
|
| PYTHON_VERSIONS="3.8 3.9 3.10" |
| |
| declare -A CONDA_CUDA_VERSIONS=( |
| |
| |
| |
| |
| |
| |
| ["2.0.1"]="cu117 cu118" |
| ) |
|
|
|
|
|
|
| for python_version in $PYTHON_VERSIONS |
| do |
| for pytorch_version in "${!CONDA_CUDA_VERSIONS[@]}" |
| do |
| if [[ "3.7 3.8 3.9" != *$python_version* ]] && [[ "1.7.0 1.7.1 1.8.0 1.8.1 1.9.0 1.9.1 1.10.0 1.10.1 1.10.2" == *$pytorch_version* ]] |
| then |
| |
| continue |
| fi |
|
|
| extra_channel="-c nvidia" |
| cudatools="pytorch-cuda" |
| if [[ "1.11.0" == "$pytorch_version" ]] |
| then |
| extra_channel="" |
| cudatools="cudatoolkit" |
| fi |
| if [[ "1.12.0" == "$pytorch_version" ]] || [[ "1.12.1" == "$pytorch_version" ]] |
| then |
| extra_channel="-c conda-forge" |
| cudatools="cudatoolkit" |
| fi |
|
|
| for cu_version in ${CONDA_CUDA_VERSIONS[$pytorch_version]} |
| do |
| if [[ $SELECTED_CUDA != "$cu_version" ]] |
| then |
| continue |
| fi |
|
|
| case "$cu_version" in |
| cu118) |
| export CUDA_HOME=/usr/local/cuda-11.8/ |
| export CUDA_TAG=11.8 |
| export NVCC_FLAGS="-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=sm_80 -gencode=arch=compute_86,code=sm_86 -gencode=arch=compute_50,code=compute_50" |
| ;; |
| cu117) |
| export CUDA_HOME=/usr/local/cuda-11.7/ |
| export CUDA_TAG=11.7 |
| export NVCC_FLAGS="-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=sm_80 -gencode=arch=compute_86,code=sm_86 -gencode=arch=compute_50,code=compute_50" |
| ;; |
| cu116) |
| export CUDA_HOME=/usr/local/cuda-11.6/ |
| export CUDA_TAG=11.6 |
| export NVCC_FLAGS="-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=sm_80 -gencode=arch=compute_86,code=sm_86 -gencode=arch=compute_50,code=compute_50" |
| ;; |
| cu115) |
| export CUDA_HOME=/usr/local/cuda-11.5/ |
| export CUDA_TAG=11.5 |
| export NVCC_FLAGS="-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=sm_80 -gencode=arch=compute_86,code=sm_86 -gencode=arch=compute_50,code=compute_50" |
| ;; |
| cu113) |
| export CUDA_HOME=/usr/local/cuda-11.3/ |
| export CUDA_TAG=11.3 |
| export NVCC_FLAGS="-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=sm_80 -gencode=arch=compute_86,code=sm_86 -gencode=arch=compute_50,code=compute_50" |
| ;; |
| cu112) |
| export CUDA_HOME=/usr/local/cuda-11.2/ |
| export CUDA_TAG=11.2 |
| export NVCC_FLAGS="-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=sm_80 -gencode=arch=compute_86,code=sm_86 -gencode=arch=compute_50,code=compute_50" |
| ;; |
| cu111) |
| export CUDA_HOME=/usr/local/cuda-11.1/ |
| export CUDA_TAG=11.1 |
| export NVCC_FLAGS="-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=sm_80 -gencode=arch=compute_86,code=sm_86 -gencode=arch=compute_50,code=compute_50" |
| ;; |
| cu110) |
| export CUDA_HOME=/usr/local/cuda-11.0/ |
| export CUDA_TAG=11.0 |
| export NVCC_FLAGS="-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=sm_80 -gencode=arch=compute_50,code=compute_50" |
| ;; |
| cu102) |
| export CUDA_HOME=/usr/local/cuda-10.2/ |
| export CUDA_TAG=10.2 |
| export NVCC_FLAGS="-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_50,code=compute_50" |
| ;; |
| cu101) |
| export CUDA_HOME=/usr/local/cuda-10.1/ |
| export CUDA_TAG=10.1 |
| export NVCC_FLAGS="-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_50,code=compute_50" |
| ;; |
| *) |
| echo "Unrecognized cu_version=$cu_version" |
| exit 1 |
| ;; |
| esac |
| tag=py"${python_version//./}"_"${cu_version}"_pyt"${pytorch_version//./}" |
|
|
| outdir="/inside/packaging/linux_wheels/output/$tag" |
| if [[ -d "$outdir" ]] |
| then |
| continue |
| fi |
|
|
| conda create -y -n "$tag" "python=$python_version" |
| conda activate "$tag" |
| |
| conda install -y -c pytorch $extra_channel "pytorch=$pytorch_version" "$cudatools=$CUDA_TAG" |
| pip install fvcore iopath |
| echo "python version" "$python_version" "pytorch version" "$pytorch_version" "cuda version" "$cu_version" "tag" "$tag" |
|
|
| rm -rf dist |
|
|
| python setup.py clean |
| python setup.py bdist_wheel |
|
|
| rm -rf "$outdir" |
| mkdir -p "$outdir" |
| cp dist/*whl "$outdir" |
|
|
| conda deactivate |
| done |
| done |
| done |
| echo "DONE" |
|
|