Commit 14027d27 authored by rusty1s's avatar rusty1s
Browse files

CUDA 11.1

parent 98fbb7cb
......@@ -10,61 +10,71 @@ env:
- CUDA_HOME=/usr/local/cuda
jobs:
# Python 3.6
- PYTHON_VERSION=3.6 TORCH_VERSION=1.8.0 IDX=cpu
- PYTHON_VERSION=3.6 TORCH_VERSION=1.8.0 IDX=cu101
- PYTHON_VERSION=3.6 TORCH_VERSION=1.8.0 IDX=cu102
- PYTHON_VERSION=3.6 TORCH_VERSION=1.8.0 IDX=cu111
- PYTHON_VERSION=3.6 TORCH_VERSION=1.7.0 IDX=cpu
- PYTHON_VERSION=3.6 TORCH_VERSION=1.7.0 IDX=cu92
- PYTHON_VERSION=3.6 TORCH_VERSION=1.7.0 IDX=cu101
- PYTHON_VERSION=3.6 TORCH_VERSION=1.7.0 IDX=cu102
- PYTHON_VERSION=3.6 TORCH_VERSION=1.7.0 IDX=cu110
- PYTHON_VERSION=3.6 TORCH_VERSION=1.6.0 IDX=cpu
- PYTHON_VERSION=3.6 TORCH_VERSION=1.6.0 IDX=cu92
- PYTHON_VERSION=3.6 TORCH_VERSION=1.6.0 IDX=cu101
- PYTHON_VERSION=3.6 TORCH_VERSION=1.6.0 IDX=cu102
# Python 3.7
- PYTHON_VERSION=3.7 TORCH_VERSION=1.8.0 IDX=cpu
- PYTHON_VERSION=3.7 TORCH_VERSION=1.8.0 IDX=cu101
- PYTHON_VERSION=3.7 TORCH_VERSION=1.8.0 IDX=cu102
- PYTHON_VERSION=3.7 TORCH_VERSION=1.8.0 IDX=cu111
- PYTHON_VERSION=3.7 TORCH_VERSION=1.7.0 IDX=cpu
- PYTHON_VERSION=3.7 TORCH_VERSION=1.7.0 IDX=cu92
- PYTHON_VERSION=3.7 TORCH_VERSION=1.7.0 IDX=cu101
- PYTHON_VERSION=3.7 TORCH_VERSION=1.7.0 IDX=cu102
- PYTHON_VERSION=3.7 TORCH_VERSION=1.7.0 IDX=cu110
- PYTHON_VERSION=3.7 TORCH_VERSION=1.6.0 IDX=cpu
- PYTHON_VERSION=3.7 TORCH_VERSION=1.6.0 IDX=cu92
- PYTHON_VERSION=3.7 TORCH_VERSION=1.6.0 IDX=cu101
- PYTHON_VERSION=3.7 TORCH_VERSION=1.6.0 IDX=cu102
# Python 3.8
- PYTHON_VERSION=3.8 TORCH_VERSION=1.8.0 IDX=cpu
- PYTHON_VERSION=3.8 TORCH_VERSION=1.8.0 IDX=cu101
- PYTHON_VERSION=3.8 TORCH_VERSION=1.8.0 IDX=cu102
- PYTHON_VERSION=3.8 TORCH_VERSION=1.8.0 IDX=cu111
- PYTHON_VERSION=3.8 TORCH_VERSION=1.7.0 IDX=cpu
- PYTHON_VERSION=3.8 TORCH_VERSION=1.7.0 IDX=cu92
- PYTHON_VERSION=3.8 TORCH_VERSION=1.7.0 IDX=cu101
- PYTHON_VERSION=3.8 TORCH_VERSION=1.7.0 IDX=cu102
- PYTHON_VERSION=3.8 TORCH_VERSION=1.7.0 IDX=cu110
- PYTHON_VERSION=3.8 TORCH_VERSION=1.6.0 IDX=cpu
- PYTHON_VERSION=3.8 TORCH_VERSION=1.6.0 IDX=cu92
- PYTHON_VERSION=3.8 TORCH_VERSION=1.6.0 IDX=cu101
- PYTHON_VERSION=3.8 TORCH_VERSION=1.6.0 IDX=cu102
jobs:
# For daily builds, we only test on Python 3.6 with CUDA 10.2/11.0.
# For daily builds, we only test on Python 3.6 with 11.0/11.1.
# For deployment, we exclude *all* macOS CUDA and Windows CUDA 9.2 jobs.
exclude:
# Python 3.6
# Python 3.6 / PyTorch 1.8.0
- if: not (tag is present or commit_message =~ ci-deploy) and os != osx
env: PYTHON_VERSION=3.6 TORCH_VERSION=1.8.0 IDX=cpu
- if: not (tag is present or commit_message =~ ci-deploy) or os = osx
env: PYTHON_VERSION=3.6 TORCH_VERSION=1.8.0 IDX=cu101
- if: not (tag is present or commit_message =~ ci-deploy) or os = osx
env: PYTHON_VERSION=3.6 TORCH_VERSION=1.8.0 IDX=cu102
- if: os = osx
env: PYTHON_VERSION=3.6 TORCH_VERSION=1.8.0 IDX=cu111
# Python 3.6 / PyTorch 1.7.0
- if: not (tag is present or commit_message =~ ci-deploy) and os != osx
env: PYTHON_VERSION=3.6 TORCH_VERSION=1.7.0 IDX=cpu
- if: not (tag is present or commit_message =~ ci-deploy) or os != linux
env: PYTHON_VERSION=3.6 TORCH_VERSION=1.7.0 IDX=cu92
- if: not (tag is present or commit_message =~ ci-deploy) or os = osx
env: PYTHON_VERSION=3.6 TORCH_VERSION=1.7.0 IDX=cu101
- if: os = osx
- if: not (tag is present or commit_message =~ ci-deploy) or os = osx
env: PYTHON_VERSION=3.6 TORCH_VERSION=1.7.0 IDX=cu102
- if: os = osx
env: PYTHON_VERSION=3.6 TORCH_VERSION=1.7.0 IDX=cu110
- if: not (tag is present or commit_message =~ ci-deploy) and os != osx
env: PYTHON_VERSION=3.6 TORCH_VERSION=1.6.0 IDX=cpu
- if: not (tag is present or commit_message =~ ci-deploy) or os != linux
env: PYTHON_VERSION=3.6 TORCH_VERSION=1.6.0 IDX=cu92
# Python 3.7 / PyTorch 1.8.0
- if: not (tag is present or commit_message =~ ci-deploy)
env: PYTHON_VERSION=3.7 TORCH_VERSION=1.8.0 IDX=cpu
- if: not (tag is present or commit_message =~ ci-deploy) or os = osx
env: PYTHON_VERSION=3.6 TORCH_VERSION=1.6.0 IDX=cu101
- if: os = osx
env: PYTHON_VERSION=3.6 TORCH_VERSION=1.6.0 IDX=cu102
# Python 3.7
env: PYTHON_VERSION=3.7 TORCH_VERSION=1.8.0 IDX=cu101
- if: not (tag is present or commit_message =~ ci-deploy) or os = osx
env: PYTHON_VERSION=3.7 TORCH_VERSION=1.8.0 IDX=cu102
- if: not (tag is present or commit_message =~ ci-deploy) or os = osx
env: PYTHON_VERSION=3.7 TORCH_VERSION=1.8.0 IDX=cu111
- if: not (tag is present or commit_message =~ ci-deploy)
# Python 3.7 / PyTorch 1.7.0
env: PYTHON_VERSION=3.7 TORCH_VERSION=1.7.0 IDX=cpu
- if: not (tag is present or commit_message =~ ci-deploy) or os != linux
env: PYTHON_VERSION=3.7 TORCH_VERSION=1.7.0 IDX=cu92
......@@ -74,16 +84,17 @@ jobs:
env: PYTHON_VERSION=3.7 TORCH_VERSION=1.7.0 IDX=cu102
- if: not (tag is present or commit_message =~ ci-deploy) or os = osx
env: PYTHON_VERSION=3.7 TORCH_VERSION=1.7.0 IDX=cu110
# Python 3.8 / PyTorch 1.8.0
- if: not (tag is present or commit_message =~ ci-deploy)
env: PYTHON_VERSION=3.7 TORCH_VERSION=1.6.0 IDX=cpu
- if: not (tag is present or commit_message =~ ci-deploy) or os != linux
env: PYTHON_VERSION=3.7 TORCH_VERSION=1.6.0 IDX=cu92
env: PYTHON_VERSION=3.8 TORCH_VERSION=1.8.0 IDX=cpu
- if: not (tag is present or commit_message =~ ci-deploy) or os = osx
env: PYTHON_VERSION=3.7 TORCH_VERSION=1.6.0 IDX=cu101
env: PYTHON_VERSION=3.8 TORCH_VERSION=1.8.0 IDX=cu101
- if: not (tag is present or commit_message =~ ci-deploy) or os = osx
env: PYTHON_VERSION=3.7 TORCH_VERSION=1.6.0 IDX=cu102
# Python 3.8
env: PYTHON_VERSION=3.8 TORCH_VERSION=1.8.0 IDX=cu102
- if: not (tag is present or commit_message =~ ci-deploy) or os = osx
env: PYTHON_VERSION=3.8 TORCH_VERSION=1.8.0 IDX=cu111
- if: not (tag is present or commit_message =~ ci-deploy)
# Python 3.8 / PyTorch 1.7.0
env: PYTHON_VERSION=3.8 TORCH_VERSION=1.7.0 IDX=cpu
- if: not (tag is present or commit_message =~ ci-deploy) or os != linux
env: PYTHON_VERSION=3.8 TORCH_VERSION=1.7.0 IDX=cu92
......@@ -93,14 +104,6 @@ jobs:
env: PYTHON_VERSION=3.8 TORCH_VERSION=1.7.0 IDX=cu102
- if: not (tag is present or commit_message =~ ci-deploy) or os = osx
env: PYTHON_VERSION=3.8 TORCH_VERSION=1.7.0 IDX=cu110
- if: not (tag is present or commit_message =~ ci-deploy)
env: PYTHON_VERSION=3.8 TORCH_VERSION=1.6.0 IDX=cpu
- if: not (tag is present or commit_message =~ ci-deploy) or os != linux
env: PYTHON_VERSION=3.8 TORCH_VERSION=1.6.0 IDX=cu92
- if: not (tag is present or commit_message =~ ci-deploy) or os = osx
env: PYTHON_VERSION=3.8 TORCH_VERSION=1.6.0 IDX=cu101
- if: not (tag is present or commit_message =~ ci-deploy) or os = osx
env: PYTHON_VERSION=3.8 TORCH_VERSION=1.6.0 IDX=cu102
install:
- source script/gcc.sh
......
......@@ -25,6 +25,22 @@ The operator works on all floating point data types and is implemented both for
We provide pip wheels for all major OS/PyTorch/CUDA combinations, see [here](https://pytorch-geometric.com/whl).
#### PyTorch 1.8.0
To install the binaries for PyTorch 1.8.0, simply run
```
pip install torch-spline-conv -f https://pytorch-geometric.com/whl/torch-1.8.0+${CUDA}.html
```
where `${CUDA}` should be replaced by either `cpu`, `cu101`, `cu102`, or `cu111` depending on your PyTorch installation.
| | `cpu` | `cu101` | `cu102` | `cu111` |
|-------------|-------|---------|---------|---------|
| **Linux** | ✅ | ✅ | ✅ | ✅ |
| **Windows** | ✅ | ✅ | ✅ | ✅ |
| **macOS** | ✅ | | | |
#### PyTorch 1.7.0
To install the binaries for PyTorch 1.7.0, simply run
......@@ -41,23 +57,7 @@ where `${CUDA}` should be replaced by either `cpu`, `cu92`, `cu101`, `cu102`, or
| **Windows** | ✅ | ❌ | ✅ | ✅ | ✅ |
| **macOS** | ✅ | | | | |
#### PyTorch 1.6.0
To install the binaries for PyTorch 1.6.0, simply run
```
pip install torch-spline-conv -f https://pytorch-geometric.com/whl/torch-1.6.0+${CUDA}.html
```
where `${CUDA}` should be replaced by either `cpu`, `cu92`, `cu101` or `cu102` depending on your PyTorch installation.
| | `cpu` | `cu92` | `cu101` | `cu102` |
|-------------|-------|--------|---------|---------|
| **Linux** | ✅ | ✅ | ✅ | ✅ |
| **Windows** | ✅ | ❌ | ✅ | ✅ |
| **macOS** | ✅ | | | |
**Note:** Binaries of older versions are also provided for PyTorch 1.4.0 and PyTorch 1.5.0 (following the same procedure).
**Note:** Binaries of older versions are also provided for PyTorch 1.4.0, PyTorch 1.5.0 and PyTorch 1.6.0 (following the same procedure).
### From source
......
......@@ -32,6 +32,11 @@ if [ "${TRAVIS_OS_NAME}" = "linux" ] && [ "$IDX" = "cu110" ]; then
export TOOLKIT="cudatoolkit=${CUDA_SHORT}"
fi
if [ "${TRAVIS_OS_NAME}" = "linux" ] && [ "$IDX" = "cu111" ]; then
export CUDA_SHORT=11.1
export TOOLKIT="cudatoolkit=${CUDA_SHORT}"
fi
if [ "${TRAVIS_OS_NAME}" = "windows" ] && [ "$IDX" = "cpu" ]; then
export TOOLKIT=cpuonly
fi
......@@ -64,6 +69,13 @@ if [ "${TRAVIS_OS_NAME}" = "windows" ] && [ "$IDX" = "cu110" ]; then
export TOOLKIT="cudatoolkit=${CUDA_SHORT}"
fi
if [ "${TRAVIS_OS_NAME}" = "windows" ] && [ "$IDX" = "cu111" ]; then
export CUDA_SHORT=11.1
export CUDA_URL=https://developer.download.nvidia.com/compute/cuda/${CUDA_SHORT}.1/local_installers
export CUDA_FILE=cuda_${CUDA_SHORT}.1_456.81_win10.exe
export TOOLKIT="cudatoolkit=${CUDA_SHORT}"
fi
if [ "${TRAVIS_OS_NAME}" = "osx" ] && [ "$IDX" = "cpu" ]; then
export TOOLKIT=""
fi
......@@ -74,7 +86,7 @@ else
export FORCE_CUDA=1
fi
if [ "${TRAVIS_OS_NAME}" = "linux" ] && [ "${IDX}" != "cpu" ] && [ "${IDX}" != "cu110" ]; then
if [ "${TRAVIS_OS_NAME}" = "linux" ] && { [ "${IDX}" = "cu92" ] || [ "${IDX}" = "cu101" ] || [ "${IDX}" = "cu102" ]; }; then
INSTALLER="cuda-repo-${UBUNTU_VERSION}_${CUDA}_amd64.deb"
wget -nv "http://developer.download.nvidia.com/compute/cuda/repos/${UBUNTU_VERSION}/x86_64/${INSTALLER}"
sudo dpkg -i "${INSTALLER}"
......@@ -88,7 +100,7 @@ if [ "${TRAVIS_OS_NAME}" = "linux" ] && [ "${IDX}" != "cpu" ] && [ "${IDX}" != "
PATH=${CUDA_HOME}/bin:${PATH}
nvcc --version
# Fix cublas on CUDA 10.1:
# Fix cublas on CUDA 10.2:
if [ -d "/usr/local/cuda-10.2/targets/x86_64-linux/include" ]; then
sudo cp -r /usr/local/cuda-10.2/targets/x86_64-linux/include/* "${CUDA_HOME}/include/"
fi
......@@ -112,6 +124,21 @@ if [ "${TRAVIS_OS_NAME}" = "linux" ] && [ "${IDX}" = "cu110" ]; then
nvcc --version
fi
if [ "${TRAVIS_OS_NAME}" = "linux" ] && [ "${IDX}" = "cu111" ]; then
wget -nv https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget -nv https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda-repo-ubuntu1804-11-1-local_11.1.1-455.32.00-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804-11-1-local_11.1.1-455.32.00-1_amd64.deb
sudo apt-key add /var/cuda-repo-ubuntu1804-11-1-local/7fa2af80.pub
sudo apt update -qq
sudo apt install cuda-nvcc-11-1 cuda-libraries-dev-11-1
sudo apt clean
CUDA_HOME=/usr/local/cuda-${CUDA_SHORT}
LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${LD_LIBRARY_PATH}
PATH=${CUDA_HOME}/bin:${PATH}
nvcc --version
fi
if [ "${TRAVIS_OS_NAME}" = "windows" ] && [ "${IDX}" != "cpu" ]; then
# Install NVIDIA drivers, see:
# https://github.com/pytorch/vision/blob/master/packaging/windows/internal/cuda_install.bat#L99-L102
......
#!/bin/bash
# https://github.com/pytorch/pytorch/commit/d2e16dd888a9b5fd55bd475d4fcffb70f388d4f0
if [ "${TRAVIS_OS_NAME}" = "windows" ]; then
if [ "${TRAVIS_OS_NAME}" = "windows" ] && [ "${TORCH_VERSION}" = "1.7.0" ]; then
echo "Fix nvcc for PyTorch"
sed -i.bak -e 's/CONSTEXPR_EXCEPT_WIN_CUDA/const/g' /c/tools/miniconda3/envs/test/lib/site-packages/torch/include/torch/csrc/jit/api/module.h
sed -i.bak -e 's/return \*(this->value)/return \*((type\*)this->value)/g' /c/tools/miniconda3/envs/test/lib/site-packages/torch/include/pybind11/cast.h
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment