diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index 182f89e625c1..395cdf2f0d22 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -6,13 +6,13 @@ inputs: default: '3.9' torch-version: required: false - default: '2.4.0' + default: '2.5.0' cuda-version: required: false default: cpu torchvision-version: required: false - default: '0.19.0' + default: '0.20.0' full_install: required: false default: true @@ -31,7 +31,6 @@ runs: pyproject.toml - name: Install numpy - if: ${{ runner.os == 'Windows' }} run: | pip install "numpy<2" shell: bash diff --git a/.github/workflows/building_pyg_conda.yml b/.github/workflows/building_pyg_conda.yml index fd9752202cc4..28eb37e1c0e8 100644 --- a/.github/workflows/building_pyg_conda.yml +++ b/.github/workflows/building_pyg_conda.yml @@ -12,7 +12,7 @@ jobs: matrix: os: [ubuntu-20.04, macos-14, windows-2019] python-version: ['3.9', '3.10', '3.11', '3.12'] - torch-version: [2.3.0, 2.4.0] + torch-version: [2.4.0, 2.5.0] cuda-version: ['cpu', 'cu118', 'cu121', 'cu124'] exclude: - torch-version: 2.3.0 diff --git a/.github/workflows/building_rusty1s_conda.yml b/.github/workflows/building_rusty1s_conda.yml index 7a0515e130d4..1473534c3cf0 100644 --- a/.github/workflows/building_rusty1s_conda.yml +++ b/.github/workflows/building_rusty1s_conda.yml @@ -12,7 +12,7 @@ jobs: matrix: os: [ubuntu-20.04, macos-14, windows-2019] python-version: ['3.9', '3.10', '3.11', '3.12'] - torch-version: [2.3.0, 2.4.0] + torch-version: [2.4.0, 2.5.0] cuda-version: ['cpu', 'cu118', 'cu121', 'cu124'] exclude: - torch-version: 2.3.0 diff --git a/.github/workflows/dist_testing.yml b/.github/workflows/dist_testing.yml index 14efa4a0651f..9c41a8bfeb2e 100644 --- a/.github/workflows/dist_testing.yml +++ b/.github/workflows/dist_testing.yml @@ -6,6 +6,11 @@ on: # yamllint disable-line rule:truthy - master pull_request: +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-${{ startsWith(github.ref, 'refs/pull/') || github.run_number }} + # Only cancel intermediate builds if on a PR: + cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} + jobs: dist_pytest: diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index f0f874bdeb82..027169fe0e26 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -6,6 +6,11 @@ on: # yamllint disable-line rule:truthy - master pull_request: +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-${{ startsWith(github.ref, 'refs/pull/') || github.run_number }} # yamllint disable-line + # Only cancel intermediate builds if on a PR: + cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} + jobs: make_html: diff --git a/.github/workflows/full_testing.yml b/.github/workflows/full_testing.yml index afb059b2a124..28e7b74740a2 100644 --- a/.github/workflows/full_testing.yml +++ b/.github/workflows/full_testing.yml @@ -16,7 +16,7 @@ jobs: matrix: os: [ubuntu-latest, windows-latest, macos-14] python-version: ['3.9', '3.10'] - torch-version: [1.13.0, 2.0.0, 2.1.0, 2.2.0, 2.3.0, 2.4.0, nightly] + torch-version: [1.13.0, 2.0.0, 2.1.0, 2.2.0, 2.3.0, 2.4.0, 2.5.0, nightly] include: - torch-version: 1.13.0 torchvision-version: 0.14.0 @@ -30,6 +30,8 @@ jobs: torchvision-version: 0.18.0 - torch-version: 2.4.0 torchvision-version: 0.19.0 + - torch-version: 2.5.0 + torchvision-version: 0.20.0 - torch-version: nightly torchvision-version: nightly exclude: diff --git a/.github/workflows/latest_testing.yml b/.github/workflows/latest_testing.yml index 339872a8e3ce..d3f650602ed4 100644 --- a/.github/workflows/latest_testing.yml +++ b/.github/workflows/latest_testing.yml @@ -6,6 +6,11 @@ on: # yamllint disable-line rule:truthy - master pull_request: +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-${{ startsWith(github.ref, 'refs/pull/') || github.run_number }} # yamllint disable-line + # Only cancel intermediate builds if on a PR: + cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} + jobs: latest_pytest: diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index 440ed792bf31..3653abdea195 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -6,6 +6,11 @@ on: # yamllint disable-line rule:truthy - master pull_request: +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-${{ startsWith(github.ref, 'refs/pull/') || github.run_number }} # yamllint disable-line + # Only cancel intermediate builds if on a PR: + cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} + jobs: mypy: diff --git a/.github/workflows/minimal_testing.yml b/.github/workflows/minimal_testing.yml index 33df353d3311..3d458638c1fc 100644 --- a/.github/workflows/minimal_testing.yml +++ b/.github/workflows/minimal_testing.yml @@ -1,4 +1,4 @@ -name: Testing minimal PyTorch 2.4 +name: Testing minimal PyTorch 2.5 on: # yamllint disable-line rule:truthy push: @@ -6,6 +6,11 @@ on: # yamllint disable-line rule:truthy - master pull_request: +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-${{ startsWith(github.ref, 'refs/pull/') || github.run_number }} # yamllint disable-line + # Only cancel intermediate builds if on a PR: + cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} + jobs: minimal_pytest: diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 9f0de145b59b..131a931bee4a 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -5,6 +5,11 @@ on: # yamllint disable-line rule:truthy schedule: - cron: "0 6 * * *" # Everyday at 6:00am UTC/10:00pm PST +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-${{ startsWith(github.ref, 'refs/pull/') || github.run_number }} # yamllint disable-line + # Only cancel intermediate builds if on a PR: + cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} + jobs: build: diff --git a/.github/workflows/prev_testing.yml b/.github/workflows/prev_testing.yml index ab1d2209baf0..1dbe01095445 100644 --- a/.github/workflows/prev_testing.yml +++ b/.github/workflows/prev_testing.yml @@ -6,6 +6,11 @@ on: # yamllint disable-line rule:truthy - master pull_request: +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-${{ startsWith(github.ref, 'refs/pull/') || github.run_number }} # yamllint disable-line + # Only cancel intermediate builds if on a PR: + cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} + jobs: prev_pytest: @@ -14,14 +19,14 @@ jobs: strategy: fail-fast: false matrix: - torch-version: [1.13.0, 2.1.0, 2.3.0] + torch-version: [1.13.0, 2.1.0, 2.4.0] include: - torch-version: 1.13.0 torchvision-version: 0.14.0 - torch-version: 2.1.0 torchvision-version: 0.16.0 - - torch-version: 2.3.0 - torchvision-version: 0.18.0 + - torch-version: 2.4.0 + torchvision-version: 0.19.0 steps: - name: Checkout repository @@ -54,7 +59,7 @@ jobs: - name: Install main package if: steps.changed-files-specific.outputs.only_changed != 'true' run: | - pip install -e .[full,test] + pip install -e .[test] - name: Run tests if: steps.changed-files-specific.outputs.only_changed != 'true' diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index 5a669e27eed0..e6b9b5c45b97 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -1,4 +1,4 @@ -name: Testing PyTorch 2.4 +name: Testing PyTorch 2.5 on: # yamllint disable-line rule:truthy push: @@ -6,6 +6,11 @@ on: # yamllint disable-line rule:truthy - master pull_request: +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-${{ startsWith(github.ref, 'refs/pull/') || github.run_number }} # yamllint disable-line + # Only cancel intermediate builds if on a PR: + cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} + jobs: pytest: diff --git a/CHANGELOG.md b/CHANGELOG.md index 45af403e019f..c3e42cf170ea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,21 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ## \[2.7.0\] - 2024-MM-DD ### Added + - Added the `label_usage` model ([#9845](https://github.com/pyg-team/pytorch_geometric/pull/9845)) +- Update Dockerfile to use latest from NVIDIA ([#9794](https://github.com/pyg-team/pytorch_geometric/pull/9794)) +- Added various GRetriever Architecture Benchmarking examples ([#9666](https://github.com/pyg-team/pytorch_geometric/pull/9666)) +- Added `profiler.nvtxit` with some examples ([#9666](https://github.com/pyg-team/pytorch_geometric/pull/9666)) +- Added `loader.RagQueryLoader` with Remote Backend Example ([#9666](https://github.com/pyg-team/pytorch_geometric/pull/9666)) +- Added `data.LargeGraphIndexer` ([#9666](https://github.com/pyg-team/pytorch_geometric/pull/9666)) +- Added `GIT-Mol` ([#9730](https://github.com/pyg-team/pytorch_geometric/pull/9730)) +- Added comment in `g_retriever.py` pointing to `Neo4j` Graph DB integration demo ([#9748](https://github.com/pyg-team/pytorch_geometric/pull/9797)) +- Added `MoleculeGPT` example ([#9710](https://github.com/pyg-team/pytorch_geometric/pull/9710)) +- Added `nn.models.GLEM` ([#9662](https://github.com/pyg-team/pytorch_geometric/pull/9662)) +- Added `TAGDataset` ([#9662](https://github.com/pyg-team/pytorch_geometric/pull/9662)) +- Added support for fast `Delaunay()` triangulation via the `torch_delaunay` package ([#9748](https://github.com/pyg-team/pytorch_geometric/pull/9748)) +- Added PyTorch 2.5 support ([#9779](https://github.com/pyg-team/pytorch_geometric/pull/9779), [#9779](https://github.com/pyg-team/pytorch_geometric/pull/9780)) +- Support 3D tetrahedral mesh elements of shape `[4, num_faces]` in the `FaceToEdge` transformation ([#9776](https://github.com/pyg-team/pytorch_geometric/pull/9776)) - Added the `use_pcst` option to `WebQSPDataset` ([#9722](https://github.com/pyg-team/pytorch_geometric/pull/9722)) - Allowed users to pass `edge_weight` to `GraphUNet` models ([#9737](https://github.com/pyg-team/pytorch_geometric/pull/9737)) - Consolidated `examples/ogbn_{papers_100m,products_gat,products_sage}.py` into `examples/ogbn_train.py` ([#9467](https://github.com/pyg-team/pytorch_geometric/pull/9467)) @@ -14,11 +28,14 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). ### Changed - Dropped Python 3.8 support ([#9696](https://github.com/pyg-team/pytorch_geometric/pull/9606)) +- Added a check that confirms that custom edge types of `NumNeighbors` actually exist in the graph ([#9807](https://github.com/pyg-team/pytorch_geometric/pull/9807)) ### Deprecated ### Fixed +- Fixed the `k_hop_subgraph()` method for directed graphs ([#9756](https://github.com/pyg-team/pytorch_geometric/pull/9756)) +- Fixed `utils.group_cat` concatenating dimension ([#9766](https://github.com/pyg-team/pytorch_geometric/pull/9766)) - Fixed `WebQSDataset.process` raising exceptions ([#9665](https://github.com/pyg-team/pytorch_geometric/pull/9665)) ### Removed diff --git a/README.md b/README.md index c37a073bf5db..f96d720837d1 100644 --- a/README.md +++ b/README.md @@ -371,12 +371,12 @@ We recommend to start with a minimal installation, and install additional depend For ease of installation of these extensions, we provide `pip` wheels for all major OS/PyTorch/CUDA combinations, see [here](https://data.pyg.org/whl). -#### PyTorch 2.4 +#### PyTorch 2.5 -To install the binaries for PyTorch 2.4.0, simply run +To install the binaries for PyTorch 2.5.0, simply run ``` -pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.4.0+${CUDA}.html +pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.5.0+${CUDA}.html ``` where `${CUDA}` should be replaced by either `cpu`, `cu118`, `cu121`, or `cu124` depending on your PyTorch installation. @@ -387,23 +387,23 @@ where `${CUDA}` should be replaced by either `cpu`, `cu118`, `cu121`, or `cu124` | **Windows** | ✅ | ✅ | ✅ | ✅ | | **macOS** | ✅ | | | | -#### 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 pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.3.0+${CUDA}.html +pip install pyg_lib torch_scatter torch_sparse torch_cluster 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** | ✅ | | | | -**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). +**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, and PyTorch 2.3.0/2.3.1 (following the same procedure). **For older versions, you might 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/docker/Dockerfile b/docker/Dockerfile index d4f37f061d68..d7a879ba1157 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,163 +1,21 @@ -FROM ubuntu:18.04 +FROM nvcr.io/nvidia/cuda-dl-base:24.09-cuda12.6-devel-ubuntu22.04 -# metainformation -LABEL org.opencontainers.image.version = "2.3.1" -LABEL org.opencontainers.image.authors = "Matthias Fey" -LABEL org.opencontainers.image.source = "https://github.com/pyg-team/pytorch_geometric" -LABEL org.opencontainers.image.licenses = "MIT" -LABEL org.opencontainers.image.base.name="docker.io/library/ubuntu:18.04" +# Based on NGC PyG 24.09 image: +# https://docs.nvidia.com/deeplearning/frameworks/pyg-release-notes/rel-24-09.html#rel-24-09 -RUN apt-get update && apt-get install -y apt-transport-https ca-certificates && \ - rm -rf /var/lib/apt/lists/* +# install pip +RUN apt-get update && apt-get install -y python3-pip -RUN apt-get update && apt-get install -y --no-install-recommends apt-utils gnupg2 curl && \ - curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub | apt-key add - && \ - echo "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda.list && \ - echo "deb https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/nvidia-ml.list &&\ - apt-get purge --autoremove -y curl && \ -rm -rf /var/lib/apt/lists/* +# install PyTorch - latest stable version +RUN pip install torch torchvision torchaudio -ENV CUDA_VERSION 10.1.243 -ENV NCCL_VERSION 2.4.8 -ENV CUDA_PKG_VERSION 10-1=$CUDA_VERSION-1 -ENV CUDNN_VERSION 7.6.5.32 +# install graphviz - latest stable version +RUN apt-get install -y graphviz graphviz-dev +RUN pip install pygraphviz -RUN apt-get update && apt-get install -y --no-install-recommends \ - cuda-cudart-$CUDA_PKG_VERSION \ - cuda-compat-10-1 && \ - ln -s cuda-10.1 /usr/local/cuda && \ - rm -rf /var/lib/apt/lists/* +# install python packages with NGC PyG 24.09 image versions +RUN pip install torch_geometric==2.6.0 +RUN pip install triton==3.0.0 numba==0.59.0 requests==2.32.3 opencv-python==4.7.0.72 scipy==1.14.0 jupyterlab==4.2.5 -RUN apt-get update && apt-get install -y --allow-unauthenticated --no-install-recommends \ - cuda-libraries-$CUDA_PKG_VERSION \ - cuda-nvtx-$CUDA_PKG_VERSION \ - libcublas10=10.2.1.243-1 \ - libnccl2=$NCCL_VERSION-1+cuda10.1 && \ - apt-mark hold libnccl2 && \ - rm -rf /var/lib/apt/lists/* - -RUN apt-get update && apt-get install -y --allow-unauthenticated --no-install-recommends \ - cuda-libraries-dev-$CUDA_PKG_VERSION \ - cuda-nvml-dev-$CUDA_PKG_VERSION \ - cuda-minimal-build-$CUDA_PKG_VERSION \ - cuda-command-line-tools-$CUDA_PKG_VERSION \ - libnccl-dev=$NCCL_VERSION-1+cuda10.1 \ - libcublas-dev=10.2.1.243-1 \ - && \ - rm -rf /var/lib/apt/lists/* - -RUN apt-get update && apt-get install -y --no-install-recommends \ - libcudnn7=$CUDNN_VERSION-1+cuda10.1 \ - libcudnn7-dev=$CUDNN_VERSION-1+cuda10.1 \ - && \ - apt-mark hold libcudnn7 && \ - rm -rf /var/lib/apt/lists/* - - -ENV LIBRARY_PATH /usr/local/cuda/lib64/stubs - -# NVIDIA docker 1.0. -LABEL com.nvidia.volumes.needed="nvidia_driver" -LABEL com.nvidia.cuda.version="${CUDA_VERSION}" - -RUN echo "/usr/local/nvidia/lib" >> /etc/ld.so.conf.d/nvidia.conf && \ - echo "/usr/local/nvidia/lib64" >> /etc/ld.so.conf.d/nvidia.conf - -ENV PATH /usr/local/nvidia/bin:/usr/local/cuda/bin:${PATH} -ENV LD_LIBRARY_PATH /usr/local/nvidia/lib:/usr/local/nvidia/lib64 - -# NVIDIA container runtime. -ENV NVIDIA_VISIBLE_DEVICES all -ENV NVIDIA_DRIVER_CAPABILITIES compute,utility -ENV NVIDIA_REQUIRE_CUDA "cuda>=10.0 brand=tesla,driver>=384,driver<385 brand=tesla,driver>=410,driver<411" - -# PyTorch (Geometric) installation -RUN rm /etc/apt/sources.list.d/cuda.list && \ - rm /etc/apt/sources.list.d/nvidia-ml.list - -RUN apt-get update && apt-get install -y \ - curl \ - ca-certificates \ - vim \ - sudo \ - git \ - bzip2 \ - libx11-6 \ - && rm -rf /var/lib/apt/lists/* - -# Create a working directory. -RUN mkdir /app -WORKDIR /app - -# Create a non-root user and switch to it. -RUN adduser --disabled-password --gecos '' --shell /bin/bash user \ - && chown -R user:user /app -RUN echo "user ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/90-user -USER user - -# All users can use /home/user as their home directory. -ENV HOME=/home/user -RUN chmod 777 /home/user - -# Install Miniconda. -RUN curl -so ~/miniconda.sh https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh \ - && chmod +x ~/miniconda.sh \ - && ~/miniconda.sh -b -p ~/miniconda \ - && rm ~/miniconda.sh -ENV PATH=/home/user/miniconda/bin:$PATH -ENV CONDA_AUTO_UPDATE_CONDA=false - -# Create a Python 3.6 environment. -RUN /home/user/miniconda/bin/conda install conda-build \ - && /home/user/miniconda/bin/conda create -y --name py36 python=3.6.5 \ - && /home/user/miniconda/bin/conda clean -ya -ENV CONDA_DEFAULT_ENV=py36 -ENV CONDA_PREFIX=/home/user/miniconda/envs/$CONDA_DEFAULT_ENV -ENV PATH=$CONDA_PREFIX/bin:$PATH - -# CUDA 10.0-specific steps. -RUN conda install -y -c pytorch \ - cudatoolkit=10.1 \ - "pytorch=1.4.0=py3.6_cuda10.1.243_cudnn7.6.3_0" \ - torchvision=0.5.0=py36_cu101 \ - && conda clean -ya - -# Install HDF5 Python bindings. -RUN conda install -y h5py=2.8.0 \ - && conda clean -ya -RUN pip install h5py-cache==1.0 - -# Install TorchNet, a high-level framework for PyTorch. -RUN pip install torchnet==0.0.4 - -# Install Requests, a Python library for making HTTP requests. -RUN conda install -y requests=2.19.1 \ - && conda clean -ya - -# Install Graphviz. -RUN conda install -y graphviz=2.40.1 python-graphviz=0.8.4 \ - && conda clean -ya - -# Install OpenCV3 Python bindings. -RUN sudo apt-get update && sudo apt-get install -y --no-install-recommends \ - libgtk2.0-0 \ - libcanberra-gtk-module \ - && sudo rm -rf /var/lib/apt/lists/* -RUN conda install -y -c menpo opencv3=3.1.0 \ - && conda clean -ya - -# Install PyG. -RUN CPATH=/usr/local/cuda/include:$CPATH \ - && LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH \ - && DYLD_LIBRARY_PATH=/usr/local/cuda/lib:$DYLD_LIBRARY_PATH - -RUN pip install scipy - -RUN pip install --no-index torch_scatter -f https://data.pyg.org/whl/torch-1.4.0+cu101.html \ - && pip install --no-index torch_sparse -f https://data.pyg.org/whl/torch-1.4.0+cu101.html \ - && pip install --no-index torch_cluster -f https://data.pyg.org/whl/torch-1.4.0+cu101.html \ - && pip install --no-index torch_spline_conv -f https://data.pyg.org/whl/torch-1.4.0+cu101.html \ - && pip install torch-geometric - -# Set the default command to python3. -CMD ["python3"] +# install cugraph +RUN pip install cugraph-cu12 cugraph-pyg-cu12 --extra-index-url=https://pypi.nvidia.com diff --git a/docker/Dockerfile.xpu b/docker/Dockerfile.xpu index 0cf402e2d714..6dafba18aef5 100644 --- a/docker/Dockerfile.xpu +++ b/docker/Dockerfile.xpu @@ -27,5 +27,5 @@ RUN echo "source /opt/intel/oneapi/setvars.sh --force" >> /root/.bashrc # Install PyG RUN pip install ninja wheel ogb && pip install git+https://github.com/pyg-team/pyg-lib.git && \ - pip install torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.4.0+cpu.html && \ + pip install torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.5.0+cpu.html && \ pip install torch_geometric diff --git a/docs/source/install/installation.rst b/docs/source/install/installation.rst index f4d0eadbca82..c3a8bd3d9fcb 100644 --- a/docs/source/install/installation.rst +++ b/docs/source/install/installation.rst @@ -72,7 +72,7 @@ For ease of installation of these extensions, we provide :obj:`pip` wheels for t .. code-block:: none python -c "import torch; print(torch.__version__)" - >>> 2.4.0 + >>> 2.5.0 #. Find the CUDA version :pytorch:`PyTorch` was installed with: @@ -89,6 +89,7 @@ For ease of installation of these extensions, we provide :obj:`pip` wheels for t where :obj:`${TORCH}` and :obj:`${CUDA}` should be replaced by the specific :pytorch:`PyTorch` and CUDA versions, respectively: + * :pytorch:`PyTorch` 2.4: :obj:`${TORCH}=2.5.0` and :obj:`${CUDA}=cpu|cu118|cu121|cu124` * :pytorch:`PyTorch` 2.4: :obj:`${TORCH}=2.4.0` and :obj:`${CUDA}=cpu|cu118|cu121|cu124` * :pytorch:`PyTorch` 2.3: :obj:`${TORCH}=2.3.0` and :obj:`${CUDA}=cpu|cu118|cu121` * :pytorch:`PyTorch` 2.2: :obj:`${TORCH}=2.2.0` and :obj:`${CUDA}=cpu|cu118|cu121` @@ -96,19 +97,19 @@ For ease of installation of these extensions, we provide :obj:`pip` wheels for t * :pytorch:`PyTorch` 2.0: :obj:`${TORCH}=2.0.0` and :obj:`${CUDA}=cpu|cu117|cu118` * :pytorch:`PyTorch` 1.13: :obj:`${TORCH}=1.13.0` and :obj:`${CUDA}=cpu|cu116|cu117` - For example, for :pytorch:`PyTorch` 2.4.* and CUDA 12.4, type: + For example, for :pytorch:`PyTorch` 2.5.* and CUDA 12.4, type: .. code-block:: none - pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.4.0+cu124.html + pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.5.0+cu124.html - For example, for :pytorch:`PyTorch` 2.3.* and CUDA 11.8, type: + For example, for :pytorch:`PyTorch` 2.4.* and CUDA 11.8, type: .. code-block:: none - pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.3.0+cu118.html + pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.4.0+cu118.html -**Note:** Binaries of older versions are also provided for :pytorch:`PyTorch` 1.4.0, 1.5.0, 1.6.0, 1.7.0/1.7.1, 1.8.0/1.8.1, 1.9.0, 1.10.0/1.10.1/1.10.2, 1.11.0, 1.12.0/1.12.1, 1.13.0/1.13.1, 2.0.0/2.0.1, 2.1.0/2.1.1/2.1.2, and 2.2.0/2.2.1/2.2.2 (following the same procedure). +**Note:** Binaries of older versions are also provided for :pytorch:`PyTorch` 1.4.0, 1.5.0, 1.6.0, 1.7.0/1.7.1, 1.8.0/1.8.1, 1.9.0, 1.10.0/1.10.1/1.10.2, 1.11.0, 1.12.0/1.12.1, 1.13.0/1.13.1, 2.0.0/2.0.1, 2.1.0/2.1.1/2.1.2, 2.2.0/2.2.1/2.2.2, and 2.3.0/2.3.1 (following the same procedure). **For older versions, you need to explicitly specify the latest supported version number** or install via :obj:`pip install --no-index` in order to prevent a manual installation from source. You can look up the latest supported version number `here `__. diff --git a/docs/source/install/quick-start.html b/docs/source/install/quick-start.html index 5aebbc3c9e83..c29305cbe193 100644 --- a/docs/source/install/quick-start.html +++ b/docs/source/install/quick-start.html @@ -75,9 +75,9 @@