From 47f8dbe0fbc20f79f9ac8f978711b0f442ca9ad4 Mon Sep 17 00:00:00 2001 From: rusty1s Date: Wed, 14 Aug 2024 13:18:15 +0000 Subject: [PATCH 01/10] update --- .github/workflows/building-conda.yml | 17 +++++++++----- .github/workflows/building.yml | 14 +++++++---- .github/workflows/cuda/cu124-Linux-env.sh | 8 +++++++ .github/workflows/cuda/cu124-Linux.sh | 15 ++++++++++++ .github/workflows/cuda/cu124-Windows-env.sh | 8 +++++++ .github/workflows/cuda/cu124-Windows.sh | 18 ++++++++++++++ .github/workflows/testing.yml | 2 +- README.md | 26 ++++++++++----------- conda/pytorch-spline-conv/README.md | 2 +- conda/pytorch-spline-conv/build_conda.sh | 3 +++ 10 files changed, 87 insertions(+), 26 deletions(-) create mode 100644 .github/workflows/cuda/cu124-Linux-env.sh create mode 100755 .github/workflows/cuda/cu124-Linux.sh create mode 100644 .github/workflows/cuda/cu124-Windows-env.sh create mode 100755 .github/workflows/cuda/cu124-Windows.sh diff --git a/.github/workflows/building-conda.yml b/.github/workflows/building-conda.yml index 4218e88..9633485 100644 --- a/.github/workflows/building-conda.yml +++ b/.github/workflows/building-conda.yml @@ -11,14 +11,19 @@ jobs: fail-fast: false matrix: # We have trouble building for Windows - drop for now. - os: [ubuntu-20.04] # windows-2019 + os: [ubuntu-20.04, macos-14] # windows-2019 python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] - torch-version: [2.3.0] # [2.1.0, 2.2.0, 2.3.0] - cuda-version: ['cpu', 'cu118', 'cu121'] + torch-version: [2.4.0] # [2.3.0, 2.4.0] + cuda-version: ['cpu', 'cu118', 'cu121', 'cu124'] exclude: - - python-version: '3.12' # Python 3.12 not yet supported in `conda-build`. - - torch-version: 2.1.0 - python-version: '3.12' + - torch-version: 2.3.0 + cuda-version: 'cu124' + - os: macos-14 + cuda-version: 'cu118' + - os: macos-14 + cuda-version: 'cu121' + - os: macos-14 + cuda-version: 'cu124' steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index 674350d..19ae452 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -11,16 +11,20 @@ jobs: fail-fast: false matrix: os: [ubuntu-20.04, macos-14, windows-2019] - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] - torch-version: [2.3.0] # [2.1.0, 2.2.0, 2.3.0] - cuda-version: ['cpu', 'cu118', 'cu121'] + # python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] + python-version: ['3.8'] + torch-version: [2.4.0] # [2.2.3.0, 2.4.0] + # cuda-version: ['cpu', 'cu118', 'cu121', 'cu124'] + cuda-version: ['cpu', 'cu124'] exclude: - - torch-version: 2.1.0 - python-version: '3.12' + - torch-version: 2.3.0 + cuda-version: 'cu124' - os: macos-14 cuda-version: 'cu118' - os: macos-14 cuda-version: 'cu121' + - os: macos-14 + cuda-version: 'cu124' steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/cuda/cu124-Linux-env.sh b/.github/workflows/cuda/cu124-Linux-env.sh new file mode 100644 index 0000000..19133e1 --- /dev/null +++ b/.github/workflows/cuda/cu124-Linux-env.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +CUDA_HOME=/usr/local/cuda-12.4 +LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${LD_LIBRARY_PATH} +PATH=${CUDA_HOME}/bin:${PATH} + +export FORCE_CUDA=1 +export TORCH_CUDA_ARCH_LIST="5.0+PTX;6.0;7.0;7.5;8.0;8.6;9.0" diff --git a/.github/workflows/cuda/cu124-Linux.sh b/.github/workflows/cuda/cu124-Linux.sh new file mode 100755 index 0000000..fedea00 --- /dev/null +++ b/.github/workflows/cuda/cu124-Linux.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +OS=ubuntu2004 + +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/12.4.1/local_installers/cuda-repo-${OS}-12-4-local_12.4.1-550.54.15-1_amd64.deb +sudo dpkg -i cuda-repo-${OS}-12-4-local_12.4.1-550.54.15-1_amd64.deb +sudo cp /var/cuda-repo-${OS}-12-4-local/cuda-*-keyring.gpg /usr/share/keyrings/ + +sudo apt-get -qq update +sudo apt install cuda-nvcc-12-1 cuda-libraries-dev-12-4 +sudo apt clean + +rm -f https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda-repo-${OS}-12-4-local_12.4.1-550.54.15-1_amd64.deb diff --git a/.github/workflows/cuda/cu124-Windows-env.sh b/.github/workflows/cuda/cu124-Windows-env.sh new file mode 100644 index 0000000..c47fdbb --- /dev/null +++ b/.github/workflows/cuda/cu124-Windows-env.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +CUDA_HOME=/c/Program\ Files/NVIDIA\ GPU\ Computing\ Toolkit/CUDA/v12.4 +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" diff --git a/.github/workflows/cuda/cu124-Windows.sh b/.github/workflows/cuda/cu124-Windows.sh new file mode 100755 index 0000000..b85aeb6 --- /dev/null +++ b/.github/workflows/cuda/cu124-Windows.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +# 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=12.4 +export CUDA_URL=https://developer.download.nvidia.com/compute/cuda/${CUDA_SHORT}.1/local_installers +export CUDA_FILE=cuda_${CUDA_SHORT}.1_551.78_windows.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}" diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index d6baec6..d07571e 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -16,7 +16,7 @@ jobs: matrix: os: [ubuntu-latest, windows-latest] python-version: [3.8] - torch-version: [2.2.0, 2.3.0] + torch-version: [2.3.0, 2.4.0] steps: - uses: actions/checkout@v2 diff --git a/README.md b/README.md index abd013e..631e1f9 100644 --- a/README.md +++ b/README.md @@ -37,28 +37,28 @@ conda install pytorch-spline-conv -c pyg We alternatively provide pip wheels for all major OS/PyTorch/CUDA combinations, see [here](https://data.pyg.org/whl). -#### PyTorch 2.3 +#### PyTorch 2.4 -To install the binaries for PyTorch 2.3.0, simply run +To install the binaries for PyTorch 2.4.0, simply run ``` -pip install torch-spline-conv -f https://data.pyg.org/whl/torch-2.3.0+${CUDA}.html +pip install torch-spline-conv -f https://data.pyg.org/whl/torch-2.4.0+${CUDA}.html ``` -where `${CUDA}` should be replaced by either `cpu`, `cu118`, or `cu121` depending on your PyTorch installation. +where `${CUDA}` should be replaced by either `cpu`, `cu118`, `cu121`, or `cu124` depending on your PyTorch installation. -| | `cpu` | `cu118` | `cu121` | -|-------------|-------|---------|---------| -| **Linux** | ✅ | ✅ | ✅ | -| **Windows** | ✅ | ✅ | ✅ | -| **macOS** | ✅ | | | +| | `cpu` | `cu118` | `cu121` | `cu124` | +|-------------|-------|---------|---------|---------~ +| **Linux** | ✅ | ✅ | ✅ | ✅ | +| **Windows** | ✅ | ✅ | ✅ | ✅ | +| **macOS** | ✅ | | | | -#### PyTorch 2.2 +#### PyTorch 2.3 -To install the binaries for PyTorch 2.2.0, simply run +To install the binaries for PyTorch 2.3.0, simply run ``` -pip install torch-spline-conv -f https://data.pyg.org/whl/torch-2.2.0+${CUDA}.html +pip install torch-spline-conv -f https://data.pyg.org/whl/torch-2.3.0+${CUDA}.html ``` where `${CUDA}` should be replaced by either `cpu`, `cu118`, or `cu121` depending on your PyTorch installation. @@ -69,7 +69,7 @@ where `${CUDA}` should be replaced by either `cpu`, `cu118`, or `cu121` dependin | **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, PyTorch 1.9.0, PyTorch 1.10.0/1.10.1/1.10.2, PyTorch 1.11.0, PyTorch 1.12.0/1.12.1, PyTorch 1.13.0/1.13.1, PyTorch 2.0.0/2.0.1, and PyTorch 2.1.0/2.1.1/2.1.2 (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, PyTorch 1.10.0/1.10.1/1.10.2, PyTorch 1.11.0, PyTorch 1.12.0/1.12.1, PyTorch 1.13.0/1.13.1, PyTorch 2.0.0/2.0.1, PyTorch 2.1.0/2.1.1/2.1.2, and PyTorch 2.2.0/2.2.1/2.2.2 (following the same procedure). For older versions, you need to explicitly specify the latest supported version number or install via `pip install --no-index` in order to prevent a manual installation from source. You can look up the latest supported version number [here](https://data.pyg.org/whl). diff --git a/conda/pytorch-spline-conv/README.md b/conda/pytorch-spline-conv/README.md index c562ff4..746cee5 100644 --- a/conda/pytorch-spline-conv/README.md +++ b/conda/pytorch-spline-conv/README.md @@ -1,3 +1,3 @@ ``` -./build_conda.sh 3.11 2.3.0 cu118 # python, pytorch and cuda version +./build_conda.sh 3.11 2.4.0 cu118 # python, pytorch and cuda version ``` diff --git a/conda/pytorch-spline-conv/build_conda.sh b/conda/pytorch-spline-conv/build_conda.sh index 17d55e3..05c04e3 100755 --- a/conda/pytorch-spline-conv/build_conda.sh +++ b/conda/pytorch-spline-conv/build_conda.sh @@ -10,6 +10,9 @@ if [ "${CUDA_VERSION}" = "cpu" ]; then export CONDA_CUDATOOLKIT_CONSTRAINT="cpuonly # [not osx]" else case $CUDA_VERSION in + cu124) + export CONDA_CUDATOOLKIT_CONSTRAINT="pytorch-cuda==12.4.*" + ;; cu121) export CONDA_CUDATOOLKIT_CONSTRAINT="pytorch-cuda==12.1.*" ;; From ed14eaeef1dd2d0ce208c06ac929debfc81b8e71 Mon Sep 17 00:00:00 2001 From: rusty1s Date: Wed, 14 Aug 2024 13:19:25 +0000 Subject: [PATCH 02/10] update --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 631e1f9..f0277cd 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ pip install torch-spline-conv -f https://data.pyg.org/whl/torch-2.4.0+${CUDA}.ht where `${CUDA}` should be replaced by either `cpu`, `cu118`, `cu121`, or `cu124` depending on your PyTorch installation. | | `cpu` | `cu118` | `cu121` | `cu124` | -|-------------|-------|---------|---------|---------~ +|-------------|-------|---------|---------|---------| | **Linux** | ✅ | ✅ | ✅ | ✅ | | **Windows** | ✅ | ✅ | ✅ | ✅ | | **macOS** | ✅ | | | | From 0d33f88271d7c207cf15e632319e602645b7e791 Mon Sep 17 00:00:00 2001 From: rusty1s Date: Wed, 14 Aug 2024 13:46:35 +0000 Subject: [PATCH 03/10] update --- .github/workflows/building.yml | 6 ++---- .github/workflows/cuda/cu124-Linux.sh | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index 19ae452..0d47fcd 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -11,11 +11,9 @@ jobs: fail-fast: false matrix: os: [ubuntu-20.04, macos-14, windows-2019] - # python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] - python-version: ['3.8'] + python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] torch-version: [2.4.0] # [2.2.3.0, 2.4.0] - # cuda-version: ['cpu', 'cu118', 'cu121', 'cu124'] - cuda-version: ['cpu', 'cu124'] + cuda-version: ['cpu', 'cu118', 'cu121', 'cu124'] exclude: - torch-version: 2.3.0 cuda-version: 'cu124' diff --git a/.github/workflows/cuda/cu124-Linux.sh b/.github/workflows/cuda/cu124-Linux.sh index fedea00..f337d5f 100755 --- a/.github/workflows/cuda/cu124-Linux.sh +++ b/.github/workflows/cuda/cu124-Linux.sh @@ -9,7 +9,7 @@ sudo dpkg -i cuda-repo-${OS}-12-4-local_12.4.1-550.54.15-1_amd64.deb sudo cp /var/cuda-repo-${OS}-12-4-local/cuda-*-keyring.gpg /usr/share/keyrings/ sudo apt-get -qq update -sudo apt install cuda-nvcc-12-1 cuda-libraries-dev-12-4 +sudo apt install cuda-nvcc-12-4 cuda-libraries-dev-12-4 sudo apt clean rm -f https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda-repo-${OS}-12-4-local_12.4.1-550.54.15-1_amd64.deb From 629ee57ab9aa5dfcd85cde21b9e10791e38b5df0 Mon Sep 17 00:00:00 2001 From: rusty1s Date: Wed, 14 Aug 2024 14:28:17 +0000 Subject: [PATCH 04/10] update --- .github/workflows/building.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index 0d47fcd..6c06fe5 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -23,6 +23,8 @@ jobs: cuda-version: 'cu121' - os: macos-14 cuda-version: 'cu124' + - os: macos-14 + python-version: '3.8' steps: - uses: actions/checkout@v2 From 2e84f2f41976cb87a00f54dbf01dc9878b099c62 Mon Sep 17 00:00:00 2001 From: rusty1s Date: Wed, 14 Aug 2024 14:28:45 +0000 Subject: [PATCH 05/10] update --- .github/workflows/building.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index 6c06fe5..0d47fcd 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -23,8 +23,6 @@ jobs: cuda-version: 'cu121' - os: macos-14 cuda-version: 'cu124' - - os: macos-14 - python-version: '3.8' steps: - uses: actions/checkout@v2 From d47410ee03f5409c565529cc7766b97b15f21bef Mon Sep 17 00:00:00 2001 From: rusty1s Date: Thu, 15 Aug 2024 05:35:26 +0000 Subject: [PATCH 06/10] update --- .github/workflows/building-conda.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/building-conda.yml b/.github/workflows/building-conda.yml index 9633485..e997fa3 100644 --- a/.github/workflows/building-conda.yml +++ b/.github/workflows/building-conda.yml @@ -11,7 +11,8 @@ jobs: fail-fast: false matrix: # We have trouble building for Windows - drop for now. - os: [ubuntu-20.04, macos-14] # windows-2019 + # os: [ubuntu-20.04, macos-14] # windows-2019 + os: [macos-14] # windows-2019 python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] torch-version: [2.4.0] # [2.3.0, 2.4.0] cuda-version: ['cpu', 'cu118', 'cu121', 'cu124'] @@ -26,7 +27,7 @@ jobs: cuda-version: 'cu124' steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up Conda for Python ${{ matrix.python-version }} uses: conda-incubator/setup-miniconda@v2 with: From 87c2ec00f6b13cf5d09ba7f3961c2a96428c243d Mon Sep 17 00:00:00 2001 From: rusty1s Date: Thu, 15 Aug 2024 05:36:42 +0000 Subject: [PATCH 07/10] update --- .github/workflows/building-conda.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/building-conda.yml b/.github/workflows/building-conda.yml index e997fa3..8c2c6df 100644 --- a/.github/workflows/building-conda.yml +++ b/.github/workflows/building-conda.yml @@ -27,9 +27,9 @@ jobs: cuda-version: 'cu124' steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v2 - name: Set up Conda for Python ${{ matrix.python-version }} - uses: conda-incubator/setup-miniconda@v2 + uses: conda-incubator/setup-miniconda@v3 with: python-version: ${{ matrix.python-version }} From b99ac4a5c5d1476782bf91f953252a67591892ef Mon Sep 17 00:00:00 2001 From: rusty1s Date: Thu, 15 Aug 2024 05:39:45 +0000 Subject: [PATCH 08/10] update --- .github/workflows/building-conda.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/building-conda.yml b/.github/workflows/building-conda.yml index 8c2c6df..2774894 100644 --- a/.github/workflows/building-conda.yml +++ b/.github/workflows/building-conda.yml @@ -12,7 +12,7 @@ jobs: matrix: # We have trouble building for Windows - drop for now. # os: [ubuntu-20.04, macos-14] # windows-2019 - os: [macos-14] # windows-2019 + os: [windows-2019] # windows-2019 python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] torch-version: [2.4.0] # [2.3.0, 2.4.0] cuda-version: ['cpu', 'cu118', 'cu121', 'cu124'] From 64d4fadbaee06931857f047f051dee4b9bce36b0 Mon Sep 17 00:00:00 2001 From: rusty1s Date: Thu, 15 Aug 2024 06:06:21 +0000 Subject: [PATCH 09/10] update --- .github/workflows/building-conda.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/building-conda.yml b/.github/workflows/building-conda.yml index 2774894..d393050 100644 --- a/.github/workflows/building-conda.yml +++ b/.github/workflows/building-conda.yml @@ -10,9 +10,7 @@ jobs: strategy: fail-fast: false matrix: - # We have trouble building for Windows - drop for now. - # os: [ubuntu-20.04, macos-14] # windows-2019 - os: [windows-2019] # windows-2019 + os: [ubuntu-20.04, macos-14, windows-2010] python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] torch-version: [2.4.0] # [2.3.0, 2.4.0] cuda-version: ['cpu', 'cu118', 'cu121', 'cu124'] From 6c26bcbd534288289db5928925757e692ce5e978 Mon Sep 17 00:00:00 2001 From: rusty1s Date: Thu, 15 Aug 2024 06:09:01 +0000 Subject: [PATCH 10/10] update --- .github/workflows/building-conda.yml | 2 +- .github/workflows/building.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/building-conda.yml b/.github/workflows/building-conda.yml index d393050..601e6fd 100644 --- a/.github/workflows/building-conda.yml +++ b/.github/workflows/building-conda.yml @@ -10,7 +10,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-20.04, macos-14, windows-2010] + os: [ubuntu-20.04, macos-14, windows-2019] python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] torch-version: [2.4.0] # [2.3.0, 2.4.0] cuda-version: ['cpu', 'cu118', 'cu121', 'cu124'] diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index 0d47fcd..6bbc190 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -12,7 +12,7 @@ jobs: matrix: os: [ubuntu-20.04, macos-14, windows-2019] python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] - torch-version: [2.4.0] # [2.2.3.0, 2.4.0] + torch-version: [2.4.0] # [2.3.0, 2.4.0] cuda-version: ['cpu', 'cu118', 'cu121', 'cu124'] exclude: - torch-version: 2.3.0