Skip to content

Commit

Permalink
PyTorch 1.12 support (#245)
Browse files Browse the repository at this point in the history
  • Loading branch information
rusty1s committed Jun 30, 2022
1 parent 08892a3 commit 897c0a8
Show file tree
Hide file tree
Showing 11 changed files with 89 additions and 38 deletions.
24 changes: 11 additions & 13 deletions .github/workflows/building-conda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,27 +12,25 @@ jobs:
matrix:
os: [ubuntu-18.04, macos-10.15, windows-2019]
python-version: ['3.7', '3.8', '3.9', '3.10']
torch-version: [1.10.0, 1.11.0]
cuda-version: ['cpu', 'cu102', 'cu113', 'cu115']
torch-version: [1.11.0, 1.12.0]
cuda-version: ['cpu', 'cu102', 'cu113', 'cu115', 'cu116']
exclude:
- torch-version: 1.10.0
- torch-version: 1.11.0
cuda-version: 'cu116'
- torch-version: 1.12.0
cuda-version: 'cu115'
- torch-version: 1.10.0
python-version: '3.10'
- os: windows-2019
torch-version: 1.11.0
cuda-version: 'cu102'
- os: macos-10.15
cuda-version: 'cu102'
- os: macos-10.15
cuda-version: 'cu113'
- os: macos-10.15
cuda-version: 'cu115'
# There is a weird `glibc=2.27` bug going on for this combination:
- os: ubuntu-18.04
python-version: '3.10'
- os: ubuntu-18.04
cuda-version: 'cu115'
- os: macos-10.15
cuda-version: 'cu116'
- os: windows-2019
cuda-version: 'cu102'
- os: windows-2019 # Complains about CUDA mismatch.
python-version: '3.7'

steps:
- uses: actions/checkout@v2
Expand Down
19 changes: 9 additions & 10 deletions .github/workflows/building.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,26 +12,25 @@ jobs:
matrix:
os: [ubuntu-18.04, macos-10.15, windows-2019]
python-version: ['3.7', '3.8', '3.9', '3.10']
torch-version: [1.10.0, 1.11.0]
cuda-version: ['cpu', 'cu102', 'cu113', 'cu115']
torch-version: [1.11.0, 1.12.0]
cuda-version: ['cpu', 'cu102', 'cu113', 'cu115', 'cu116']
exclude:
- torch-version: 1.10.0
- torch-version: 1.11.0
cuda-version: 'cu116'
- torch-version: 1.12.0
cuda-version: 'cu115'
- torch-version: 1.10.0
python-version: '3.10'
- os: windows-2019
torch-version: 1.11.0
cuda-version: 'cu102'
- os: macos-10.15
cuda-version: 'cu102'
- os: macos-10.15
cuda-version: 'cu113'
- os: macos-10.15
cuda-version: 'cu115'
# There is a weird bug going on for this combination:
- os: macos-10.15
cuda-version: 'cu116'
- os: windows-2019
cuda-version: 'cu102'
- os: windows-2019 # Complains about CUDA mismatch.
python-version: '3.7'
cuda-version: 'cu115'

steps:
- uses: actions/checkout@v2
Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/cuda/cu116-Linux-env.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/bash

CUDA_HOME=/usr/local/cuda-11.6
LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${LD_LIBRARY_PATH}
PATH=${CUDA_HOME}/bin:${PATH}

export FORCE_CUDA=1
export TORCH_CUDA_ARCH_LIST="3.5;5.0+PTX;6.0;7.0;7.5;8.0;8.6"
15 changes: 15 additions & 0 deletions .github/workflows/cuda/cu116-Linux.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/bin/bash

OS=ubuntu1804

wget -nv https://developer.download.nvidia.com/compute/cuda/repos/${OS}/x86_64/cuda-${OS}.pin
sudo mv cuda-${OS}.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget -nv https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda-repo-${OS}-11-6-local_11.6.2-510.47.03-1_amd64.deb
sudo dpkg -i cuda-repo-${OS}-11-6-local_11.6.2-510.47.03-1_amd64.deb
sudo apt-key add /var/cuda-repo-${OS}-11-6-local/7fa2af80.pub

sudo apt-get -qq update
sudo apt install cuda-nvcc-11-6 cuda-libraries-dev-11-6
sudo apt clean

rm -f https://developer.download.nvidia.com/compute/cuda/11.5.2/local_installers/cuda-repo-${OS}-11-6-local_11.6.2-510.47.03-1_amd64.deb
8 changes: 8 additions & 0 deletions .github/workflows/cuda/cu116-Windows-env.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/bash

CUDA_HOME=/c/Program\ Files/NVIDIA\ GPU\ Computing\ Toolkit/CUDA/v11.3
PATH=${CUDA_HOME}/bin:$PATH
PATH=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/MSBuild/15.0/Bin:$PATH

export FORCE_CUDA=1
export TORCH_CUDA_ARCH_LIST="6.0+PTX"
20 changes: 20 additions & 0 deletions .github/workflows/cuda/cu116-Windows.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/bin/bash

# TODO We currently use CUDA 11.3 to build CUDA 11.5 Windows wheels

# Install NVIDIA drivers, see:
# https://github.com/pytorch/vision/blob/master/packaging/windows/internal/cuda_install.bat#L99-L102
curl -k -L "https://drive.google.com/u/0/uc?id=1injUyo3lnarMgWyRcXqKg4UGnN0ysmuq&export=download" --output "/tmp/gpu_driver_dlls.zip"
7z x "/tmp/gpu_driver_dlls.zip" -o"/c/Windows/System32"

export CUDA_SHORT=11.3
export CUDA_URL=https://developer.download.nvidia.com/compute/cuda/${CUDA_SHORT}.0/local_installers
export CUDA_FILE=cuda_${CUDA_SHORT}.0_465.89_win10.exe

# Install CUDA:
curl -k -L "${CUDA_URL}/${CUDA_FILE}" --output "${CUDA_FILE}"
echo ""
echo "Installing from ${CUDA_FILE}..."
PowerShell -Command "Start-Process -FilePath \"${CUDA_FILE}\" -ArgumentList \"-s nvcc_${CUDA_SHORT} cuobjdump_${CUDA_SHORT} nvprune_${CUDA_SHORT} cupti_${CUDA_SHORT} cublas_dev_${CUDA_SHORT} cudart_${CUDA_SHORT} cufft_dev_${CUDA_SHORT} curand_dev_${CUDA_SHORT} cusolver_dev_${CUDA_SHORT} cusparse_dev_${CUDA_SHORT} thrust_${CUDA_SHORT} npp_dev_${CUDA_SHORT} nvrtc_dev_${CUDA_SHORT} nvml_dev_${CUDA_SHORT}\" -Wait -NoNewWindow"
echo "Done!"
rm -f "${CUDA_FILE}"
2 changes: 1 addition & 1 deletion .github/workflows/linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:

strategy:
matrix:
torch-version: [1.11.0]
torch-version: [1.12.0]

steps:
- uses: actions/checkout@v2
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
matrix:
os: [ubuntu-latest, windows-2019]
python-version: [3.7]
torch-version: [1.10.0, 1.11.0]
torch-version: [1.11.0, 1.12.0]

steps:
- uses: actions/checkout@v2
Expand Down
24 changes: 12 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,39 +43,39 @@ conda install pytorch-sparse -c pyg

We alternatively provide pip wheels for all major OS/PyTorch/CUDA combinations, see [here](https://data.pyg.org/whl).

#### PyTorch 1.11
#### PyTorch 1.12

To install the binaries for PyTorch 1.11.0, simply run
To install the binaries for PyTorch 1.12.0, simply run

```
pip install torch-scatter torch-sparse -f https://data.pyg.org/whl/torch-1.11.0+${CUDA}.html
pip install torch-scatter torch-sparse -f https://data.pyg.org/whl/torch-1.12.0+${CUDA}.html
```

where `${CUDA}` should be replaced by either `cpu`, `cu102`, `cu113`, or `cu115` depending on your PyTorch installation.
where `${CUDA}` should be replaced by either `cpu`, `cu102`, `cu113`, or `cu116` depending on your PyTorch installation.

| | `cpu` | `cu102` | `cu113` | `cu115` |
| | `cpu` | `cu102` | `cu113` | `cu116` |
|-------------|-------|---------|---------|---------|
| **Linux** |||||
| **Windows** || |||
| **macOS** || | | |

#### PyTorch 1.10
#### PyTorch 1.11

To install the binaries for PyTorch 1.10.0, PyTorch 1.10.1 and PyTorch 1.10.2, simply run
To install the binaries for PyTorch 1.11.0, simply run

```
pip install torch-scatter torch-sparse -f https://data.pyg.org/whl/torch-1.10.0+${CUDA}.html
pip install torch-scatter torch-sparse -f https://data.pyg.org/whl/torch-1.11.0+${CUDA}.html
```

where `${CUDA}` should be replaced by either `cpu`, `cu102`, `cu111`, or `cu113` depending on your PyTorch installation.
where `${CUDA}` should be replaced by either `cpu`, `cu102`, `cu113`, or `cu115` depending on your PyTorch installation.

| | `cpu` | `cu102` | `cu111` | `cu113` |
| | `cpu` | `cu102` | `cu113` | `cu115` |
|-------------|-------|---------|---------|---------|
| **Linux** |||||
| **Windows** || |||
| **Windows** || |||
| **macOS** || | | |

**Note:** Binaries of older versions are also provided for PyTorch 1.4.0, PyTorch 1.5.0, PyTorch 1.6.0, PyTorch 1.7.0/1.7.1, PyTorch 1.8.0/1.8.1 and PyTorch 1.9.0 (following the same procedure).
**Note:** Binaries of older versions are also provided for PyTorch 1.4.0, PyTorch 1.5.0, PyTorch 1.6.0, PyTorch 1.7.0/1.7.1, PyTorch 1.8.0/1.8.1, PyTorch 1.9.0, and PyTorch 1.10.0/1.10.1/1.10.2 (following the same procedure).
For older versions, you might need to explicitly specify the latest supported version number in order to prevent a manual installation from source.
You can look up the latest supported version number [here](https://data.pyg.org/whl).

Expand Down
2 changes: 1 addition & 1 deletion conda/pytorch-sparse/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
```
./build_conda.sh 3.9 1.11.0 cu113 # python, pytorch and cuda version
./build_conda.sh 3.9 1.12.0 cu113 # python, pytorch and cuda version
```
3 changes: 3 additions & 0 deletions conda/pytorch-sparse/build_conda.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ if [ "${CUDA_VERSION}" = "cpu" ]; then
export CONDA_CUDATOOLKIT_CONSTRAINT="cpuonly # [not osx]"
else
case $CUDA_VERSION in
cu116)
export CONDA_CUDATOOLKIT_CONSTRAINT="cudatoolkit==11.6.*"
;;
cu115)
export CONDA_CUDATOOLKIT_CONSTRAINT="cudatoolkit==11.5.*"
;;
Expand Down

0 comments on commit 897c0a8

Please sign in to comment.