From 437508df55b18db8f25387c8a7bca13244b41d16 Mon Sep 17 00:00:00 2001 From: "yan.yan" Date: Mon, 14 Oct 2024 15:53:30 +0800 Subject: [PATCH] drop python 3.8, change prebuilt cudas --- .github/workflows/build.yaml | 24 ++++++++++++------------ .gitignore | 3 ++- CHANGELOG.md | 6 ++++++ README.md | 14 +++++--------- tools/build-wheels-dev.sh | 2 +- tools/build-wheels.sh | 5 +++-- tools/install_windows_cuda.ps1 | 14 +++++++------- tools/linux_test_build.sh | 2 +- version.txt | 2 +- 9 files changed, 38 insertions(+), 34 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index cc38db5..7c88037 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -13,8 +13,8 @@ jobs: runs-on: windows-latest strategy: matrix: - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] - cuda-version: ['11.7', '11.8', '12.0', '12.1', '12.2', ''] + python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] + cuda-version: ['11.4', '11.8', '12.1', '12.4', '12.6'] steps: - uses: actions/checkout@master - name: Install CUDA @@ -26,7 +26,7 @@ jobs: (env.CUDA_VERSION != '') && ( (github.event_name == 'push' && (startsWith(github.ref, 'refs/tags')) ) || ( - (env.PYTHON_VERSION == '3.10') + (env.PYTHON_VERSION == '3.13') ) ) shell: powershell @@ -51,7 +51,7 @@ jobs: ( (github.event_name == 'push' && (startsWith(github.ref, 'refs/tags')) ) || ( - (env.PYTHON_VERSION == '3.10') + (env.PYTHON_VERSION == '3.13') ) ) run: | @@ -73,11 +73,11 @@ jobs: build: needs: build-windows - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 strategy: matrix: python-version: ['3.12'] # this version is only used for upload. - cuda-version: ['114', '117', '118', '120', '122'] + cuda-version: ['114', '118', '121', '124', '126'] steps: - uses: actions/checkout@master @@ -97,8 +97,8 @@ jobs: CUDA_VERSION: ${{ matrix.cuda-version }} PYTHON_VERSION: ${{ matrix.python-version }} DOCKER_IMAGE: scrin/manylinux2014-cuda:cu${{ matrix.cuda-version }}-devel-1.0.0 - PLAT: manylinux2014_x86_64 - if: (github.event_name == 'push' && (startsWith(github.ref, 'refs/tags')) && (env.CUDA_VERSION != '') ) || env.CUDA_VERSION == '120' + PLAT: manylinux_2_28_x86_64 + if: (github.event_name == 'push' && (startsWith(github.ref, 'refs/tags')) && (env.CUDA_VERSION != '') ) || env.CUDA_VERSION == '126' run: | docker run --rm -e PLAT=$PLAT -e CUMM_CUDA_VERSION=${{ matrix.cuda-version }} -v `pwd`:/io $DOCKER_IMAGE bash -c "source /etc/bashrc && /io/tools/build-wheels.sh" # python -m pip install myclang -f ./dist @@ -108,8 +108,8 @@ jobs: env: CUDA_VERSION: ${{ matrix.cuda-version }} PYTHON_VERSION: ${{ matrix.python-version }} - DOCKER_IMAGE: scrin/manylinux2014-cuda:cu120-devel-1.0.0 - PLAT: manylinux2014_x86_64 + DOCKER_IMAGE: scrin/manylinux2014-cuda:cu126-devel-1.0.0 + PLAT: manylinux_2_28_x86_64 if: (github.event_name == 'push' && (startsWith(github.ref, 'refs/tags')) && (env.CUDA_VERSION == '') ) run: | docker run --rm -e PLAT=$PLAT -e CUMM_CUDA_VERSION=${{ matrix.cuda-version }} -v `pwd`:/io $DOCKER_IMAGE bash -c "source /etc/bashrc && /io/tools/build-wheels.sh" @@ -125,7 +125,7 @@ jobs: runs-on: macos-latest strategy: matrix: - python-version: ['3.9', '3.10', '3.11', '3.12'] + python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] steps: - uses: actions/checkout@master - name: Set up Python ${{ matrix.python-version }} @@ -145,7 +145,7 @@ jobs: ( (github.event_name == 'push' && (startsWith(github.ref, 'refs/tags')) ) || ( - (env.PYTHON_VERSION == '3.10') + (env.PYTHON_VERSION == '3.13') ) ) run: | diff --git a/.gitignore b/.gitignore index 52c5cf9..bf57e6c 100644 --- a/.gitignore +++ b/.gitignore @@ -130,4 +130,5 @@ dmypy.json settings.json __version__.py -.vscode \ No newline at end of file +.vscode +wheelhouse_tmp \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 7f55daf..8c3b8c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,10 @@ # Changelog +## [0.7.0] - 2024-10-14 +### Changed +- drop python 3.8, add python 3.13. +- change cuda prebuilt to 11.4, 11.8, 12.1, 12.4, 12.6. +- change all linux prebuilt to `manylinux_2_28`, drop manylinux2014 support. + ## [0.6.4] - 2024-09-01 ### Added - add fast obb-grid overlap for 3dgs. diff --git a/README.md b/README.md index 6a26e17..cbd48d4 100644 --- a/README.md +++ b/README.md @@ -19,21 +19,17 @@ Now ```pccm``` become a foundational framework of ```cumm``` and my other c++ pr ### Prebuilt -We offer python 3.7-3.11 and cuda 10.2/11.3/11.4/11.7/12.0 prebuilt binaries for linux (manylinux). +We offer python 3.9-3.13 and cuda 11.4/11.8/12.1/12.4/12.6 prebuilt binaries for linux (`manylinux_2_28`). -We offer python 3.7-3.11 and cuda 10.2/11.3/11.4/11.7/12.0 prebuilt binaries for windows 10/11. +We offer python 3.9-3.13 and cuda 11.4/11.8/12.1/12.4/12.6 prebuilt binaries for windows 10/11. -```pip install cumm``` for CPU-only - -```pip install cumm-cu102``` for CUDA 10.2 +We offer python 3.9-3.13 prebuilt binaries for Mac OS X >= 14.0 (Apple Silicon Only). -```pip install cumm-cu113``` for CUDA 11.3 +```pip install cumm``` for CPU-only ```pip install cumm-cu114``` for CUDA 11.4 -```pip install cumm-cu117``` for CUDA 11.7 - -```pip install cumm-cu120``` for CUDA 12.0 +```pip install cumm-cu126``` for CUDA 12.6 ### Build from source for development (JIT, recommend for develop) diff --git a/tools/build-wheels-dev.sh b/tools/build-wheels-dev.sh index bfe92eb..89a5b08 100755 --- a/tools/build-wheels-dev.sh +++ b/tools/build-wheels-dev.sh @@ -13,7 +13,7 @@ function repair_wheel { export CUMM_DISABLE_JIT="1" export CUMM_CUDA_ARCH_LIST="7.5;8.6" -"/opt/python/cp38-cp38/bin/pip" wheel /io/ --no-deps -w /io/wheelhouse_tmp +"/opt/python/cp39-cp39/bin/pip" wheel /io/ --no-deps -w /io/wheelhouse_tmp # Bundle external shared libraries into the wheels for whl in /io/wheelhouse_tmp/*.whl; do diff --git a/tools/build-wheels.sh b/tools/build-wheels.sh index b628b0c..2b51dee 100755 --- a/tools/build-wheels.sh +++ b/tools/build-wheels.sh @@ -13,13 +13,14 @@ function repair_wheel { export CUMM_DISABLE_JIT="1" export CUMM_CUDA_ARCH_LIST="all" -# Compile wheels, we only support 3.7-3.11. +# Compile wheels, we only support 3.9-3.13. # "/opt/python/cp36-cp36m/bin/pip" wheel /io/ --no-deps -w /io/wheelhouse_tmp -"/opt/python/cp38-cp38/bin/pip" wheel /io/ --no-deps -w /io/wheelhouse_tmp +# "/opt/python/cp38-cp38/bin/pip" wheel /io/ --no-deps -w /io/wheelhouse_tmp "/opt/python/cp39-cp39/bin/pip" wheel /io/ --no-deps -w /io/wheelhouse_tmp "/opt/python/cp310-cp310/bin/pip" wheel /io/ --no-deps -w /io/wheelhouse_tmp "/opt/python/cp311-cp311/bin/pip" wheel /io/ --no-deps -w /io/wheelhouse_tmp "/opt/python/cp312-cp312/bin/pip" wheel /io/ --no-deps -w /io/wheelhouse_tmp +"/opt/python/cp313-cp313/bin/pip" wheel /io/ --no-deps -w /io/wheelhouse_tmp # Bundle external shared libraries into the wheels for whl in /io/wheelhouse_tmp/*.whl; do diff --git a/tools/install_windows_cuda.ps1 b/tools/install_windows_cuda.ps1 index b54ad5a..d67a482 100644 --- a/tools/install_windows_cuda.ps1 +++ b/tools/install_windows_cuda.ps1 @@ -13,13 +13,13 @@ $CUDA_KNOWN_URLS = @{ "11.6" = "https://developer.download.nvidia.com/compute/cuda/11.6.2/network_installers/cuda_11.6.2_windows_network.exe"; "11.7" = "https://developer.download.nvidia.com/compute/cuda/11.7.1/network_installers/cuda_11.7.1_windows_network.exe"; "11.8" = "https://developer.download.nvidia.com/compute/cuda/11.8.0/network_installers/cuda_11.8.0_windows_network.exe"; - "12.0" = "https://developer.download.nvidia.com/compute/cuda/12.0.0/network_installers/cuda_12.0.0_windows_network.exe"; - "12.1" = "https://developer.download.nvidia.com/compute/cuda/12.1.0/network_installers/cuda_12.1.0_windows_network.exe"; - "12.2" = "https://developer.download.nvidia.com/compute/cuda/12.2.0/network_installers/cuda_12.2.0_windows_network.exe"; - "12.3" = "https://developer.download.nvidia.com/compute/cuda/12.3.0/network_installers/cuda_12.3.0_windows_network.exe"; - "12.4" = "https://developer.download.nvidia.com/compute/cuda/12.4.0/network_installers/cuda_12.4.0_windows_network.exe"; - "12.5" = "https://developer.download.nvidia.com/compute/cuda/12.5.0/network_installers/cuda_12.5.0_windows_network.exe"; - + "12.0" = "https://developer.download.nvidia.com/compute/cuda/12.0.1/network_installers/cuda_12.0.1_windows_network.exe"; + "12.1" = "https://developer.download.nvidia.com/compute/cuda/12.1.1/network_installers/cuda_12.1.1_windows_network.exe"; + "12.2" = "https://developer.download.nvidia.com/compute/cuda/12.2.2/network_installers/cuda_12.2.2_windows_network.exe"; + "12.3" = "https://developer.download.nvidia.com/compute/cuda/12.3.2/network_installers/cuda_12.3.2_windows_network.exe"; + "12.4" = "https://developer.download.nvidia.com/compute/cuda/12.4.1/network_installers/cuda_12.4.1_windows_network.exe"; + "12.5" = "https://developer.download.nvidia.com/compute/cuda/12.5.1/network_installers/cuda_12.5.1_windows_network.exe"; + "12.6" = "https://developer.download.nvidia.com/compute/cuda/12.6.1/network_installers/cuda_12.6.1_windows_network.exe"; } # cuda_runtime.h is in nvcc <= 10.2, but cudart >= 11.0 diff --git a/tools/linux_test_build.sh b/tools/linux_test_build.sh index 473ae49..10b766a 100644 --- a/tools/linux_test_build.sh +++ b/tools/linux_test_build.sh @@ -1 +1 @@ -docker run --rm -it -e PLAT=manylinux2014_x86_64 -v `pwd`:/io -v $HOME:/myhome scrin/manylinux2014-cuda:cu114-devel bash -c "source /etc/bashrc && /io/tools/build-wheels-dev.sh" \ No newline at end of file +sudo docker run --rm -it -e PLAT=manylinux_2_28_x86_64 -v `pwd`:/io -v $HOME:/myhome manylinux2014-cuda:cu126-devel bash -c "source /etc/bashrc && /io/tools/build-wheels-dev.sh" \ No newline at end of file diff --git a/version.txt b/version.txt index eb514eb..bcaffe1 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.6.4 \ No newline at end of file +0.7.0 \ No newline at end of file