From 3977db48056bf399b86dbe39a95d59d356c914c2 Mon Sep 17 00:00:00 2001 From: rusty1s Date: Sat, 7 Mar 2026 18:05:07 +0000 Subject: [PATCH 1/4] update --- .github/workflows/building.yml | 28 +++++--------------- .github/workflows/cuda/cu130-Linux-env.sh | 8 ++++++ .github/workflows/cuda/cu130-Linux.sh | 17 ++++++++++++ .github/workflows/testing.yml | 4 +-- README.md | 32 +++++++++++------------ setup.py | 1 + 6 files changed, 51 insertions(+), 39 deletions(-) create mode 100644 .github/workflows/cuda/cu130-Linux-env.sh create mode 100755 .github/workflows/cuda/cu130-Linux.sh diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index b3a81388..d321dac8 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -11,38 +11,24 @@ jobs: fail-fast: false matrix: os: [ubuntu-22.04, macos-14, windows-2022, ubuntu-22.04-arm] - python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] - torch-version: [2.8.0] - cuda-version: ['cpu', 'cu118', 'cu124', 'cu126', 'cu128', 'cu129'] + python-version: ['3.10', '3.11', '3.12', '3.13', '3.14'] + torch-version: [2.9.0, 2.10.0] + cuda-version: ['cpu', 'cu126', 'cu128', 'cu130'] exclude: - - torch-version: 2.6.0 - cuda-version: 'cu128' - - torch-version: 2.7.0 - cuda-version: 'cu124' - - torch-version: 2.8.0 - cuda-version: 'cu124' - - torch-version: 2.8.0 - cuda-version: 'cu118' - - os: macos-14 - cuda-version: 'cu118' - - os: macos-14 - cuda-version: 'cu124' + - os: windows-2022 + cuda-version: 'cu130' - os: macos-14 cuda-version: 'cu126' - os: macos-14 cuda-version: 'cu128' - os: macos-14 - cuda-version: 'cu129' - - os: ubuntu-22.04-arm - cuda-version: 'cu118' - - os: ubuntu-22.04-arm - cuda-version: 'cu124' + cuda-version: 'cu130' - os: ubuntu-22.04-arm cuda-version: 'cu126' - os: ubuntu-22.04-arm cuda-version: 'cu128' - os: ubuntu-22.04-arm - cuda-version: 'cu129' + cuda-version: 'cu130' steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/cuda/cu130-Linux-env.sh b/.github/workflows/cuda/cu130-Linux-env.sh new file mode 100644 index 00000000..01b37b66 --- /dev/null +++ b/.github/workflows/cuda/cu130-Linux-env.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +CUDA_HOME=/usr/local/cuda-13.0 +LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${LD_LIBRARY_PATH} +PATH=${CUDA_HOME}/bin:${PATH} + +export FORCE_CUDA=1 +export TORCH_CUDA_ARCH_LIST="7.5;8.0;8.6;9.0;10.0;12.0+PTX" diff --git a/.github/workflows/cuda/cu130-Linux.sh b/.github/workflows/cuda/cu130-Linux.sh new file mode 100755 index 00000000..28d36bfd --- /dev/null +++ b/.github/workflows/cuda/cu130-Linux.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +OS=ubuntu2204 + +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/13.0.2/local_installers/cuda-repo-${OS}-13-0-local_13.0.2-580.95.05-1_amd64.deb + +sudo dpkg -i cuda-repo-${OS}-13-0-local_13.0.2-580.95.05-1_amd64.deb +sudo cp /var/cuda-repo-${OS}-13-0-local/cuda-*-keyring.gpg /usr/share/keyrings/ + +sudo apt-get -qq update +sudo apt install cuda-nvcc-13-0 cuda-libraries-dev-13-0 +sudo apt clean + +rm -f *.deb diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index d996a71c..5524a064 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -15,8 +15,8 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, windows-latest] - python-version: [3.9] - torch-version: [2.6.0, 2.7.0] + python-version: ['3.10'] + torch-version: [2.9.0, 2.10.0] steps: - uses: actions/checkout@v2 diff --git a/README.md b/README.md index f0b1b9c0..14b1a33d 100644 --- a/README.md +++ b/README.md @@ -45,55 +45,55 @@ All included operations are broadcastable, work on varying data types, are imple We provide pip wheels for all major OS/PyTorch/CUDA combinations, see [here](https://data.pyg.org/whl). -#### PyTorch 2.8 +#### PyTorch 2.10 -To install the binaries for PyTorch 2.8.0, simply run +To install the binaries for PyTorch 2.10, simply run ``` -pip install torch-scatter -f https://data.pyg.org/whl/torch-2.8.0+${CUDA}.html +pip install torch-scatter -f https://data.pyg.org/whl/torch-2.10.0+${CUDA}.html ``` -where `${CUDA}` should be replaced by either `cpu`, `cu126`, `cu128`, or `cu129` depending on your PyTorch installation. +where `${CUDA}` should be replaced by either `cpu`, `cu126`, `cu128`, or `cu130` depending on your PyTorch installation. -| | `cpu` | `cu126` | `cu128` | `cu129` | +| | `cpu` | `cu126` | `cu128` | `cu130` | |-------------|-------|---------|---------|---------| | **Linux** | ✅ | ✅ | ✅ | ✅ | | **Windows** | ✅ | ✅ | ✅ | ✅ | | **macOS** | ✅ | | | | -#### PyTorch 2.7 +#### PyTorch 2.9 -To install the binaries for PyTorch 2.7.0, simply run +To install the binaries for PyTorch 2.9, simply run ``` -pip install torch-scatter -f https://data.pyg.org/whl/torch-2.7.0+${CUDA}.html +pip install torch-scatter -f https://data.pyg.org/whl/torch-2.9.0+${CUDA}.html ``` -where `${CUDA}` should be replaced by either `cpu`, `cu118`, `cu126`, or `cu128` depending on your PyTorch installation. +where `${CUDA}` should be replaced by either `cpu`, `cu126`, `cu128`, or `cu130` depending on your PyTorch installation. -| | `cpu` | `cu118` | `cu126` | `cu128` | +| | `cpu` | `cu126` | `cu128` | `cu130` | |-------------|-------|---------|---------|---------| | **Linux** | ✅ | ✅ | ✅ | ✅ | | **Windows** | ✅ | ✅ | ✅ | ✅ | | **macOS** | ✅ | | | | -#### PyTorch 2.6 +#### PyTorch 2.8 -To install the binaries for PyTorch 2.6.0, simply run +To install the binaries for PyTorch 2.8, simply run ``` -pip install torch-scatter -f https://data.pyg.org/whl/torch-2.6.0+${CUDA}.html +pip install torch-scatter -f https://data.pyg.org/whl/torch-2.8.0+${CUDA}.html ``` -where `${CUDA}` should be replaced by either `cpu`, `cu118`, `cu124`, or `cu126` depending on your PyTorch installation. +where `${CUDA}` should be replaced by either `cpu`, `cu126`, `cu128`, or `cu129` depending on your PyTorch installation. -| | `cpu` | `cu118` | `cu124` | `cu126` | +| | `cpu` | `cu126` | `cu128` | `cu129` | |-------------|-------|---------|---------|---------| | **Linux** | ✅ | ✅ | ✅ | ✅ | | **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, PyTorch 2.1.0/2.1.1/2.1.2, PyTorch 2.2.0/2.2.1/2.2.2, PyTorch 2.3.0/2.3.1, PyTorch 2.4.0/2.4.1, and PyTorch 2.5.0/2.5.1 (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, PyTorch 2.2.0/2.2.1/2.2.2, PyTorch 2.3.0/2.3.1, PyTorch 2.4.0/2.4.1, PyTorch 2.5.0/2.5.1, PyTorch 2.6.0, and PyTorch 2.7.0/2.7.1 (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/setup.py b/setup.py index fba55fc8..c33c27a2 100644 --- a/setup.py +++ b/setup.py @@ -72,6 +72,7 @@ def get_extensions(): nvcc_flags = os.getenv('NVCC_FLAGS', '') nvcc_flags = [] if nvcc_flags == '' else nvcc_flags.split(' ') nvcc_flags += ['-O3'] + nvcc_flags += ['-DTORCH_INDUCTOR_CPP_WRAPPER'] if torch.version.hip: # USE_ROCM was added to later versions of PyTorch. # Define here to support older PyTorch versions as well: From 91f5584de4c798d7878a6b7180a3ad1d0b371fe2 Mon Sep 17 00:00:00 2001 From: rusty1s Date: Mon, 9 Mar 2026 09:42:33 +0000 Subject: [PATCH 2/4] update --- .github/workflows/building.yml | 11 ++--------- .github/workflows/testing.yml | 8 -------- 2 files changed, 2 insertions(+), 17 deletions(-) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index d321dac8..8dc09359 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -10,7 +10,8 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-22.04, macos-14, windows-2022, ubuntu-22.04-arm] + # os: [ubuntu-22.04, macos-14, windows-2022, ubuntu-22.04-arm] + os: [windows-2022] python-version: ['3.10', '3.11', '3.12', '3.13', '3.14'] torch-version: [2.9.0, 2.10.0] cuda-version: ['cpu', 'cu126', 'cu128', 'cu130'] @@ -57,14 +58,6 @@ jobs: python -c "import torch; print('PyTorch:', torch.__version__)" python -c "import torch; print('CUDA:', torch.version.cuda)" - - name: Patch PyTorch static constexpr on Windows - if: ${{ runner.os == 'Windows' }} - run: | - Torch_DIR=`python -c 'import os; import torch; print(os.path.dirname(torch.__file__))'` - sed -i '31,38c\ - TORCH_API void lazy_init_num_threads();' ${Torch_DIR}/include/ATen/Parallel.h - shell: bash - - name: Set version if: ${{ runner.os != 'macOS' }} run: | diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index 5524a064..71f258d6 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -29,14 +29,6 @@ jobs: run: | pip install torch==${{ matrix.torch-version }} --extra-index-url https://download.pytorch.org/whl/cpu - - name: Patch PyTorch static constexpr on Windows - if: ${{ runner.os == 'Windows' }} - run: | - Torch_DIR=`python -c 'import os; import torch; print(os.path.dirname(torch.__file__))'` - sed -i '31,38c\ - TORCH_API void lazy_init_num_threads();' ${Torch_DIR}/include/ATen/Parallel.h - shell: bash - - name: Install main package run: | python setup.py develop From b3d5e867bca845f08acf7d90fa0edad852d2ab0c Mon Sep 17 00:00:00 2001 From: rusty1s Date: Mon, 9 Mar 2026 11:05:28 +0000 Subject: [PATCH 3/4] update --- setup.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/setup.py b/setup.py index c33c27a2..f6f0f858 100644 --- a/setup.py +++ b/setup.py @@ -73,6 +73,8 @@ def get_extensions(): nvcc_flags = [] if nvcc_flags == '' else nvcc_flags.split(' ') nvcc_flags += ['-O3'] nvcc_flags += ['-DTORCH_INDUCTOR_CPP_WRAPPER'] + if sys.platform == 'win32': + nvcc_flags += ['-Xcompiler', '/permissive-'] if torch.version.hip: # USE_ROCM was added to later versions of PyTorch. # Define here to support older PyTorch versions as well: From 0af13cc1b0fd3e61f5c51cd6b0f38026d25dfe06 Mon Sep 17 00:00:00 2001 From: rusty1s Date: Mon, 9 Mar 2026 11:41:09 +0000 Subject: [PATCH 4/4] update --- .github/workflows/building.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index 8dc09359..d2dfbc4f 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -10,8 +10,7 @@ jobs: strategy: fail-fast: false matrix: - # os: [ubuntu-22.04, macos-14, windows-2022, ubuntu-22.04-arm] - os: [windows-2022] + os: [ubuntu-22.04, macos-14, windows-2022, ubuntu-22.04-arm] python-version: ['3.10', '3.11', '3.12', '3.13', '3.14'] torch-version: [2.9.0, 2.10.0] cuda-version: ['cpu', 'cu126', 'cu128', 'cu130']