From 290596c544e52c78c43a99fdc83ed435c95e3505 Mon Sep 17 00:00:00 2001 From: Christian Kadner Date: Mon, 29 Jan 2024 17:53:38 -0800 Subject: [PATCH] [CI] Build wheels for Pytorch 2.3 (dev/nightly) (#793) * [CI] Build wheels for Pytorch 2.3 (dev/nightly) Resolves #790 Signed-off-by: Christian Kadner * update TORCH_CUDA_VERSION Signed-off-by: Christian Kadner * revert torch 2.2 back to dev20231130 Signed-off-by: Christian Kadner * add link to PyTorch compatibility matrix Signed-off-by: Christian Kadner --------- Signed-off-by: Christian Kadner --- .github/workflows/publish.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index d679608..d5447f7 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -44,7 +44,7 @@ jobs: # manylinux docker image, but I haven't figured out how to install CUDA on manylinux. os: [ubuntu-20.04] python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] - torch-version: ['1.12.1', '1.13.1', '2.0.1', '2.1.1', '2.2.0.dev20231130'] + torch-version: ['1.12.1', '1.13.1', '2.0.1', '2.1.2', '2.2.0.dev20231130', '2.3.0.dev20240126'] cuda-version: ['11.8.0', '12.2.2'] # We need separate wheels that either uses C++11 ABI (-D_GLIBCXX_USE_CXX11_ABI) or not. # Pytorch wheels currently don't use it, but nvcr images have Pytorch compiled with C++11 ABI. @@ -52,16 +52,19 @@ jobs: # when building without C++11 ABI and using it on nvcr images. cxx11_abi: ['FALSE', 'TRUE'] exclude: + # see https://github.com/pytorch/pytorch/blob/main/RELEASE.md#release-compatibility-matrix # Pytorch <= 1.12 does not support Python 3.11 - torch-version: '1.12.1' python-version: '3.11' # Pytorch >= 2.0 only supports Python >= 3.8 - torch-version: '2.0.1' python-version: '3.7' - - torch-version: '2.1.1' + - torch-version: '2.1.2' python-version: '3.7' - torch-version: '2.2.0.dev20231130' python-version: '3.7' + - torch-version: '2.3.0.dev20240126' + python-version: '3.7' # Pytorch <= 2.0 only supports CUDA <= 11.8 - torch-version: '1.12.1' cuda-version: '12.2.2' @@ -121,8 +124,13 @@ jobs: pip install lit # We want to figure out the CUDA version to download pytorch # e.g. we can have system CUDA version being 11.7 but if torch==1.12 then we need to download the wheel from cu116 + # see https://github.com/pytorch/pytorch/blob/main/RELEASE.md#release-compatibility-matrix # This code is ugly, maybe there's a better way to do this. - export TORCH_CUDA_VERSION=$(python -c "import os; minv = {'1.12': 113, '1.13': 116, '2.0': 117, '2.1': 118, '2.2': 118}[os.environ['MATRIX_TORCH_VERSION']]; maxv = {'1.12': 116, '1.13': 117, '2.0': 118, '2.1': 121, '2.2': 121}[os.environ['MATRIX_TORCH_VERSION']]; print(max(min(int(os.environ['MATRIX_CUDA_VERSION']), maxv), minv))") + export TORCH_CUDA_VERSION=$(python -c "from os import environ as env; \ + minv = {'1.12': 113, '1.13': 116, '2.0': 117, '2.1': 118, '2.2': 118, '2.3': 118}[env['MATRIX_TORCH_VERSION']]; \ + maxv = {'1.12': 116, '1.13': 117, '2.0': 118, '2.1': 121, '2.2': 121, '2.3': 121}[env['MATRIX_TORCH_VERSION']]; \ + print(max(min(int(env['MATRIX_CUDA_VERSION']), maxv), minv))" \ + ) if [[ ${{ matrix.torch-version }} == *"dev"* ]]; then pip install --no-cache-dir --pre torch==${{ matrix.torch-version }} --index-url https://download.pytorch.org/whl/nightly/cu${TORCH_CUDA_VERSION} else