From 3d133adc4a6623a60056834c78b2dc6d7fe4fd76 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 16 Aug 2024 15:51:32 +0100 Subject: [PATCH 001/170] publish precompiled wheels --- .github/workflows/publish.yml | 108 ++++++++++++++++++++++++++++++---- 1 file changed, 96 insertions(+), 12 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a163fbed1..1f6dc177a 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -9,28 +9,112 @@ on: branches: [main] jobs: - deploy: - runs-on: ubuntu-latest - environment: production + clean_readme: + name: Strip unsupported tags in README + steps: + - name: Strip unsupported tags in README + run: | + sed -i '//,//d' README.md + + build_wheels: + name: Build wheels on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + environment: production + strategy: + matrix: + os: [ubuntu-20.04, windows-2019, macOS-11] + python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] + cuda-version: ['cu113', 'cu115', 'cu116', 'cu117', 'cu118'] + exclude: + - os: windows-2019 + python-version: '3.11' steps: - uses: actions/checkout@v3 with: submodules: 'recursive' - - - name: Set up Python + + - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: - python-version: '3.7' + python-version: ${{ matrix.python-version }} + + - name: Upgrade pip + run: | + pip install --upgrade setuptools + pip install ninja + + - name: Install CUDA ${{ matrix.cuda-version }} + if: ${{ matrix.cuda-version != 'cpu' }} + run: | + bash .github/workflows/cuda/${{ runner.os }}.sh ${{ matrix.cuda-version }} + + - name: Determine PyTorch version + id: get-torch-version + run: | + if [[ "${{ matrix.cuda-version }}" == "cu117" || "${{ matrix.cuda-version }}" == "cu118" ]]; then + echo "torch_version=2.0.0" >> $GITHUB_ENV + elif [[ "${{ matrix.cuda-version }}" == "cu116" ]]; then + echo "torch_version=1.13.0" >> $GITHUB_ENV + elif [[ "${{ matrix.cuda-version }}" == "cu113" || "${{ matrix.cuda-version }}" == "cu115" ]]; then + echo "torch_version=1.11.0" >> $GITHUB_ENV + fi + + - name: Install PyTorch + run: | + pip install torch==${{ env.torch_version }} --extra-index-url https://download.pytorch.org/whl/${{ matrix.cuda-version }} + python -c "import torch; print('PyTorch:', torch.__version__)" + python -c "import torch; print('CUDA:', torch.version.cuda)" + python -c "import torch; print('CUDA Available:', torch.cuda.is_available())" + + - 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 dependencies run: | python -m pip install build twine - - name: Strip unsupported tags in README + + - name: Build wheel run: | - sed -i '//,//d' README.md - - name: Build and publish + pip install wheel + source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} + python setup.py bdist_wheel --dist-dir=dist + shell: bash # `source` does not exist in windows powershell + + build_sdist: + name: Build source distribution + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Build sdist + run: pipx run build --sdist + - uses: actions/upload-artifact@v2 + with: + path: dist/*.tar.gz + + upload_pypi: + needs: [build_wheels, build_sdist] + runs-on: ubuntu-latest + steps: + - uses: actions/download-artifact@v2 + with: + name: artifact + path: dist + + - name: Publish package to Test PyPI + uses: pypa/gh-action-pypi-publish@release/v1 + with: + password: ${{ secrets.TEST_PYPI_API_TOKEN }} + repository-url: https://test.pypi.org/legacy/ + + - name: Publish package to PyPI + with: env: PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} - run: | - BUILD_NO_CUDA=1 python -m build - twine upload --username __token__ --password $PYPI_TOKEN dist/* \ No newline at end of file + run: | + twine upload --username __token__ --password $PYPI_TOKEN dist/* From 2258d4c0e85dad1fdb7bfc4bb05b440e1b0124b8 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 16 Aug 2024 16:02:47 +0100 Subject: [PATCH 002/170] Update publish.yml --- .github/workflows/publish.yml | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 1f6dc177a..c989fba6c 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -12,10 +12,10 @@ jobs: clean_readme: name: Strip unsupported tags in README - steps: - - name: Strip unsupported tags in README - run: | - sed -i '//,//d' README.md + steps: + - name: Strip unsupported tags in README + run: | + sed -i '//,//d' README.md build_wheels: name: Build wheels on ${{ matrix.os }} @@ -23,7 +23,7 @@ jobs: environment: production strategy: matrix: - os: [ubuntu-20.04, windows-2019, macOS-11] + os: [ubuntu-20.04, windows-2019] python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] cuda-version: ['cu113', 'cu115', 'cu116', 'cu117', 'cu118'] exclude: @@ -79,6 +79,14 @@ jobs: run: | python -m pip install build twine + - name: Set version + run: | + VERSION=`sed -n 's/^__version__ = "\(.*\)"/\1/p' gsplat/version.py` + CUDA_VERSION=`echo ${{ matrix.cuda-version }}` + echo "New version name: $VERSION+$CUDA_VERSION" + sed -i "s/$VERSION/$VERSION+$CUDA_VERSION/" gsplat/version.py + shell: + bash - name: Build wheel run: | pip install wheel From 512d1b9d6f1768356c253c06f09e480c9fa3d992 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 16 Aug 2024 16:04:22 +0100 Subject: [PATCH 003/170] Update publish.yml --- .github/workflows/publish.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index c989fba6c..001ee3491 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -10,12 +10,6 @@ on: jobs: - clean_readme: - name: Strip unsupported tags in README - steps: - - name: Strip unsupported tags in README - run: | - sed -i '//,//d' README.md build_wheels: name: Build wheels on ${{ matrix.os }} @@ -87,6 +81,11 @@ jobs: sed -i "s/$VERSION/$VERSION+$CUDA_VERSION/" gsplat/version.py shell: bash + + - name: Strip unsupported tags in README + run: | + sed -i '//,//d' README.md + - name: Build wheel run: | pip install wheel From 1539715d57e3cb926e563121cd67f640fb48350c Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 16 Aug 2024 16:07:09 +0100 Subject: [PATCH 004/170] Update publish.yml --- .github/workflows/publish.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 001ee3491..1c9e1f200 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -120,8 +120,7 @@ jobs: repository-url: https://test.pypi.org/legacy/ - name: Publish package to PyPI - with: - env: - PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} - run: | - twine upload --username __token__ --password $PYPI_TOKEN dist/* + env: + PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} + run: | + twine upload --username __token__ --password $PYPI_TOKEN dist/* From 4ad079863d56b4d579b4f40933158b63f20a721e Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 16 Aug 2024 16:08:04 +0100 Subject: [PATCH 005/170] Update publish.yml --- .github/workflows/publish.yml | 32 -------------------------------- 1 file changed, 32 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 1c9e1f200..cee1cdd97 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -92,35 +92,3 @@ jobs: source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell - - build_sdist: - name: Build source distribution - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Build sdist - run: pipx run build --sdist - - uses: actions/upload-artifact@v2 - with: - path: dist/*.tar.gz - - upload_pypi: - needs: [build_wheels, build_sdist] - runs-on: ubuntu-latest - steps: - - uses: actions/download-artifact@v2 - with: - name: artifact - path: dist - - - name: Publish package to Test PyPI - uses: pypa/gh-action-pypi-publish@release/v1 - with: - password: ${{ secrets.TEST_PYPI_API_TOKEN }} - repository-url: https://test.pypi.org/legacy/ - - - name: Publish package to PyPI - env: - PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} - run: | - twine upload --username __token__ --password $PYPI_TOKEN dist/* From 2007c3d3eb24df87c9c4facd05a69659bce55c05 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 16 Aug 2024 16:08:47 +0100 Subject: [PATCH 006/170] Update publish.yml --- .github/workflows/publish.yml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index cee1cdd97..1c9e1f200 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -92,3 +92,35 @@ jobs: source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell + + build_sdist: + name: Build source distribution + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Build sdist + run: pipx run build --sdist + - uses: actions/upload-artifact@v2 + with: + path: dist/*.tar.gz + + upload_pypi: + needs: [build_wheels, build_sdist] + runs-on: ubuntu-latest + steps: + - uses: actions/download-artifact@v2 + with: + name: artifact + path: dist + + - name: Publish package to Test PyPI + uses: pypa/gh-action-pypi-publish@release/v1 + with: + password: ${{ secrets.TEST_PYPI_API_TOKEN }} + repository-url: https://test.pypi.org/legacy/ + + - name: Publish package to PyPI + env: + PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} + run: | + twine upload --username __token__ --password $PYPI_TOKEN dist/* From 37c2541203cbdcdfc547da1650ecf7879dcd87f9 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 16 Aug 2024 16:09:20 +0100 Subject: [PATCH 007/170] Update publish.yml --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 1c9e1f200..b55a079c6 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -6,7 +6,7 @@ name: Upload Python Package on: release: types: [created] - branches: [main] + # branches: [main] jobs: From f8504592bba2223129cb0fe12ded1ece0ea38267 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 16 Aug 2024 16:10:30 +0100 Subject: [PATCH 008/170] Update publish.yml --- .github/workflows/publish.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index b55a079c6..01ff646c7 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -3,9 +3,9 @@ name: Upload Python Package -on: - release: - types: [created] +#on: +# release: +# types: [created] # branches: [main] jobs: From 046146edfef4f17905a5e87b802159e2a645011a Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 16 Aug 2024 16:10:59 +0100 Subject: [PATCH 009/170] Update publish.yml --- .github/workflows/publish.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 01ff646c7..16b907470 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -3,6 +3,7 @@ name: Upload Python Package +on: [push] #on: # release: # types: [created] From 91a66e272df2faffc9e3f4ebbfeb5a1b8b03cbba Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 16 Aug 2024 16:12:26 +0100 Subject: [PATCH 010/170] Update publish.yml --- .github/workflows/publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 16b907470..9cf66ff00 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -19,8 +19,8 @@ jobs: strategy: matrix: os: [ubuntu-20.04, windows-2019] - python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] - cuda-version: ['cu113', 'cu115', 'cu116', 'cu117', 'cu118'] + python-version: ['3.10', '3.11'] + cuda-version: ['cu118', ] exclude: - os: windows-2019 python-version: '3.11' From f3dcd9e447d63eb182c8981cfaaa0b0c44dfa440 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 16 Aug 2024 16:21:56 +0100 Subject: [PATCH 011/170] Update publish.yml --- .github/workflows/publish.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 9cf66ff00..628750844 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -13,7 +13,7 @@ jobs: build_wheels: - name: Build wheels on ${{ matrix.os }} + name: Build wheels on ${{ matrix.os }} for python ${{ matrix.python-version }} and cuda { matrix.cuda-version} runs-on: ${{ matrix.os }} environment: production strategy: @@ -39,13 +39,9 @@ jobs: pip install --upgrade setuptools pip install ninja - - name: Install CUDA ${{ matrix.cuda-version }} - if: ${{ matrix.cuda-version != 'cpu' }} - run: | - bash .github/workflows/cuda/${{ runner.os }}.sh ${{ matrix.cuda-version }} - - name: Determine PyTorch version id: get-torch-version + shell: bash run: | if [[ "${{ matrix.cuda-version }}" == "cu117" || "${{ matrix.cuda-version }}" == "cu118" ]]; then echo "torch_version=2.0.0" >> $GITHUB_ENV @@ -55,6 +51,11 @@ jobs: echo "torch_version=1.11.0" >> $GITHUB_ENV fi + - name: Install CUDA ${{ matrix.cuda-version }} + if: ${{ matrix.cuda-version != 'cpu' }} + run: | + bash .github/workflows/cuda/${{ runner.os }}.sh ${{ matrix.cuda-version }} + - name: Install PyTorch run: | pip install torch==${{ env.torch_version }} --extra-index-url https://download.pytorch.org/whl/${{ matrix.cuda-version }} @@ -100,7 +101,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: Build sdist - run: pipx run build --sdist + run: BUILD_NO_CUDA=1 pipx run build --sdist - uses: actions/upload-artifact@v2 with: path: dist/*.tar.gz From a2cb89c66b91b17845a39584ec1ae0adf5c0e166 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 16 Aug 2024 16:25:09 +0100 Subject: [PATCH 012/170] Update publish.yml --- .github/workflows/publish.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 628750844..dc4d31feb 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -50,6 +50,7 @@ jobs: elif [[ "${{ matrix.cuda-version }}" == "cu113" || "${{ matrix.cuda-version }}" == "cu115" ]]; then echo "torch_version=1.11.0" >> $GITHUB_ENV fi + echo $GITHUB_ENV - name: Install CUDA ${{ matrix.cuda-version }} if: ${{ matrix.cuda-version != 'cpu' }} From a7ae2cf3ed2e27249d03cc6dcf3b93d4f15aa570 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 16 Aug 2024 16:44:00 +0100 Subject: [PATCH 013/170] Update publish.yml --- .github/workflows/publish.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index dc4d31feb..29810f3db 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -39,6 +39,11 @@ jobs: pip install --upgrade setuptools pip install ninja + - name: Free up disk space + if: ${{ runner.os == 'Linux' }} + run: | + sudo rm -rf /usr/share/dotnet + - name: Determine PyTorch version id: get-torch-version shell: bash @@ -52,6 +57,9 @@ jobs: fi echo $GITHUB_ENV + - name: Display torch_version variable + run: echo "The value of torch_version is $torch_version" + - name: Install CUDA ${{ matrix.cuda-version }} if: ${{ matrix.cuda-version != 'cpu' }} run: | From 265a78e3ff8c4f2120ff07aaf7ec36d66db8ef00 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 16 Aug 2024 16:58:28 +0100 Subject: [PATCH 014/170] Update publish.yml --- .github/workflows/publish.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 29810f3db..90b855541 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -43,7 +43,15 @@ jobs: if: ${{ runner.os == 'Linux' }} run: | sudo rm -rf /usr/share/dotnet - + sudo rm -rf /opt/ghc + sudo rm -rf "/usr/local/share/boost" + sudo rm -rf "$AGENT_TOOLSDIRECTORY" + + - name: Check disk usage + run: df -h + - name: Check directory sizes + run: du -sh /usr/local/* /opt/* /usr/* | sort -hr + - name: Determine PyTorch version id: get-torch-version shell: bash From c7a2b4bfda2489b4c1c8e725b27f5ce5bc237b36 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 16 Aug 2024 16:59:51 +0100 Subject: [PATCH 015/170] Update publish.yml --- .github/workflows/publish.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 90b855541..7c3f11e16 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -48,9 +48,10 @@ jobs: sudo rm -rf "$AGENT_TOOLSDIRECTORY" - name: Check disk usage - run: df -h - - name: Check directory sizes - run: du -sh /usr/local/* /opt/* /usr/* | sort -hr + run: df -h + + - name: Check directory sizes + run: du -sh /usr/local/* /opt/* /usr/* | sort -hr - name: Determine PyTorch version id: get-torch-version From 8d428207236c439f20f532b598fbd8dd37af8755 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 16 Aug 2024 17:01:49 +0100 Subject: [PATCH 016/170] Update publish.yml --- .github/workflows/publish.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 7c3f11e16..d92e02896 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -48,9 +48,11 @@ jobs: sudo rm -rf "$AGENT_TOOLSDIRECTORY" - name: Check disk usage + if: ${{ runner.os == 'Linux' }} run: df -h - name: Check directory sizes + if: ${{ runner.os == 'Linux' }} run: du -sh /usr/local/* /opt/* /usr/* | sort -hr - name: Determine PyTorch version From 4f97fbd63e42cbf90792e7a3d9b3f124de9b311f Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 16 Aug 2024 17:07:07 +0100 Subject: [PATCH 017/170] Update publish.yml --- .github/workflows/publish.yml | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index d92e02896..8420af473 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -42,19 +42,17 @@ jobs: - name: Free up disk space if: ${{ runner.os == 'Linux' }} run: | + echo "Disk space before cleanup:" + df -h sudo rm -rf /usr/share/dotnet sudo rm -rf /opt/ghc sudo rm -rf "/usr/local/share/boost" sudo rm -rf "$AGENT_TOOLSDIRECTORY" - - - name: Check disk usage - if: ${{ runner.os == 'Linux' }} - run: df -h - - - name: Check directory sizes - if: ${{ runner.os == 'Linux' }} - run: du -sh /usr/local/* /opt/* /usr/* | sort -hr - + sudo apt-get clean + echo "Disk space after cleanup:" + df -h + du -sh /usr/local/* /opt/* /usr/* | sort -hr + - name: Determine PyTorch version id: get-torch-version shell: bash From 236af2cf2a8829a335886850f8911bf466ee06a9 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 16 Aug 2024 17:25:20 +0100 Subject: [PATCH 018/170] Update publish.yml --- .github/workflows/publish.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 8420af473..d03cad942 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -13,13 +13,13 @@ jobs: build_wheels: - name: Build wheels on ${{ matrix.os }} for python ${{ matrix.python-version }} and cuda { matrix.cuda-version} + name: Build wheels on ${{ matrix.os }} for python ${{ matrix.python-version }} and cuda { matrix.cuda-version }} runs-on: ${{ matrix.os }} environment: production strategy: matrix: - os: [ubuntu-20.04, windows-2019] - python-version: ['3.10', '3.11'] + os: [windows-2019, ] + python-version: ['3.10'] cuda-version: ['cu118', ] exclude: - os: windows-2019 From 7ff4ea35051731f2792fb251c06bb2cebf391026 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 16 Aug 2024 17:56:16 +0100 Subject: [PATCH 019/170] test on linux --- .github/workflows/building.yml | 13 ++++++++----- .github/workflows/publish.yml | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index abcd8c92a..e437ca829 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -1,7 +1,7 @@ name: Building Wheels -on: [workflow_dispatch] - +#on: [workflow_dispatch] +on: [push] jobs: wheel: @@ -17,9 +17,12 @@ jobs: # cuda-version: ['cu113'] os: [ubuntu-20.04, windows-2019] # support version based on: https://download.pytorch.org/whl/torch/ - python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] - torch-version: [1.11.0, 1.12.0, 1.13.0, 2.0.0] - cuda-version: ['cu113', 'cu115', 'cu116', 'cu117', 'cu118'] + #python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] + #torch-version: [1.11.0, 1.12.0, 1.13.0, 2.0.0] + #cuda-version: ['cu113', 'cu115', 'cu116', 'cu117', 'cu118'] + python-version: ['3.10',] + torch-version: [2.0.0, ] + cuda-version: ['cu118',] exclude: - torch-version: 1.11.0 python-version: '3.11' diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index d03cad942..2fbb210cb 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -18,7 +18,7 @@ jobs: environment: production strategy: matrix: - os: [windows-2019, ] + os: [ubuntu-20.04, ] python-version: ['3.10'] cuda-version: ['cu118', ] exclude: From 041556fdaaa21baf2f92de573c5dafdabdeb2cb3 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 16 Aug 2024 18:19:38 +0100 Subject: [PATCH 020/170] Update building.yml --- .github/workflows/building.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index e437ca829..adc4494fe 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -93,7 +93,16 @@ jobs: - name: Free up disk space if: ${{ runner.os == 'Linux' }} run: | + echo "Disk space before cleanup:" + df -h sudo rm -rf /usr/share/dotnet + sudo rm -rf /opt/ghc + sudo rm -rf "/usr/local/share/boost" + sudo rm -rf "$AGENT_TOOLSDIRECTORY" + sudo apt-get clean + echo "Disk space after cleanup:" + df -h + du -sh /usr/local/* /opt/* /usr/* | sort -hr - name: Install CUDA ${{ matrix.cuda-version }} if: ${{ matrix.cuda-version != 'cpu' }} From 5c537b11edba719d7c2296e0413b51ab5b71c63c Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 16 Aug 2024 18:21:30 +0100 Subject: [PATCH 021/170] Update publish.yml --- .github/workflows/publish.yml | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 2fbb210cb..b4e638eef 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -29,16 +29,6 @@ jobs: with: submodules: 'recursive' - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - - name: Upgrade pip - run: | - pip install --upgrade setuptools - pip install ninja - - name: Free up disk space if: ${{ runner.os == 'Linux' }} run: | @@ -52,7 +42,18 @@ jobs: echo "Disk space after cleanup:" df -h du -sh /usr/local/* /opt/* /usr/* | sort -hr - + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + + - name: Upgrade pip + run: | + pip install --upgrade setuptools + pip install ninja + + - name: Determine PyTorch version id: get-torch-version shell: bash From 1ffe180c95887d49c497cefa217e2e2bc61efbf6 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 16 Aug 2024 18:44:58 +0100 Subject: [PATCH 022/170] try to fix --- .github/workflows/building.yml | 21 +++++++++++---------- .github/workflows/publish.yml | 2 -- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index adc4494fe..945048525 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -80,16 +80,6 @@ jobs: with: submodules: 'recursive' - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - - name: Upgrade pip - run: | - pip install --upgrade setuptools - pip install ninja - - name: Free up disk space if: ${{ runner.os == 'Linux' }} run: | @@ -103,6 +93,17 @@ jobs: echo "Disk space after cleanup:" df -h du -sh /usr/local/* /opt/* /usr/* | sort -hr + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + + - name: Upgrade pip + run: | + pip install --upgrade setuptools + pip install ninja + - name: Install CUDA ${{ matrix.cuda-version }} if: ${{ matrix.cuda-version != 'cpu' }} diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index b4e638eef..5441bf138 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -36,8 +36,6 @@ jobs: df -h sudo rm -rf /usr/share/dotnet sudo rm -rf /opt/ghc - sudo rm -rf "/usr/local/share/boost" - sudo rm -rf "$AGENT_TOOLSDIRECTORY" sudo apt-get clean echo "Disk space after cleanup:" df -h From ba76541dc9325697c54f985139565d15c3f7eead Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 16 Aug 2024 18:52:53 +0100 Subject: [PATCH 023/170] trying TORCH_CUDA_ARCH_LIST=7.5 --- .github/workflows/publish.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 5441bf138..63a992fb7 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -106,7 +106,10 @@ jobs: sed -i '//,//d' README.md - name: Build wheel + # using TORCH_CUDA_ARCH_LIST=7.5 to avoid error: no suitable conversion function from "__half" to "int" exists + # see https://github.com/nerfstudio-project/gsplat/issues/146 run: | + export TORCH_CUDA_ARCH_LIST=7.5 pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} python setup.py bdist_wheel --dist-dir=dist From 444fc933fe69e72818b6f371841c2e0b2d3c265d Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sat, 17 Aug 2024 14:09:49 +0100 Subject: [PATCH 024/170] try to fix --- .github/workflows/building.yml | 1 + .github/workflows/publish.yml | 2 ++ 2 files changed, 3 insertions(+) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index 945048525..873b491bb 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -143,6 +143,7 @@ jobs: - name: Build wheel run: | + export TORCH_CUDA_ARCH_LIST=7.5 pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} python setup.py bdist_wheel --dist-dir=dist diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 63a992fb7..a2c3e4545 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -36,6 +36,7 @@ jobs: df -h sudo rm -rf /usr/share/dotnet sudo rm -rf /opt/ghc + sudo rm -rf "/usr/local/share/boost" sudo apt-get clean echo "Disk space after cleanup:" df -h @@ -108,6 +109,7 @@ jobs: - name: Build wheel # using TORCH_CUDA_ARCH_LIST=7.5 to avoid error: no suitable conversion function from "__half" to "int" exists # see https://github.com/nerfstudio-project/gsplat/issues/146 + # but do we want to specific the architecture here? run: | export TORCH_CUDA_ARCH_LIST=7.5 pip install wheel From d8d91a7adcf8f151e47eb2f1d861a66c4eb2011b Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sat, 17 Aug 2024 14:33:14 +0100 Subject: [PATCH 025/170] try fixing --- .github/workflows/building.yml | 5 +++-- .github/workflows/publish.yml | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index 873b491bb..6b051269f 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -7,7 +7,8 @@ jobs: wheel: runs-on: ${{ matrix.os }} environment: production - + env: + TORCH_CUDA_ARCH_LIST: 8.2 strategy: fail-fast: false matrix: @@ -143,7 +144,7 @@ jobs: - name: Build wheel run: | - export TORCH_CUDA_ARCH_LIST=7.5 + export TORCH_CUDA_ARCH_LIST=8.2 pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} python setup.py bdist_wheel --dist-dir=dist diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a2c3e4545..a9123e7f4 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -37,6 +37,7 @@ jobs: sudo rm -rf /usr/share/dotnet sudo rm -rf /opt/ghc sudo rm -rf "/usr/local/share/boost" + sudo rm -rf "$AGENT_TOOLSDIRECTORY" sudo apt-get clean echo "Disk space after cleanup:" df -h @@ -111,7 +112,7 @@ jobs: # see https://github.com/nerfstudio-project/gsplat/issues/146 # but do we want to specific the architecture here? run: | - export TORCH_CUDA_ARCH_LIST=7.5 + export TORCH_CUDA_ARCH_LIST=8.2 pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} python setup.py bdist_wheel --dist-dir=dist From a3db8b6d97aebebd78646a3f2550409e227aef9b Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sat, 17 Aug 2024 14:36:12 +0100 Subject: [PATCH 026/170] move export TORCH_CUDA_ARCH_LIST=8.2 --- .github/workflows/building.yml | 4 ++-- .github/workflows/publish.yml | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index 6b051269f..21b063cfe 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -143,10 +143,10 @@ jobs: BUILD_NO_CUDA=1 pip install . - name: Build wheel - run: | - export TORCH_CUDA_ARCH_LIST=8.2 + run: | pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} + export TORCH_CUDA_ARCH_LIST=8.2 python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a9123e7f4..3dac49586 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -10,7 +10,8 @@ on: [push] # branches: [main] jobs: - + env: + TORCH_CUDA_ARCH_LIST: 8.2 build_wheels: name: Build wheels on ${{ matrix.os }} for python ${{ matrix.python-version }} and cuda { matrix.cuda-version }} @@ -111,10 +112,10 @@ jobs: # using TORCH_CUDA_ARCH_LIST=7.5 to avoid error: no suitable conversion function from "__half" to "int" exists # see https://github.com/nerfstudio-project/gsplat/issues/146 # but do we want to specific the architecture here? - run: | - export TORCH_CUDA_ARCH_LIST=8.2 + run: | pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} + export TORCH_CUDA_ARCH_LIST=8.2 python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell From d186c49e8c2f0c124300c3d38ccf96771c2fe30a Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sat, 17 Aug 2024 14:37:16 +0100 Subject: [PATCH 027/170] try fix --- .github/workflows/building.yml | 3 +-- .github/workflows/publish.yml | 2 -- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index 21b063cfe..80a9a9e47 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -7,8 +7,7 @@ jobs: wheel: runs-on: ${{ matrix.os }} environment: production - env: - TORCH_CUDA_ARCH_LIST: 8.2 + strategy: fail-fast: false matrix: diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 3dac49586..56269cba8 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -10,8 +10,6 @@ on: [push] # branches: [main] jobs: - env: - TORCH_CUDA_ARCH_LIST: 8.2 build_wheels: name: Build wheels on ${{ matrix.os }} for python ${{ matrix.python-version }} and cuda { matrix.cuda-version }} From 09c03cd4f1d36ef1a0027c10125c91757b63c0fe Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sat, 17 Aug 2024 14:39:59 +0100 Subject: [PATCH 028/170] using export TORCH_CUDA_ARCH_LIST="8.0;8.6" --- .github/workflows/building.yml | 2 +- .github/workflows/publish.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index 80a9a9e47..61be11ae4 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -145,7 +145,7 @@ jobs: run: | pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} - export TORCH_CUDA_ARCH_LIST=8.2 + export TORCH_CUDA_ARCH_LIST="8.0;8.6" python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 56269cba8..10ea9174e 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -113,7 +113,7 @@ jobs: run: | pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} - export TORCH_CUDA_ARCH_LIST=8.2 + export TORCH_CUDA_ARCH_LIST="8.0;8.6" python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell From db7122587f782ef9e7ea78acec3ccd19d354fa41 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sat, 17 Aug 2024 15:04:54 +0100 Subject: [PATCH 029/170] Update publish.yml --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 10ea9174e..15152bf03 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -17,7 +17,7 @@ jobs: environment: production strategy: matrix: - os: [ubuntu-20.04, ] + os: [windows-2019, ] python-version: ['3.10'] cuda-version: ['cu118', ] exclude: From e3b8b8119770ee4ba8c3ad8bb0d3a9510a996aff Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sat, 17 Aug 2024 15:18:05 +0100 Subject: [PATCH 030/170] using TORCH_CUDA_ARCH_LIST="8.0" --- .github/workflows/building.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index 61be11ae4..e260d6373 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -15,7 +15,7 @@ jobs: # python-version: ['3.7'] # torch-version: [1.11.0] # cuda-version: ['cu113'] - os: [ubuntu-20.04, windows-2019] + os: [ubuntu-20.04] # support version based on: https://download.pytorch.org/whl/torch/ #python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] #torch-version: [1.11.0, 1.12.0, 1.13.0, 2.0.0] @@ -145,7 +145,7 @@ jobs: run: | pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} - export TORCH_CUDA_ARCH_LIST="8.0;8.6" + export TORCH_CUDA_ARCH_LIST="8.0" python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell From 2a01f4d30d4e5314b6403192850044a0a738b9c6 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sat, 17 Aug 2024 15:18:43 +0100 Subject: [PATCH 031/170] TORCH_CUDA_ARCH_LIST="7.5" --- .github/workflows/building.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index e260d6373..d217f6a50 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -145,7 +145,7 @@ jobs: run: | pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} - export TORCH_CUDA_ARCH_LIST="8.0" + export TORCH_CUDA_ARCH_LIST="7.5" python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell From ea3b1a106d572fabaee507423ecaf9e790a45d11 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sat, 17 Aug 2024 15:41:18 +0100 Subject: [PATCH 032/170] Update publish.yml --- .github/workflows/publish.yml | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 15152bf03..16d0830e2 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -113,10 +113,14 @@ jobs: run: | pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} - export TORCH_CUDA_ARCH_LIST="8.0;8.6" + export TORCH_CUDA_ARCH_LIST="7.5" python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell + - uses: actions/upload-artifact@v2 + with: + path: dist/*.whl + build_sdist: name: Build source distribution runs-on: ubuntu-latest @@ -124,11 +128,25 @@ jobs: - uses: actions/checkout@v2 - name: Build sdist run: BUILD_NO_CUDA=1 pipx run build --sdist - - uses: actions/upload-artifact@v2 - with: - path: dist/*.tar.gz + + upload_wheels: + name: Upload to Github artifacts + steps: + - name: Upload each file as a separate artifact + run: | + for file in dist/*; do + fname=$(basename "$file") + echo "Uploading $fname" + gh api \ + -X POST \ + -H "Accept: application/vnd.github.v3+json" \ + /repos/${{ github.repository }}/actions/artifacts \ + -F name="$fname" \ + -F path="$file" + done upload_pypi: + name: Upload to PyPi needs: [build_wheels, build_sdist] runs-on: ubuntu-latest steps: From 72e772176adf35727e261816ff2c1459622dda02 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sat, 17 Aug 2024 15:59:15 +0100 Subject: [PATCH 033/170] Update publish.yml --- .github/workflows/publish.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 16d0830e2..581c3abd3 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -10,7 +10,6 @@ on: [push] # branches: [main] jobs: - build_wheels: name: Build wheels on ${{ matrix.os }} for python ${{ matrix.python-version }} and cuda { matrix.cuda-version }} runs-on: ${{ matrix.os }} @@ -117,10 +116,6 @@ jobs: python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell - - uses: actions/upload-artifact@v2 - with: - path: dist/*.whl - build_sdist: name: Build source distribution runs-on: ubuntu-latest From c5c2207c9419a9ee3db8440d93ba917fb21235e2 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sat, 17 Aug 2024 16:03:12 +0100 Subject: [PATCH 034/170] Update publish.yml --- .github/workflows/publish.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 581c3abd3..1ea502c72 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -126,6 +126,8 @@ jobs: upload_wheels: name: Upload to Github artifacts + needs: [build_wheels, build_sdist] + runs-on: ubuntu-latest steps: - name: Upload each file as a separate artifact run: | From 6fdd5e3d549844c3ce9f9421f49203bddaf99181 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sat, 17 Aug 2024 16:27:11 +0100 Subject: [PATCH 035/170] Update publish.yml --- .github/workflows/publish.yml | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 1ea502c72..d2a8c38dd 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -115,6 +115,10 @@ jobs: export TORCH_CUDA_ARCH_LIST="7.5" python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell + + - uses: actions/upload-artifact@v3 + with: + path: dist/*.whl build_sdist: name: Build source distribution @@ -123,24 +127,10 @@ jobs: - uses: actions/checkout@v2 - name: Build sdist run: BUILD_NO_CUDA=1 pipx run build --sdist - - upload_wheels: - name: Upload to Github artifacts - needs: [build_wheels, build_sdist] - runs-on: ubuntu-latest - steps: - - name: Upload each file as a separate artifact - run: | - for file in dist/*; do - fname=$(basename "$file") - echo "Uploading $fname" - gh api \ - -X POST \ - -H "Accept: application/vnd.github.v3+json" \ - /repos/${{ github.repository }}/actions/artifacts \ - -F name="$fname" \ - -F path="$file" - done + - uses: actions/upload-artifact@v3 + with: + path: dist/*.tar.gz + upload_pypi: name: Upload to PyPi From 5dff78111ce9f8577f5680e07b2eefa99dfc30c6 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sat, 17 Aug 2024 17:45:24 +0100 Subject: [PATCH 036/170] Update publish.yml --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index d2a8c38dd..2a3f2fcf1 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -112,7 +112,7 @@ jobs: run: | pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} - export TORCH_CUDA_ARCH_LIST="7.5" + export TORCH_CUDA_ARCH_LIST="6.0" python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell From f60c27f3c3d5855d847eb6e248658531cd43184a Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sat, 17 Aug 2024 18:05:57 +0100 Subject: [PATCH 037/170] Update publish.yml --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 2a3f2fcf1..ea813b440 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -112,7 +112,7 @@ jobs: run: | pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} - export TORCH_CUDA_ARCH_LIST="6.0" + export TORCH_CUDA_ARCH_LIST="5.3" python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell From db3753fef5806d8c639006e62cab767a47d3ba4c Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sat, 17 Aug 2024 18:06:17 +0100 Subject: [PATCH 038/170] Update publish.yml --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index ea813b440..f53bcbee5 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -112,7 +112,7 @@ jobs: run: | pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} - export TORCH_CUDA_ARCH_LIST="5.3" + export TORCH_CUDA_ARCH_LIST="5.2" python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell From 1d5af2716ca83bdee077a42313f2afc3b74a41e8 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sat, 17 Aug 2024 18:46:39 +0100 Subject: [PATCH 039/170] TORCH_CUDA_ARCH_LIST="6.2;7.2;7.5;8.7;8.9;9.0" --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index f53bcbee5..c1b18e140 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -112,7 +112,7 @@ jobs: run: | pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} - export TORCH_CUDA_ARCH_LIST="5.2" + export TORCH_CUDA_ARCH_LIST="6.2;7.2;7.5;8.7;8.9;9.0" python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell From d4167424dd1bf6e5542f6807767e5b8de25142a3 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sat, 17 Aug 2024 18:57:09 +0100 Subject: [PATCH 040/170] Update publish.yml --- .github/workflows/publish.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index c1b18e140..16b55433f 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -109,10 +109,11 @@ jobs: # using TORCH_CUDA_ARCH_LIST=7.5 to avoid error: no suitable conversion function from "__half" to "int" exists # see https://github.com/nerfstudio-project/gsplat/issues/146 # but do we want to specific the architecture here? + # architecture 8.7;8.9;9.0 not avaible in the current github action run: | pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} - export TORCH_CUDA_ARCH_LIST="6.2;7.2;7.5;8.7;8.9;9.0" + export TORCH_CUDA_ARCH_LIST="6.2;7.2;7.5" python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell From ee68bd1ccae8de87c488838c61fea8ff0639c2b2 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sat, 17 Aug 2024 19:00:48 +0100 Subject: [PATCH 041/170] Update publish.yml --- .github/workflows/publish.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 16b55433f..be39ce8ab 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -106,10 +106,8 @@ jobs: sed -i '//,//d' README.md - name: Build wheel - # using TORCH_CUDA_ARCH_LIST=7.5 to avoid error: no suitable conversion function from "__half" to "int" exists - # see https://github.com/nerfstudio-project/gsplat/issues/146 - # but do we want to specific the architecture here? - # architecture 8.7;8.9;9.0 not avaible in the current github action + # architectures 8.x and 9.x (Ampere, Ada, Hopper) are not avaible in the current github action + # architectures 5.x give compilation errors (no suitable conversion function from "__half" to "int" exists) run: | pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} From 03edc1eb5cd9c329c79493c14c6cfcc2d9547ce1 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sat, 17 Aug 2024 19:08:20 +0100 Subject: [PATCH 042/170] Update building.yml --- .github/workflows/building.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index d217f6a50..9fad4a0fb 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -145,7 +145,7 @@ jobs: run: | pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} - export TORCH_CUDA_ARCH_LIST="7.5" + export TORCH_CUDA_ARCH_LIST="6.2" python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell From 651c37b2e0b029b5d633a577360470c893d3722b Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sat, 17 Aug 2024 20:04:47 +0100 Subject: [PATCH 043/170] TORCH_CUDA_ARCH_LIST="6.2" --- .github/workflows/publish.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index be39ce8ab..d1c5bbad9 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -107,11 +107,12 @@ jobs: - name: Build wheel # architectures 8.x and 9.x (Ampere, Ada, Hopper) are not avaible in the current github action - # architectures 5.x give compilation errors (no suitable conversion function from "__half" to "int" exists) + # architectures 5.x give compilation errors "no suitable conversion function from "__half" to "int" exists" + # architectures 6.x give compilation errors "namespace "cooperative_groups" has no member "labeled_partition"" run: | pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} - export TORCH_CUDA_ARCH_LIST="6.2;7.2;7.5" + export TORCH_CUDA_ARCH_LIST="6.2" python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell From 755ade3d05d74f073e78af8c06d8db1236bb0d51 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sat, 17 Aug 2024 20:05:21 +0100 Subject: [PATCH 044/170] export TORCH_CUDA_ARCH_LIST="7.2;7.5" --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index d1c5bbad9..4b989a8e5 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -112,7 +112,7 @@ jobs: run: | pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} - export TORCH_CUDA_ARCH_LIST="6.2" + export TORCH_CUDA_ARCH_LIST="7.2;7.5" python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell From e589d0388ace03d06126b7ae47f971055900151c Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sun, 18 Aug 2024 15:04:19 +0100 Subject: [PATCH 045/170] Update publish.yml --- .github/workflows/publish.yml | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 4b989a8e5..43c735796 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -27,6 +27,23 @@ jobs: with: submodules: 'recursive' + + - name: Display GPU name + run: | + if command -v nvidia-smi &> /dev/null + then + echo "GPU Information:" + nvidia-smi --query-gpu=name --format=csv,noheader + else + echo "nvidia-smi not found. Make sure you are running this on a machine with NVIDIA GPUs and that the NVIDIA drivers are installed." + fi + if command -v nvcc &> /dev/null + then + echo "Supported CUDA architectures:" + nvcc --list-gpu-arch + else + echo "nvcc not found. Make sure you have the CUDA toolkit installed." + fi - name: Free up disk space if: ${{ runner.os == 'Linux' }} run: | @@ -108,7 +125,7 @@ jobs: - name: Build wheel # architectures 8.x and 9.x (Ampere, Ada, Hopper) are not avaible in the current github action # architectures 5.x give compilation errors "no suitable conversion function from "__half" to "int" exists" - # architectures 6.x give compilation errors "namespace "cooperative_groups" has no member "labeled_partition"" + # architectures 6.x give compilation errors "namespace "cooperative_groups" has no member "labeled_partition"" run: | pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} From b4d5d313ad356b3d83af78223a0fcd0d97b18263 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sun, 18 Aug 2024 15:05:45 +0100 Subject: [PATCH 046/170] Update publish.yml --- .github/workflows/publish.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 43c735796..1ee588e22 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -29,6 +29,7 @@ jobs: - name: Display GPU name + shell: bash run: | if command -v nvidia-smi &> /dev/null then From 8813791049f8e967b6f5a3a313b08b7bd1e305a4 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sun, 18 Aug 2024 15:08:24 +0100 Subject: [PATCH 047/170] Update building.yml --- .github/workflows/building.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index 9fad4a0fb..9bedb911c 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -142,10 +142,13 @@ jobs: BUILD_NO_CUDA=1 pip install . - name: Build wheel + # architectures 8.x and 9.x (Ampere, Ada, Hopper) are not avaible in the current github action + # architectures 5.x give compilation errors "no suitable conversion function from "__half" to "int" exists" + # architectures 6.x give compilation errors "namespace "cooperative_groups" has no member "labeled_partition"" run: | pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} - export TORCH_CUDA_ARCH_LIST="6.2" + export TORCH_CUDA_ARCH_LIST="7.2;7.5" python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell From 3281c6b28630015ef7e4646dbb8508bfe54eb934 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sun, 18 Aug 2024 15:12:43 +0100 Subject: [PATCH 048/170] Update publish.yml --- .github/workflows/publish.yml | 37 ++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 1ee588e22..10b6f013a 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -28,23 +28,7 @@ jobs: submodules: 'recursive' - - name: Display GPU name - shell: bash - run: | - if command -v nvidia-smi &> /dev/null - then - echo "GPU Information:" - nvidia-smi --query-gpu=name --format=csv,noheader - else - echo "nvidia-smi not found. Make sure you are running this on a machine with NVIDIA GPUs and that the NVIDIA drivers are installed." - fi - if command -v nvcc &> /dev/null - then - echo "Supported CUDA architectures:" - nvcc --list-gpu-arch - else - echo "nvcc not found. Make sure you have the CUDA toolkit installed." - fi + - name: Free up disk space if: ${{ runner.os == 'Linux' }} run: | @@ -90,7 +74,24 @@ jobs: if: ${{ matrix.cuda-version != 'cpu' }} run: | bash .github/workflows/cuda/${{ runner.os }}.sh ${{ matrix.cuda-version }} - + + - name: Display GPU name + shell: bash + run: | + if command -v nvidia-smi &> /dev/null + then + echo "GPU Information:" + nvidia-smi --query-gpu=name --format=csv,noheader + else + echo "nvidia-smi not found. Make sure you are running this on a machine with NVIDIA GPUs and that the NVIDIA drivers are installed." + fi + if command -v nvcc &> /dev/null + then + echo "Supported CUDA architectures:" + nvcc --list-gpu-arch + else + echo "nvcc not found. Make sure you have the CUDA toolkit installed." + fi - name: Install PyTorch run: | pip install torch==${{ env.torch_version }} --extra-index-url https://download.pytorch.org/whl/${{ matrix.cuda-version }} From 393980f4f69200ffde3afc48dff5328e250e1a65 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sun, 18 Aug 2024 16:49:18 +0100 Subject: [PATCH 049/170] Update publish.yml --- .github/workflows/publish.yml | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 10b6f013a..bac9f6462 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -27,8 +27,6 @@ jobs: with: submodules: 'recursive' - - - name: Free up disk space if: ${{ runner.os == 'Linux' }} run: | @@ -75,23 +73,6 @@ jobs: run: | bash .github/workflows/cuda/${{ runner.os }}.sh ${{ matrix.cuda-version }} - - name: Display GPU name - shell: bash - run: | - if command -v nvidia-smi &> /dev/null - then - echo "GPU Information:" - nvidia-smi --query-gpu=name --format=csv,noheader - else - echo "nvidia-smi not found. Make sure you are running this on a machine with NVIDIA GPUs and that the NVIDIA drivers are installed." - fi - if command -v nvcc &> /dev/null - then - echo "Supported CUDA architectures:" - nvcc --list-gpu-arch - else - echo "nvcc not found. Make sure you have the CUDA toolkit installed." - fi - name: Install PyTorch run: | pip install torch==${{ env.torch_version }} --extra-index-url https://download.pytorch.org/whl/${{ matrix.cuda-version }} @@ -131,6 +112,8 @@ jobs: run: | pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} + nvidia-smi --query-gpu=name --format=csv,noheader + nvcc --list-gpu-arch export TORCH_CUDA_ARCH_LIST="7.2;7.5" python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell From c8d992e27b376cab966923d58641f2c05b46d2c1 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sun, 18 Aug 2024 16:50:41 +0100 Subject: [PATCH 050/170] Update building.yml --- .github/workflows/building.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index 9bedb911c..f2e75caaa 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -1,7 +1,7 @@ name: Building Wheels -#on: [workflow_dispatch] -on: [push] +on: [workflow_dispatch] + jobs: wheel: From 4654fa817783ac445e96fe0d87c4f081a5f5fe10 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Mon, 19 Aug 2024 09:59:58 +0100 Subject: [PATCH 051/170] Update publish.yml --- .github/workflows/publish.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index bac9f6462..38c89bbd2 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -112,7 +112,6 @@ jobs: run: | pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} - nvidia-smi --query-gpu=name --format=csv,noheader nvcc --list-gpu-arch export TORCH_CUDA_ARCH_LIST="7.2;7.5" python setup.py bdist_wheel --dist-dir=dist From af36e5862e9856d3fc45e9f2004188df244438b1 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 15:08:03 +0100 Subject: [PATCH 052/170] Update publish.yml --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 38c89bbd2..d359c111a 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -113,7 +113,7 @@ jobs: pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} nvcc --list-gpu-arch - export TORCH_CUDA_ARCH_LIST="7.2;7.5" + export TORCH_CUDA_ARCH_LIST="7.2;7.5;8.0" python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell From b096bde43710c301ae5b85f5dece70deb1e9753b Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 15:55:39 +0100 Subject: [PATCH 053/170] Update publish.yml --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index d359c111a..69db89679 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -113,7 +113,7 @@ jobs: pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} nvcc --list-gpu-arch - export TORCH_CUDA_ARCH_LIST="7.2;7.5;8.0" + export TORCH_CUDA_ARCH_LIST="8.0" python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell From e1f1cc5ba80a947be2ef260f87f307f08343e979 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 16:23:35 +0100 Subject: [PATCH 054/170] Update publish.yml --- .github/workflows/publish.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 69db89679..ceb294e16 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -113,7 +113,9 @@ jobs: pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} nvcc --list-gpu-arch - export TORCH_CUDA_ARCH_LIST="8.0" + export TORCH_CUDA_ARCH_LIST=$(nvcc --list-gpu-arch | grep -Eo 'compute_[0-9]+' | awk -F'_' '{if ($2 >= 70) printf("%s.%s;", substr($2, 1, 1), substr($2, 2))}' | sed 's/;$//') + echo "filtered architecture list" + echo TORCH_CUDA_ARCH_LIST python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell From b2b38afe0dbdbcbfd5c637182a6be03f765c5f9a Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 16:43:37 +0100 Subject: [PATCH 055/170] Update publish.yml --- .github/workflows/publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index ceb294e16..d56273ebb 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -106,14 +106,14 @@ jobs: sed -i '//,//d' README.md - name: Build wheel - # architectures 8.x and 9.x (Ampere, Ada, Hopper) are not avaible in the current github action + # architectures 8.7 and higher do not seem to be support by the chsoen version of pytorch. # architectures 5.x give compilation errors "no suitable conversion function from "__half" to "int" exists" # architectures 6.x give compilation errors "namespace "cooperative_groups" has no member "labeled_partition"" run: | pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} nvcc --list-gpu-arch - export TORCH_CUDA_ARCH_LIST=$(nvcc --list-gpu-arch | grep -Eo 'compute_[0-9]+' | awk -F'_' '{if ($2 >= 70) printf("%s.%s;", substr($2, 1, 1), substr($2, 2))}' | sed 's/;$//') + export TORCH_CUDA_ARCH_LIST="9.0" echo "filtered architecture list" echo TORCH_CUDA_ARCH_LIST python setup.py bdist_wheel --dist-dir=dist From ba1b9a08f5a6dfbde910e1cc3c1acdb389447f87 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 17:21:53 +0100 Subject: [PATCH 056/170] trying to set TORCH_CUDA_ARCH_LIST in the setup.py file --- .github/workflows/publish.yml | 4 ---- setup.py | 9 +++++++++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index d56273ebb..a03145b56 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -112,10 +112,6 @@ jobs: run: | pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} - nvcc --list-gpu-arch - export TORCH_CUDA_ARCH_LIST="9.0" - echo "filtered architecture list" - echo TORCH_CUDA_ARCH_LIST python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell diff --git a/setup.py b/setup.py index 3ea2dfe33..5ef5e427f 100644 --- a/setup.py +++ b/setup.py @@ -28,12 +28,21 @@ def get_ext(): return BuildExtension.with_options(no_python_abi_suffix=True, use_ninja=True) +def get_filtered_cuda_arch_list(min_arch = 70): + from torch.cuda import get_arch_list + raw_arch_list = get_arch_list() + filtered_arch_list = [arch for arch in raw_arch_list if arch.startswith("sm_") and int(arch.split("_")[1]) >= min_arch] + return ";".join([arch[3:-1]+"."+arch[-1] for arch in filtered_arch_list]) + + def get_extensions(): import torch from torch.__config__ import parallel_info from torch.utils.cpp_extension import CUDAExtension + os.environ["TORCH_CUDA_ARCH_LIST"] = get_filtered_cuda_arch_list() + extensions_dir_v1 = osp.join("gsplat", "cuda_legacy", "csrc") sources_v1 = glob.glob(osp.join(extensions_dir_v1, "*.cu")) + glob.glob( osp.join(extensions_dir_v1, "*.cpp") From e6fe7d0a7d4fb3a0ce3135649fd1a77ca9db59e1 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 17:50:24 +0100 Subject: [PATCH 057/170] Update setup.py --- setup.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/setup.py b/setup.py index 5ef5e427f..fc6cbc5e8 100644 --- a/setup.py +++ b/setup.py @@ -30,9 +30,12 @@ def get_ext(): def get_filtered_cuda_arch_list(min_arch = 70): from torch.cuda import get_arch_list - raw_arch_list = get_arch_list() + raw_arch_list = get_arch_list() + print(raw_arch_list) filtered_arch_list = [arch for arch in raw_arch_list if arch.startswith("sm_") and int(arch.split("_")[1]) >= min_arch] - return ";".join([arch[3:-1]+"."+arch[-1] for arch in filtered_arch_list]) + arch_list_str =";".join([arch[3:-1]+"."+arch[-1] for arch in filtered_arch_list]) + print(arch_list_str) + return arch_list_str @@ -41,7 +44,7 @@ def get_extensions(): from torch.__config__ import parallel_info from torch.utils.cpp_extension import CUDAExtension - os.environ["TORCH_CUDA_ARCH_LIST"] = get_filtered_cuda_arch_list() + os.environ["TORCH_CUDA_ARCH_LIST"] = f"{get_filtered_cuda_arch_list()}" extensions_dir_v1 = osp.join("gsplat", "cuda_legacy", "csrc") sources_v1 = glob.glob(osp.join(extensions_dir_v1, "*.cu")) + glob.glob( From fec8707601bb4abcb047c6378ff35fa907eeaac3 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 17:55:03 +0100 Subject: [PATCH 058/170] test --- get_cuda_arch_list.py | 14 ++++++++++++++ set_cuda_arch_list.bat | 3 +++ 2 files changed, 17 insertions(+) create mode 100644 get_cuda_arch_list.py create mode 100644 set_cuda_arch_list.bat diff --git a/get_cuda_arch_list.py b/get_cuda_arch_list.py new file mode 100644 index 000000000..b191ee9df --- /dev/null +++ b/get_cuda_arch_list.py @@ -0,0 +1,14 @@ +from torch.cuda import get_arch_list +import os + +def get_filtered_cuda_arch_list(min_arch = 70): + + raw_arch_list = get_arch_list() + filtered_arch_list = [arch for arch in raw_arch_list if arch.startswith("sm_") and int(arch.split("_")[1]) >= min_arch] + arch_list_str =";".join([arch[3:-1]+"."+arch[-1] for arch in filtered_arch_list]) + + return arch_list_str + +if __name__=="__main__": + print(get_filtered_cuda_arch_list()) + diff --git a/set_cuda_arch_list.bat b/set_cuda_arch_list.bat new file mode 100644 index 000000000..392afe523 --- /dev/null +++ b/set_cuda_arch_list.bat @@ -0,0 +1,3 @@ +set "TORCH_CUDA_ARCH_LIST=" +for /f "delims=" %%i in ('python get_cuda_arch_list.py') do set TORCH_CUDA_ARCH_LIST="%%i" +echo TORCH_CUDA_ARCH_LIST is set to %TORCH_CUDA_ARCH_LIST% \ No newline at end of file From 5298a45ea112bc3358a4afd696850f56fa3db6dc Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 18:08:16 +0100 Subject: [PATCH 059/170] simplify --- get_cuda_arch_list.py | 14 -------------- set_cuda_arch_list.bat | 3 --- setup.py | 12 ------------ 3 files changed, 29 deletions(-) delete mode 100644 get_cuda_arch_list.py delete mode 100644 set_cuda_arch_list.bat diff --git a/get_cuda_arch_list.py b/get_cuda_arch_list.py deleted file mode 100644 index b191ee9df..000000000 --- a/get_cuda_arch_list.py +++ /dev/null @@ -1,14 +0,0 @@ -from torch.cuda import get_arch_list -import os - -def get_filtered_cuda_arch_list(min_arch = 70): - - raw_arch_list = get_arch_list() - filtered_arch_list = [arch for arch in raw_arch_list if arch.startswith("sm_") and int(arch.split("_")[1]) >= min_arch] - arch_list_str =";".join([arch[3:-1]+"."+arch[-1] for arch in filtered_arch_list]) - - return arch_list_str - -if __name__=="__main__": - print(get_filtered_cuda_arch_list()) - diff --git a/set_cuda_arch_list.bat b/set_cuda_arch_list.bat deleted file mode 100644 index 392afe523..000000000 --- a/set_cuda_arch_list.bat +++ /dev/null @@ -1,3 +0,0 @@ -set "TORCH_CUDA_ARCH_LIST=" -for /f "delims=" %%i in ('python get_cuda_arch_list.py') do set TORCH_CUDA_ARCH_LIST="%%i" -echo TORCH_CUDA_ARCH_LIST is set to %TORCH_CUDA_ARCH_LIST% \ No newline at end of file diff --git a/setup.py b/setup.py index fc6cbc5e8..3ea2dfe33 100644 --- a/setup.py +++ b/setup.py @@ -28,24 +28,12 @@ def get_ext(): return BuildExtension.with_options(no_python_abi_suffix=True, use_ninja=True) -def get_filtered_cuda_arch_list(min_arch = 70): - from torch.cuda import get_arch_list - raw_arch_list = get_arch_list() - print(raw_arch_list) - filtered_arch_list = [arch for arch in raw_arch_list if arch.startswith("sm_") and int(arch.split("_")[1]) >= min_arch] - arch_list_str =";".join([arch[3:-1]+"."+arch[-1] for arch in filtered_arch_list]) - print(arch_list_str) - return arch_list_str - - def get_extensions(): import torch from torch.__config__ import parallel_info from torch.utils.cpp_extension import CUDAExtension - os.environ["TORCH_CUDA_ARCH_LIST"] = f"{get_filtered_cuda_arch_list()}" - extensions_dir_v1 = osp.join("gsplat", "cuda_legacy", "csrc") sources_v1 = glob.glob(osp.join(extensions_dir_v1, "*.cu")) + glob.glob( osp.join(extensions_dir_v1, "*.cpp") From 2c00ff7a5f3134d64b8549a854e84e9ec87e6608 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 18:10:46 +0100 Subject: [PATCH 060/170] use ORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6;9.0" with cu118 --- .github/workflows/cuda/Windows-env.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cuda/Windows-env.sh b/.github/workflows/cuda/Windows-env.sh index ca1500bcd..c33334b68 100644 --- a/.github/workflows/cuda/Windows-env.sh +++ b/.github/workflows/cuda/Windows-env.sh @@ -7,7 +7,7 @@ case ${1} in CUDA_HOME=/c/Program\ Files/NVIDIA\ GPU\ Computing\ Toolkit/CUDA/v11.8 PATH=${CUDA_HOME}/bin:$PATH PATH=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/MSBuild/15.0/Bin:$PATH - export TORCH_CUDA_ARCH_LIST="6.0+PTX" + export TORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6;9.0" ;; cu117) CUDA_HOME=/c/Program\ Files/NVIDIA\ GPU\ Computing\ Toolkit/CUDA/v11.7 From ae0157bd6962e49b13a6c65bb364633dc036d740 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 18:56:31 +0100 Subject: [PATCH 061/170] trying wheel build with cuda 11.7 --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a03145b56..aa9149dd1 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -18,7 +18,7 @@ jobs: matrix: os: [windows-2019, ] python-version: ['3.10'] - cuda-version: ['cu118', ] + cuda-version: ['cu117'] exclude: - os: windows-2019 python-version: '3.11' From 36e4c84e99bac9d5f817ba58d3026b64bf7efd11 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 19:04:04 +0100 Subject: [PATCH 062/170] trying TORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6;9.0" with cuda 11.7 --- .github/workflows/cuda/Windows-env.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cuda/Windows-env.sh b/.github/workflows/cuda/Windows-env.sh index c33334b68..3d4bd4053 100644 --- a/.github/workflows/cuda/Windows-env.sh +++ b/.github/workflows/cuda/Windows-env.sh @@ -13,7 +13,7 @@ case ${1} in CUDA_HOME=/c/Program\ Files/NVIDIA\ GPU\ Computing\ Toolkit/CUDA/v11.7 PATH=${CUDA_HOME}/bin:$PATH PATH=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/MSBuild/15.0/Bin:$PATH - export TORCH_CUDA_ARCH_LIST="6.0+PTX" + export TORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6;9.0" ;; cu116) CUDA_HOME=/c/Program\ Files/NVIDIA\ GPU\ Computing\ Toolkit/CUDA/v11.6 From 9974cd04fe24ae6bbc9717dfdaf55a8cda472011 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 19:04:49 +0100 Subject: [PATCH 063/170] trying export TORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6;9.0" with cuda 11.6 --- .github/workflows/cuda/Windows-env.sh | 2 +- .github/workflows/publish.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cuda/Windows-env.sh b/.github/workflows/cuda/Windows-env.sh index 3d4bd4053..c101eb819 100644 --- a/.github/workflows/cuda/Windows-env.sh +++ b/.github/workflows/cuda/Windows-env.sh @@ -19,7 +19,7 @@ case ${1} in CUDA_HOME=/c/Program\ Files/NVIDIA\ GPU\ Computing\ Toolkit/CUDA/v11.6 PATH=${CUDA_HOME}/bin:$PATH PATH=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/MSBuild/15.0/Bin:$PATH - export TORCH_CUDA_ARCH_LIST="6.0+PTX" + export TORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6;9.0" ;; cu115) CUDA_HOME=/c/Program\ Files/NVIDIA\ GPU\ Computing\ Toolkit/CUDA/v11.5 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index aa9149dd1..8ae4bd79d 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -18,7 +18,7 @@ jobs: matrix: os: [windows-2019, ] python-version: ['3.10'] - cuda-version: ['cu117'] + cuda-version: ['cu116'] exclude: - os: windows-2019 python-version: '3.11' From 7acfe00396ffb97321070123f55b7c45720eb96b Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 19:05:21 +0100 Subject: [PATCH 064/170] trying export TORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6;9.0" with cuda 11.5 --- .github/workflows/cuda/Windows-env.sh | 2 +- .github/workflows/publish.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cuda/Windows-env.sh b/.github/workflows/cuda/Windows-env.sh index c101eb819..b57addaa6 100644 --- a/.github/workflows/cuda/Windows-env.sh +++ b/.github/workflows/cuda/Windows-env.sh @@ -25,7 +25,7 @@ case ${1} in CUDA_HOME=/c/Program\ Files/NVIDIA\ GPU\ Computing\ Toolkit/CUDA/v11.5 PATH=${CUDA_HOME}/bin:$PATH PATH=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/MSBuild/15.0/Bin:$PATH - export TORCH_CUDA_ARCH_LIST="6.0+PTX" + export TORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6;9.0" ;; cu113) CUDA_HOME=/c/Program\ Files/NVIDIA\ GPU\ Computing\ Toolkit/CUDA/v11.3 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 8ae4bd79d..f65e314cf 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -18,7 +18,7 @@ jobs: matrix: os: [windows-2019, ] python-version: ['3.10'] - cuda-version: ['cu116'] + cuda-version: ['cu115'] exclude: - os: windows-2019 python-version: '3.11' From db6551941d47e84271f775162464405b8a74769a Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 19:05:50 +0100 Subject: [PATCH 065/170] trying export TORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6;9.0" with cuda 11.3 --- .github/workflows/cuda/Windows-env.sh | 2 +- .github/workflows/publish.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cuda/Windows-env.sh b/.github/workflows/cuda/Windows-env.sh index b57addaa6..2e9eca9bb 100644 --- a/.github/workflows/cuda/Windows-env.sh +++ b/.github/workflows/cuda/Windows-env.sh @@ -31,7 +31,7 @@ case ${1} in CUDA_HOME=/c/Program\ Files/NVIDIA\ GPU\ Computing\ Toolkit/CUDA/v11.3 PATH=${CUDA_HOME}/bin:$PATH PATH=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/MSBuild/15.0/Bin:$PATH - export TORCH_CUDA_ARCH_LIST="6.0+PTX" + export TORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6;9.0" ;; *) ;; diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index f65e314cf..3bf1cbc13 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -18,7 +18,7 @@ jobs: matrix: os: [windows-2019, ] python-version: ['3.10'] - cuda-version: ['cu115'] + cuda-version: ['cu113'] exclude: - os: windows-2019 python-version: '3.11' From f98defd01f6f6c75aaf6fa4c21a6121244856804 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 19:17:58 +0100 Subject: [PATCH 066/170] test TORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6" with cuda 11.3 --- .github/workflows/cuda/Windows-env.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cuda/Windows-env.sh b/.github/workflows/cuda/Windows-env.sh index 2e9eca9bb..4b80792df 100644 --- a/.github/workflows/cuda/Windows-env.sh +++ b/.github/workflows/cuda/Windows-env.sh @@ -19,19 +19,19 @@ case ${1} in CUDA_HOME=/c/Program\ Files/NVIDIA\ GPU\ Computing\ Toolkit/CUDA/v11.6 PATH=${CUDA_HOME}/bin:$PATH PATH=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/MSBuild/15.0/Bin:$PATH - export TORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6;9.0" + export TORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6" ;; cu115) CUDA_HOME=/c/Program\ Files/NVIDIA\ GPU\ Computing\ Toolkit/CUDA/v11.5 PATH=${CUDA_HOME}/bin:$PATH PATH=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/MSBuild/15.0/Bin:$PATH - export TORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6;9.0" + export TORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6" ;; cu113) CUDA_HOME=/c/Program\ Files/NVIDIA\ GPU\ Computing\ Toolkit/CUDA/v11.3 PATH=${CUDA_HOME}/bin:$PATH PATH=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/MSBuild/15.0/Bin:$PATH - export TORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6;9.0" + export TORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6" ;; *) ;; From 2289c5ecfe68da3af2e34db4c44f0556b65a84f9 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 19:18:16 +0100 Subject: [PATCH 067/170] testing TORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6" with cuda 11.5 --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 3bf1cbc13..f65e314cf 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -18,7 +18,7 @@ jobs: matrix: os: [windows-2019, ] python-version: ['3.10'] - cuda-version: ['cu113'] + cuda-version: ['cu115'] exclude: - os: windows-2019 python-version: '3.11' From 882d84bc62daf24b493f3aa70031690819909125 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 19:18:59 +0100 Subject: [PATCH 068/170] testing TORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6" with cuda 11.6 --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index f65e314cf..8ae4bd79d 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -18,7 +18,7 @@ jobs: matrix: os: [windows-2019, ] python-version: ['3.10'] - cuda-version: ['cu115'] + cuda-version: ['cu116'] exclude: - os: windows-2019 python-version: '3.11' From 4fd13af8fa7d115678e36fe5727449918dc2b342 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 19:19:27 +0100 Subject: [PATCH 069/170] testing TORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6" with cuda 11.3 --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 8ae4bd79d..3bf1cbc13 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -18,7 +18,7 @@ jobs: matrix: os: [windows-2019, ] python-version: ['3.10'] - cuda-version: ['cu116'] + cuda-version: ['cu113'] exclude: - os: windows-2019 python-version: '3.11' From 59e286226daf6c013c022ad8fbea01768c49c662 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 19:20:02 +0100 Subject: [PATCH 070/170] testing TORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6" with cuda 11.7 --- .github/workflows/cuda/Windows-env.sh | 2 +- .github/workflows/publish.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cuda/Windows-env.sh b/.github/workflows/cuda/Windows-env.sh index 4b80792df..7c92ba3b8 100644 --- a/.github/workflows/cuda/Windows-env.sh +++ b/.github/workflows/cuda/Windows-env.sh @@ -13,7 +13,7 @@ case ${1} in CUDA_HOME=/c/Program\ Files/NVIDIA\ GPU\ Computing\ Toolkit/CUDA/v11.7 PATH=${CUDA_HOME}/bin:$PATH PATH=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/MSBuild/15.0/Bin:$PATH - export TORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6;9.0" + export TORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6" ;; cu116) CUDA_HOME=/c/Program\ Files/NVIDIA\ GPU\ Computing\ Toolkit/CUDA/v11.6 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 3bf1cbc13..aa9149dd1 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -18,7 +18,7 @@ jobs: matrix: os: [windows-2019, ] python-version: ['3.10'] - cuda-version: ['cu113'] + cuda-version: ['cu117'] exclude: - os: windows-2019 python-version: '3.11' From 269ee379c5cc89ddb56155672e1f520e74828e70 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 20:43:22 +0100 Subject: [PATCH 071/170] trying python 3.9 and 3.11 --- .github/workflows/publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index aa9149dd1..c76716ca3 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -17,8 +17,8 @@ jobs: strategy: matrix: os: [windows-2019, ] - python-version: ['3.10'] - cuda-version: ['cu117'] + python-version: ['3.9', '3.11'] + cuda-version: ['cu113','cu115','cu116','cu117','cu118'] exclude: - os: windows-2019 python-version: '3.11' From fc9687d132682e804c57c96c92c2d49e028f513f Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 20:44:52 +0100 Subject: [PATCH 072/170] Update publish.yml --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index c76716ca3..5aed42e8b 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -11,7 +11,7 @@ on: [push] jobs: build_wheels: - name: Build wheels on ${{ matrix.os }} for python ${{ matrix.python-version }} and cuda { matrix.cuda-version }} + name: Build wheels on ${{ matrix.os }} for python ${{ matrix.python-version }} and cuda {{ matrix.cuda-version }} runs-on: ${{ matrix.os }} environment: production strategy: From 8734b4ef90b1c135c2a417a66ec7c2c51a6c927c Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 20:46:01 +0100 Subject: [PATCH 073/170] Update publish.yml --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 5aed42e8b..29fb8e0e5 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -11,7 +11,7 @@ on: [push] jobs: build_wheels: - name: Build wheels on ${{ matrix.os }} for python ${{ matrix.python-version }} and cuda {{ matrix.cuda-version }} + name: Build wheels on ${{ matrix.os }} for python ${{ matrix.python-version }} and cuda ${{ matrix.cuda-version }} runs-on: ${{ matrix.os }} environment: production strategy: From 42b9f52a6c648bfbace57740dad2c4e72a61faa5 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 20:47:54 +0100 Subject: [PATCH 074/170] trying python 3.8 --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 29fb8e0e5..cfce4edb3 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -17,7 +17,7 @@ jobs: strategy: matrix: os: [windows-2019, ] - python-version: ['3.9', '3.11'] + python-version: ['3.8'] cuda-version: ['cu113','cu115','cu116','cu117','cu118'] exclude: - os: windows-2019 From 15c7870ae8a804563a288106a1e0dba236a7c3d8 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 20:49:16 +0100 Subject: [PATCH 075/170] trying python 3.7 --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index cfce4edb3..936328af7 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -17,7 +17,7 @@ jobs: strategy: matrix: os: [windows-2019, ] - python-version: ['3.8'] + python-version: ['3.7'] cuda-version: ['cu113','cu115','cu116','cu117','cu118'] exclude: - os: windows-2019 From f10c66ac9b0ae0e9c4dc820d16af7b8d7f196dd7 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 22:15:45 +0100 Subject: [PATCH 076/170] fix python3.7 --- .github/workflows/publish.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 936328af7..338465676 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -57,7 +57,10 @@ jobs: shell: bash run: | if [[ "${{ matrix.cuda-version }}" == "cu117" || "${{ matrix.cuda-version }}" == "cu118" ]]; then - echo "torch_version=2.0.0" >> $GITHUB_ENV + if [[ "${{ matrix.python-version }}" == "3.7" ]]; then + echo "torch_version=1.13.1" >> $GITHUB_ENV + else + echo "torch_version=2.0.0" >> $GITHUB_ENV elif [[ "${{ matrix.cuda-version }}" == "cu116" ]]; then echo "torch_version=1.13.0" >> $GITHUB_ENV elif [[ "${{ matrix.cuda-version }}" == "cu113" || "${{ matrix.cuda-version }}" == "cu115" ]]; then From 59a8d475a05251d4c468569c68986efe47ab5182 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 22:16:34 +0100 Subject: [PATCH 077/170] test python 3.11 --- .github/workflows/publish.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 338465676..4d49e868e 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -17,11 +17,9 @@ jobs: strategy: matrix: os: [windows-2019, ] - python-version: ['3.7'] + python-version: ['3.11'] cuda-version: ['cu113','cu115','cu116','cu117','cu118'] - exclude: - - os: windows-2019 - python-version: '3.11' + steps: - uses: actions/checkout@v3 with: From a57ea6ce423d13930790a584c96c519794f42bce Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 22:16:51 +0100 Subject: [PATCH 078/170] Update publish.yml --- .github/workflows/publish.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 4d49e868e..6b3a563fc 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -59,6 +59,7 @@ jobs: echo "torch_version=1.13.1" >> $GITHUB_ENV else echo "torch_version=2.0.0" >> $GITHUB_ENV + fi elif [[ "${{ matrix.cuda-version }}" == "cu116" ]]; then echo "torch_version=1.13.0" >> $GITHUB_ENV elif [[ "${{ matrix.cuda-version }}" == "cu113" || "${{ matrix.cuda-version }}" == "cu115" ]]; then From 96bc5f9426f6af87452fe7d260b2d19751cc705c Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 22:21:53 +0100 Subject: [PATCH 079/170] Update publish.yml --- .github/workflows/publish.yml | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 6b3a563fc..a334cb7a0 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -54,18 +54,20 @@ jobs: id: get-torch-version shell: bash run: | - if [[ "${{ matrix.cuda-version }}" == "cu117" || "${{ matrix.cuda-version }}" == "cu118" ]]; then - if [[ "${{ matrix.python-version }}" == "3.7" ]]; then - echo "torch_version=1.13.1" >> $GITHUB_ENV + if [[ "${{ matrix.cuda-version }}" == "cu117" || "${{ matrix.cuda-version }}" == "cu118" ]]; then + if [[ "${{ matrix.python-version }}" == "3.7" ]]; then + echo "torch_version=1.13.1" >> $GITHUB_ENV + else + echo "torch_version=2.0.0" >> $GITHUB_ENV + fi + elif [[ "${{ matrix.cuda-version }}" == "cu116" ]]; then + echo "torch_version=1.13.0" >> $GITHUB_ENV + elif [[ "${{ matrix.cuda-version }}" == "cu113" || "${{ matrix.cuda-version }}" == "cu115" ]]; then + echo "torch_version=1.11.0" >> $GITHUB_ENV else - echo "torch_version=2.0.0" >> $GITHUB_ENV + echo "No matching CUDA version found" + exit 1 fi - elif [[ "${{ matrix.cuda-version }}" == "cu116" ]]; then - echo "torch_version=1.13.0" >> $GITHUB_ENV - elif [[ "${{ matrix.cuda-version }}" == "cu113" || "${{ matrix.cuda-version }}" == "cu115" ]]; then - echo "torch_version=1.11.0" >> $GITHUB_ENV - fi - echo $GITHUB_ENV - name: Display torch_version variable run: echo "The value of torch_version is $torch_version" From f7c39dd347705dd7a0274a5cb271ed980101980c Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 22:25:39 +0100 Subject: [PATCH 080/170] testing python 3.7 --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a334cb7a0..162f1717f 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -17,7 +17,7 @@ jobs: strategy: matrix: os: [windows-2019, ] - python-version: ['3.11'] + python-version: ['3.7'] cuda-version: ['cu113','cu115','cu116','cu117','cu118'] steps: From d6ad82583c32f00331f027f04866664b2e03c43b Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 22:56:44 +0100 Subject: [PATCH 081/170] Update publish.yml --- .github/workflows/publish.yml | 90 +++++++++++++++++++++++++++++++---- 1 file changed, 81 insertions(+), 9 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 162f1717f..9d758f440 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -17,9 +17,76 @@ jobs: strategy: matrix: os: [windows-2019, ] - python-version: ['3.7'] - cuda-version: ['cu113','cu115','cu116','cu117','cu118'] - + python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] + torch-version: [1.11.0, 1.12.1, 1.13.0, 2.0.1, 2.1.2, 2.2.2, 2.3.1, 2.4.0] + cuda-version: ['cu113', 'cu115', 'cu116', 'cu117', 'cu118'] + exclude: + - cuda-version: 'cu113' + python-version: '3.11' + - cuda-version: 'cu115' + torch-version: 1.13.0 + - cuda-version: 'cu115' + torch-version: 2.0.1 + - cuda-version: 'cu115' + torch-version: 2.1.2' + - cuda-version: 'cu115' + torch-version: 2.2.2 + - cuda-version: 'cu115' + torch-version: 2.3.1 + - cuda-version: 'cu115' + torch-version: 2.4.0 + - cuda-version: 'cu115' + python-version: '3.11' + - cuda-version: 'cu115' + torch-version: 1.12.1 + - cuda-version: 'cu115' + torch-version: 1.13.0 + - cuda-version: 'cu115' + torch-version: 2.0.1 + - cuda-version: 'cu115' + torch-version: 2.1.2 + - cuda-version: 'cu115' + torch-version: 2.2.2 + - cuda-version: 'cu115' + torch-version: 2.3.1 + - cuda-version: 'cu115' + torch-version: 2.4.0 + - cuda-version: 'cu116' + python-version: '3.11' + - cuda-version: 'cu116' + torch-version: 1.11.0 + - cuda-version: 'cu116' + torch-version: 2.0.1 + - cuda-version: 'cu116' + torch-version: 2.2.2 + - cuda-version: 'cu116' + torch-version: 2.3.1 + - cuda-version: 'cu116' + torch-version: 2.4.0 + - cuda-version: 'cu117' + python-version: '3.11' + - cuda-version: 'cu117' + torch-version: 1.11.0 + - cuda-version: 'cu117' + torch-version: 1.12.0 + - cuda-version: 'cu117' + torch-version: 2.1.2 + - cuda-version: 'cu117' + torch-version: 2.2.2 + - cuda-version: 'cu117' + torch-version: 2.3.1 + - cuda-version: 'cu117' + torch-version: 2.4.0 + - cuda-version: 'cu118' + python-version: '3.7' + - cuda-version: 'cu118' + python-version: '3.7' + - cuda-version: 'cu118' + torch-version: 1.11.0 + - cuda-version: 'cu118' + torch-version: 1.12.0 + - cuda-version: 'cu118' + torch-version: 1.13.0 steps: - uses: actions/checkout@v3 with: @@ -54,16 +121,20 @@ jobs: id: get-torch-version shell: bash run: | - if [[ "${{ matrix.cuda-version }}" == "cu117" || "${{ matrix.cuda-version }}" == "cu118" ]]; then + if [[ "${{ matrix.cuda-version }}" == "cu118" ]]; then + echo "torch_version=2.4.0" >> $GITHUB_ENV + elif [[ "${{ matrix.cuda-version }}" == "cu117"]]; then if [[ "${{ matrix.python-version }}" == "3.7" ]]; then echo "torch_version=1.13.1" >> $GITHUB_ENV else - echo "torch_version=2.0.0" >> $GITHUB_ENV + echo "torch_version=2.0.1" >> $GITHUB_ENV fi elif [[ "${{ matrix.cuda-version }}" == "cu116" ]]; then - echo "torch_version=1.13.0" >> $GITHUB_ENV - elif [[ "${{ matrix.cuda-version }}" == "cu113" || "${{ matrix.cuda-version }}" == "cu115" ]]; then - echo "torch_version=1.11.0" >> $GITHUB_ENV + echo "torch_version=1.13.1" >> $GITHUB_ENV + elif [[ "${{ matrix.cuda-version }}" == "cu113" ]]; then + echo "torch_version=1.12.1" >> $GITHUB_ENV + elif [[ "${{ matrix.cuda-version }}" == "cu115" ]]; then + echo "torch_version=1.11.0" >> $GITHUB_ENV else echo "No matching CUDA version found" exit 1 @@ -99,8 +170,9 @@ jobs: - name: Set version run: | VERSION=`sed -n 's/^__version__ = "\(.*\)"/\1/p' gsplat/version.py` + TORCH_VERSION=`echo "pt${{ matrix.torch-version }}" | sed "s/..$//" | sed "s/\.//g"` CUDA_VERSION=`echo ${{ matrix.cuda-version }}` - echo "New version name: $VERSION+$CUDA_VERSION" + echo "New version name: $VERSION+$TORCH_VERSION$CUDA_VERSION" sed -i "s/$VERSION/$VERSION+$CUDA_VERSION/" gsplat/version.py shell: bash From 0da97ca24f3630b77a9c43421af47da18e9c082c Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 23:00:55 +0100 Subject: [PATCH 082/170] Update publish.yml --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 9d758f440..aaace6ba7 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -18,7 +18,7 @@ jobs: matrix: os: [windows-2019, ] python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] - torch-version: [1.11.0, 1.12.1, 1.13.0, 2.0.1, 2.1.2, 2.2.2, 2.3.1, 2.4.0] + torch-version: [2.4.0] cuda-version: ['cu113', 'cu115', 'cu116', 'cu117', 'cu118'] exclude: - cuda-version: 'cu113' From 39641153c837f389f0e6f3b1d3b20de59319bd96 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 23:03:37 +0100 Subject: [PATCH 083/170] Update publish.yml --- .github/workflows/publish.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index aaace6ba7..7617fce0b 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -11,7 +11,7 @@ on: [push] jobs: build_wheels: - name: Build wheels on ${{ matrix.os }} for python ${{ matrix.python-version }} and cuda ${{ matrix.cuda-version }} + name: Build wheels on ${{ matrix.os }} for python ${{ matrix.python-version }} pytorch ${{ matrix.python-version }} and cuda ${{ matrix.cuda-version }} runs-on: ${{ matrix.os }} environment: production strategy: @@ -22,18 +22,18 @@ jobs: cuda-version: ['cu113', 'cu115', 'cu116', 'cu117', 'cu118'] exclude: - cuda-version: 'cu113' - python-version: '3.11' - - cuda-version: 'cu115' + python-version: '3.11' + - cuda-version: 'cu113' torch-version: 1.13.0 - - cuda-version: 'cu115' + - cuda-version: 'cu113' torch-version: 2.0.1 - - cuda-version: 'cu115' + - cuda-version: 'cu113' torch-version: 2.1.2' - - cuda-version: 'cu115' + - cuda-version: 'cu113' torch-version: 2.2.2 - - cuda-version: 'cu115' + - cuda-version: 'cu113' torch-version: 2.3.1 - - cuda-version: 'cu115' + - cuda-version: 'cu113' torch-version: 2.4.0 - cuda-version: 'cu115' python-version: '3.11' From ddd6417bd86a44ca63b1e94974f232738c14aad6 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 23:04:16 +0100 Subject: [PATCH 084/170] Update publish.yml --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 7617fce0b..21af62f44 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -11,7 +11,7 @@ on: [push] jobs: build_wheels: - name: Build wheels on ${{ matrix.os }} for python ${{ matrix.python-version }} pytorch ${{ matrix.python-version }} and cuda ${{ matrix.cuda-version }} + name: Build wheels on ${{ matrix.os }} for python ${{ matrix.python-version }} pytorch ${{ matrix.torch-version }} and cuda ${{ matrix.cuda-version }} runs-on: ${{ matrix.os }} environment: production strategy: From e87843e1a48f3615a26804e21baff990c35e3fd5 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 23:07:47 +0100 Subject: [PATCH 085/170] test cu113 --- .github/workflows/publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 21af62f44..278ec1c68 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -18,8 +18,8 @@ jobs: matrix: os: [windows-2019, ] python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] - torch-version: [2.4.0] - cuda-version: ['cu113', 'cu115', 'cu116', 'cu117', 'cu118'] + torch-version: [1.11.0, 1.12.1, 1.13.0, 2.0.1, 2.1.2, 2.2.2, 2.3.1, 2.4.0] + cuda-version: ['cu113'] exclude: - cuda-version: 'cu113' python-version: '3.11' From 22faed6cdecaadc463273cc486d3dfcbab596773 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 23:08:18 +0100 Subject: [PATCH 086/170] test cu115 --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 278ec1c68..01df03b7c 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -19,7 +19,7 @@ jobs: os: [windows-2019, ] python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] torch-version: [1.11.0, 1.12.1, 1.13.0, 2.0.1, 2.1.2, 2.2.2, 2.3.1, 2.4.0] - cuda-version: ['cu113'] + cuda-version: ['cu115'] exclude: - cuda-version: 'cu113' python-version: '3.11' From b5a2d91c4ae3f8f8dd323bf444264d90e09d36b7 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 23:08:38 +0100 Subject: [PATCH 087/170] test cu116 --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 01df03b7c..894a017bf 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -19,7 +19,7 @@ jobs: os: [windows-2019, ] python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] torch-version: [1.11.0, 1.12.1, 1.13.0, 2.0.1, 2.1.2, 2.2.2, 2.3.1, 2.4.0] - cuda-version: ['cu115'] + cuda-version: ['cu116'] exclude: - cuda-version: 'cu113' python-version: '3.11' From c1bb170348602028a1dba9a52a04d56041f876a3 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 23:08:59 +0100 Subject: [PATCH 088/170] test cu117 --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 894a017bf..0469f2fdf 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -19,7 +19,7 @@ jobs: os: [windows-2019, ] python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] torch-version: [1.11.0, 1.12.1, 1.13.0, 2.0.1, 2.1.2, 2.2.2, 2.3.1, 2.4.0] - cuda-version: ['cu116'] + cuda-version: ['cu117'] exclude: - cuda-version: 'cu113' python-version: '3.11' From 507f25eb823300f120930e2eff1f3599764b2c4f Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 23:09:15 +0100 Subject: [PATCH 089/170] test cu118 --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 0469f2fdf..1609277c5 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -19,7 +19,7 @@ jobs: os: [windows-2019, ] python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] torch-version: [1.11.0, 1.12.1, 1.13.0, 2.0.1, 2.1.2, 2.2.2, 2.3.1, 2.4.0] - cuda-version: ['cu117'] + cuda-version: ['cu118'] exclude: - cuda-version: 'cu113' python-version: '3.11' From 8801c5d2eb639e783a37f5f2ca6c9472b03f6272 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 23:11:34 +0100 Subject: [PATCH 090/170] Update publish.yml --- .github/workflows/publish.yml | 26 +------------------------- 1 file changed, 1 insertion(+), 25 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 1609277c5..f011d8846 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -116,30 +116,6 @@ jobs: pip install --upgrade setuptools pip install ninja - - - name: Determine PyTorch version - id: get-torch-version - shell: bash - run: | - if [[ "${{ matrix.cuda-version }}" == "cu118" ]]; then - echo "torch_version=2.4.0" >> $GITHUB_ENV - elif [[ "${{ matrix.cuda-version }}" == "cu117"]]; then - if [[ "${{ matrix.python-version }}" == "3.7" ]]; then - echo "torch_version=1.13.1" >> $GITHUB_ENV - else - echo "torch_version=2.0.1" >> $GITHUB_ENV - fi - elif [[ "${{ matrix.cuda-version }}" == "cu116" ]]; then - echo "torch_version=1.13.1" >> $GITHUB_ENV - elif [[ "${{ matrix.cuda-version }}" == "cu113" ]]; then - echo "torch_version=1.12.1" >> $GITHUB_ENV - elif [[ "${{ matrix.cuda-version }}" == "cu115" ]]; then - echo "torch_version=1.11.0" >> $GITHUB_ENV - else - echo "No matching CUDA version found" - exit 1 - fi - - name: Display torch_version variable run: echo "The value of torch_version is $torch_version" @@ -150,7 +126,7 @@ jobs: - name: Install PyTorch run: | - pip install torch==${{ env.torch_version }} --extra-index-url https://download.pytorch.org/whl/${{ matrix.cuda-version }} + pip install torch==${{ matrix.torch_version }} --extra-index-url https://download.pytorch.org/whl/${{ matrix.cuda-version }} python -c "import torch; print('PyTorch:', torch.__version__)" python -c "import torch; print('CUDA:', torch.version.cuda)" python -c "import torch; print('CUDA Available:', torch.cuda.is_available())" From 7ea832f3f4ce46949a62ec11c15a0a43d24bd904 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 23:18:46 +0100 Subject: [PATCH 091/170] Update publish.yml --- .github/workflows/publish.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index f011d8846..7f3248975 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -17,9 +17,9 @@ jobs: strategy: matrix: os: [windows-2019, ] - python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] - torch-version: [1.11.0, 1.12.1, 1.13.0, 2.0.1, 2.1.2, 2.2.2, 2.3.1, 2.4.0] - cuda-version: ['cu118'] + python-version: ['3.10', '3.11'] + torch-version: [2.0.1, 2.1.2, 2.2.2, 2.3.1, 2.4.0] + cuda-version: ['cu117','cu118'] exclude: - cuda-version: 'cu113' python-version: '3.11' @@ -126,7 +126,7 @@ jobs: - name: Install PyTorch run: | - pip install torch==${{ matrix.torch_version }} --extra-index-url https://download.pytorch.org/whl/${{ matrix.cuda-version }} + pip install torch==${{ matrix.torch-version }} --extra-index-url https://download.pytorch.org/whl/${{ matrix.cuda-version }} python -c "import torch; print('PyTorch:', torch.__version__)" python -c "import torch; print('CUDA:', torch.version.cuda)" python -c "import torch; print('CUDA Available:', torch.cuda.is_available())" From ce866d19bc8d909bb29d1e2afe1447d6ac72b9c1 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 23:22:46 +0100 Subject: [PATCH 092/170] Update publish.yml --- .github/workflows/publish.yml | 106 +++++++++++++++------------------- 1 file changed, 45 insertions(+), 61 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 7f3248975..a89fff33f 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -16,77 +16,61 @@ jobs: environment: production strategy: matrix: - os: [windows-2019, ] - python-version: ['3.10', '3.11'] - torch-version: [2.0.1, 2.1.2, 2.2.2, 2.3.1, 2.4.0] - cuda-version: ['cu117','cu118'] - exclude: - - cuda-version: 'cu113' - python-version: '3.11' - - cuda-version: 'cu113' - torch-version: 1.13.0 - - cuda-version: 'cu113' + include: + - os: windows-2019 + python-version: 3.10 torch-version: 2.0.1 - - cuda-version: 'cu113' - torch-version: 2.1.2' - - cuda-version: 'cu113' - torch-version: 2.2.2 - - cuda-version: 'cu113' - torch-version: 2.3.1 - - cuda-version: 'cu113' - torch-version: 2.4.0 - - cuda-version: 'cu115' - python-version: '3.11' - - cuda-version: 'cu115' - torch-version: 1.12.1 - - cuda-version: 'cu115' - torch-version: 1.13.0 - - cuda-version: 'cu115' + cuda-version: cu117 + + - os: windows-2019 + python-version: 3.10 torch-version: 2.0.1 - - cuda-version: 'cu115' + cuda-version: cu118 + + - os: windows-2019 + python-version: 3.10 torch-version: 2.1.2 - - cuda-version: 'cu115' - torch-version: 2.2.2 - - cuda-version: 'cu115' - torch-version: 2.3.1 - - cuda-version: 'cu115' - torch-version: 2.4.0 - - cuda-version: 'cu116' - python-version: '3.11' - - cuda-version: 'cu116' - torch-version: 1.11.0 - - cuda-version: 'cu116' - torch-version: 2.0.1 - - cuda-version: 'cu116' + cuda-version: cu118 + + - os: windows-2019 + python-version: 3.10 torch-version: 2.2.2 - - cuda-version: 'cu116' + cuda-version: cu118 + + - os: windows-2019 + python-version: 3.10 torch-version: 2.3.1 - - cuda-version: 'cu116' + cuda-version: cu118 + + - os: windows-2019 + python-version: 3.10 torch-version: 2.4.0 - - cuda-version: 'cu117' - python-version: '3.11' - - cuda-version: 'cu117' - torch-version: 1.11.0 - - cuda-version: 'cu117' - torch-version: 1.12.0 - - cuda-version: 'cu117' + cuda-version: cu118 + + - os: windows-2019 + python-version: 3.11 + torch-version: 2.0.1 + cuda-version: cu118 + + - os: windows-2019 + python-version: 3.11 torch-version: 2.1.2 - - cuda-version: 'cu117' + cuda-version: cu118 + + - os: windows-2019 + python-version: 3.11 torch-version: 2.2.2 - - cuda-version: 'cu117' + cuda-version: cu118 + + - os: windows-2019 + python-version: 3.11 torch-version: 2.3.1 - - cuda-version: 'cu117' + cuda-version: cu118 + + - os: windows-2019 + python-version: 3.11 torch-version: 2.4.0 - - cuda-version: 'cu118' - python-version: '3.7' - - cuda-version: 'cu118' - python-version: '3.7' - - cuda-version: 'cu118' - torch-version: 1.11.0 - - cuda-version: 'cu118' - torch-version: 1.12.0 - - cuda-version: 'cu118' - torch-version: 1.13.0 + cuda-version: cu118 steps: - uses: actions/checkout@v3 with: From d91af09d6175f8478c25e05b3646bade04f977e1 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 22 Aug 2024 23:32:21 +0100 Subject: [PATCH 093/170] Update publish.yml --- .github/workflows/publish.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a89fff33f..f99d0aefb 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -18,57 +18,57 @@ jobs: matrix: include: - os: windows-2019 - python-version: 3.10 + python-version: '3.10' torch-version: 2.0.1 cuda-version: cu117 - os: windows-2019 - python-version: 3.10 + python-version: '3.10' torch-version: 2.0.1 cuda-version: cu118 - os: windows-2019 - python-version: 3.10 + python-version: '3.10' torch-version: 2.1.2 cuda-version: cu118 - os: windows-2019 - python-version: 3.10 + python-version: '3.10' torch-version: 2.2.2 cuda-version: cu118 - os: windows-2019 - python-version: 3.10 + python-version: '3.10' torch-version: 2.3.1 cuda-version: cu118 - os: windows-2019 - python-version: 3.10 + python-version: '3.10' torch-version: 2.4.0 cuda-version: cu118 - os: windows-2019 - python-version: 3.11 + python-version: '3.11' torch-version: 2.0.1 cuda-version: cu118 - os: windows-2019 - python-version: 3.11 + python-version: '3.11' torch-version: 2.1.2 cuda-version: cu118 - os: windows-2019 - python-version: 3.11 + python-version: '3.11' torch-version: 2.2.2 cuda-version: cu118 - os: windows-2019 - python-version: 3.11 + python-version: '3.11' torch-version: 2.3.1 cuda-version: cu118 - os: windows-2019 - python-version: 3.11 + python-version: '3.11' torch-version: 2.4.0 cuda-version: cu118 steps: From bfa13ce0f81b586f1c2e875d35133bd6f2e6f24e Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 00:05:29 +0100 Subject: [PATCH 094/170] create 2 pipelines --- ...ish.yml => publish_precompiled_wheels.yml} | 12 ------- .../publish_source_and_no_cuda_wheel.yml | 36 +++++++++++++++++++ 2 files changed, 36 insertions(+), 12 deletions(-) rename .github/workflows/{publish.yml => publish_precompiled_wheels.yml} (95%) create mode 100644 .github/workflows/publish_source_and_no_cuda_wheel.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish_precompiled_wheels.yml similarity index 95% rename from .github/workflows/publish.yml rename to .github/workflows/publish_precompiled_wheels.yml index f99d0aefb..f4da62ce4 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish_precompiled_wheels.yml @@ -155,18 +155,6 @@ jobs: with: path: dist/*.whl - build_sdist: - name: Build source distribution - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Build sdist - run: BUILD_NO_CUDA=1 pipx run build --sdist - - uses: actions/upload-artifact@v3 - with: - path: dist/*.tar.gz - - upload_pypi: name: Upload to PyPi needs: [build_wheels, build_sdist] diff --git a/.github/workflows/publish_source_and_no_cuda_wheel.yml b/.github/workflows/publish_source_and_no_cuda_wheel.yml new file mode 100644 index 000000000..a163fbed1 --- /dev/null +++ b/.github/workflows/publish_source_and_no_cuda_wheel.yml @@ -0,0 +1,36 @@ +# This workflows will upload a Python Package using twine when a release is created +# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries + +name: Upload Python Package + +on: + release: + types: [created] + branches: [main] + +jobs: + deploy: + runs-on: ubuntu-latest + environment: production + + steps: + - uses: actions/checkout@v3 + with: + submodules: 'recursive' + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.7' + - name: Install dependencies + run: | + python -m pip install build twine + - name: Strip unsupported tags in README + run: | + sed -i '//,//d' README.md + - name: Build and publish + env: + PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} + run: | + BUILD_NO_CUDA=1 python -m build + twine upload --username __token__ --password $PYPI_TOKEN dist/* \ No newline at end of file From 15dc7115797966b680cc3e7fee18f2dc35a02680 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 00:07:03 +0100 Subject: [PATCH 095/170] change pipeline names --- .github/workflows/publish_precompiled_wheels.yml | 2 +- .github/workflows/publish_source_and_no_cuda_wheel.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish_precompiled_wheels.yml b/.github/workflows/publish_precompiled_wheels.yml index f4da62ce4..3c509ccd9 100644 --- a/.github/workflows/publish_precompiled_wheels.yml +++ b/.github/workflows/publish_precompiled_wheels.yml @@ -1,7 +1,7 @@ # This workflows will upload a Python Package using twine when a release is created # For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries -name: Upload Python Package +name: Upload Precompiled Wheels on: [push] #on: diff --git a/.github/workflows/publish_source_and_no_cuda_wheel.yml b/.github/workflows/publish_source_and_no_cuda_wheel.yml index a163fbed1..71b3dd839 100644 --- a/.github/workflows/publish_source_and_no_cuda_wheel.yml +++ b/.github/workflows/publish_source_and_no_cuda_wheel.yml @@ -1,7 +1,7 @@ # This workflows will upload a Python Package using twine when a release is created # For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries -name: Upload Python Package +name: Upload Python Source and Uncompiled Package on: release: From e761101ab14b934ba9899e141e9c11056d688da4 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 00:07:41 +0100 Subject: [PATCH 096/170] Update publish_source_and_no_cuda_wheel.yml --- .github/workflows/publish_source_and_no_cuda_wheel.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish_source_and_no_cuda_wheel.yml b/.github/workflows/publish_source_and_no_cuda_wheel.yml index 71b3dd839..9ce51e3af 100644 --- a/.github/workflows/publish_source_and_no_cuda_wheel.yml +++ b/.github/workflows/publish_source_and_no_cuda_wheel.yml @@ -1,7 +1,7 @@ # This workflows will upload a Python Package using twine when a release is created # For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries -name: Upload Python Source and Uncompiled Package +name: Upload Source and Uncompiled Package on: release: From 0dd71b6765a2cf612d155c4708fe1d7cbc34ac7e Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 00:08:20 +0100 Subject: [PATCH 097/170] Update publish_precompiled_wheels.yml --- .github/workflows/publish_precompiled_wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish_precompiled_wheels.yml b/.github/workflows/publish_precompiled_wheels.yml index 3c509ccd9..cf421ae3a 100644 --- a/.github/workflows/publish_precompiled_wheels.yml +++ b/.github/workflows/publish_precompiled_wheels.yml @@ -157,7 +157,7 @@ jobs: upload_pypi: name: Upload to PyPi - needs: [build_wheels, build_sdist] + needs: [build_wheels] runs-on: ubuntu-latest steps: - uses: actions/download-artifact@v2 From 6550b3ebdb519989f3498e3b129c2bfb0ff4c84d Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 00:09:18 +0100 Subject: [PATCH 098/170] Update publish_source_and_no_cuda_wheel.yml --- .github/workflows/publish_source_and_no_cuda_wheel.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish_source_and_no_cuda_wheel.yml b/.github/workflows/publish_source_and_no_cuda_wheel.yml index 9ce51e3af..a163fbed1 100644 --- a/.github/workflows/publish_source_and_no_cuda_wheel.yml +++ b/.github/workflows/publish_source_and_no_cuda_wheel.yml @@ -1,7 +1,7 @@ # This workflows will upload a Python Package using twine when a release is created # For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries -name: Upload Source and Uncompiled Package +name: Upload Python Package on: release: From 8767eac3c64304c2c59c58e235ac9abe5a993d6f Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 00:21:17 +0100 Subject: [PATCH 099/170] trying to upload in github release --- .../workflows/publish_precompiled_wheels.yml | 138 ++++++++++++------ 1 file changed, 94 insertions(+), 44 deletions(-) diff --git a/.github/workflows/publish_precompiled_wheels.yml b/.github/workflows/publish_precompiled_wheels.yml index cf421ae3a..c35d92515 100644 --- a/.github/workflows/publish_precompiled_wheels.yml +++ b/.github/workflows/publish_precompiled_wheels.yml @@ -10,6 +10,27 @@ on: [push] # branches: [main] jobs: + + create_release: + - name: Extract version from version.py + id: extract_version + run: | + VERSION=$(sed -n 's/^__version__ = "\(.*\)"/\1/p' gsplat/version.py) + echo "VERSION=$VERSION" >> $GITHUB_ENV + + - name: Create GitHub Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ env.VERSION }} + release_name: Release ${{ env.VERSION }} + body: | + Release notes for version ${{ env.VERSION }}. + draft: false + prerelease: false + build_wheels: name: Build wheels on ${{ matrix.os }} for python ${{ matrix.python-version }} pytorch ${{ matrix.torch-version }} and cuda ${{ matrix.cuda-version }} runs-on: ${{ matrix.os }} @@ -27,50 +48,50 @@ jobs: torch-version: 2.0.1 cuda-version: cu118 - - os: windows-2019 - python-version: '3.10' - torch-version: 2.1.2 - cuda-version: cu118 - - - os: windows-2019 - python-version: '3.10' - torch-version: 2.2.2 - cuda-version: cu118 - - - os: windows-2019 - python-version: '3.10' - torch-version: 2.3.1 - cuda-version: cu118 - - - os: windows-2019 - python-version: '3.10' - torch-version: 2.4.0 - cuda-version: cu118 - - - os: windows-2019 - python-version: '3.11' - torch-version: 2.0.1 - cuda-version: cu118 - - - os: windows-2019 - python-version: '3.11' - torch-version: 2.1.2 - cuda-version: cu118 - - - os: windows-2019 - python-version: '3.11' - torch-version: 2.2.2 - cuda-version: cu118 - - - os: windows-2019 - python-version: '3.11' - torch-version: 2.3.1 - cuda-version: cu118 - - - os: windows-2019 - python-version: '3.11' - torch-version: 2.4.0 - cuda-version: cu118 + # - os: windows-2019 + # python-version: '3.10' + # torch-version: 2.1.2 + # cuda-version: cu118 + + # - os: windows-2019 + # python-version: '3.10' + # torch-version: 2.2.2 + # cuda-version: cu118 + + # - os: windows-2019 + # python-version: '3.10' + # torch-version: 2.3.1 + # cuda-version: cu118 + + # - os: windows-2019 + # python-version: '3.10' + # torch-version: 2.4.0 + # cuda-version: cu118 + + # - os: windows-2019 + # python-version: '3.11' + # torch-version: 2.0.1 + # cuda-version: cu118 + + # - os: windows-2019 + # python-version: '3.11' + # torch-version: 2.1.2 + # cuda-version: cu118 + + # - os: windows-2019 + # python-version: '3.11' + # torch-version: 2.2.2 + # cuda-version: cu118 + + # - os: windows-2019 + # python-version: '3.11' + # torch-version: 2.3.1 + # cuda-version: cu118 + + # - os: windows-2019 + # python-version: '3.11' + # torch-version: 2.4.0 + # cuda-version: cu118 steps: - uses: actions/checkout@v3 with: @@ -155,6 +176,35 @@ jobs: with: path: dist/*.whl + - name: Get wheel file name + id: get_wheel_name + run: echo "WHEEL_NAME=$(basename dist/*.whl)" >> $GITHUB_ENV + + - name: Upload to GitHub Release + uses: actions/upload-release-asset@v2 + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ./dist/*.whl + asset_name: ${{ env.WHEEL_NAME }} + asset_content_type: application/zip + + create_release: + needs: build + runs-on: ubuntu-latest + steps: + - name: Create GitHub Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ github.ref_name }} + release_name: Release ${{ github.ref_name }} + body: | + Release notes for version ${{ github.ref_name }}. + draft: false + prerelease: false + upload_pypi: name: Upload to PyPi needs: [build_wheels] From a41f885377047bdf7aaf3b855d40688ffc6f02f4 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 00:24:07 +0100 Subject: [PATCH 100/170] Update publish_precompiled_wheels.yml --- .../workflows/publish_precompiled_wheels.yml | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/.github/workflows/publish_precompiled_wheels.yml b/.github/workflows/publish_precompiled_wheels.yml index c35d92515..d38a57d98 100644 --- a/.github/workflows/publish_precompiled_wheels.yml +++ b/.github/workflows/publish_precompiled_wheels.yml @@ -188,23 +188,6 @@ jobs: asset_name: ${{ env.WHEEL_NAME }} asset_content_type: application/zip - create_release: - needs: build - runs-on: ubuntu-latest - steps: - - name: Create GitHub Release - id: create_release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ github.ref_name }} - release_name: Release ${{ github.ref_name }} - body: | - Release notes for version ${{ github.ref_name }}. - draft: false - prerelease: false - upload_pypi: name: Upload to PyPi needs: [build_wheels] From f971f683d9eb58dadb29b341bd766984e5880445 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 00:28:14 +0100 Subject: [PATCH 101/170] Update publish_precompiled_wheels.yml --- .github/workflows/publish_precompiled_wheels.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/publish_precompiled_wheels.yml b/.github/workflows/publish_precompiled_wheels.yml index d38a57d98..dcc86f902 100644 --- a/.github/workflows/publish_precompiled_wheels.yml +++ b/.github/workflows/publish_precompiled_wheels.yml @@ -12,6 +12,11 @@ on: [push] jobs: create_release: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: 'recursive' - name: Extract version from version.py id: extract_version run: | From 0144a333e35378be948e71d1d52f3b98d9545549 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 00:30:28 +0100 Subject: [PATCH 102/170] Update publish_precompiled_wheels.yml --- .github/workflows/publish_precompiled_wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish_precompiled_wheels.yml b/.github/workflows/publish_precompiled_wheels.yml index dcc86f902..b2cdd6e96 100644 --- a/.github/workflows/publish_precompiled_wheels.yml +++ b/.github/workflows/publish_precompiled_wheels.yml @@ -186,7 +186,7 @@ jobs: run: echo "WHEEL_NAME=$(basename dist/*.whl)" >> $GITHUB_ENV - name: Upload to GitHub Release - uses: actions/upload-release-asset@v2 + uses: actions/upload-release-asset@v1 with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./dist/*.whl From 7606924b69dcca9d42e2cadd9114480b2b6bc16f Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 00:32:40 +0100 Subject: [PATCH 103/170] Update publish_precompiled_wheels.yml --- .github/workflows/publish_precompiled_wheels.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/publish_precompiled_wheels.yml b/.github/workflows/publish_precompiled_wheels.yml index b2cdd6e96..3b6610669 100644 --- a/.github/workflows/publish_precompiled_wheels.yml +++ b/.github/workflows/publish_precompiled_wheels.yml @@ -40,6 +40,7 @@ jobs: name: Build wheels on ${{ matrix.os }} for python ${{ matrix.python-version }} pytorch ${{ matrix.torch-version }} and cuda ${{ matrix.cuda-version }} runs-on: ${{ matrix.os }} environment: production + needs: [create_release] strategy: matrix: include: From d8363f8437fb188e3c94a93bd4509449dbd38564 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 00:34:39 +0100 Subject: [PATCH 104/170] test BUILD_NO_CUDA=1 --- .github/workflows/publish_precompiled_wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish_precompiled_wheels.yml b/.github/workflows/publish_precompiled_wheels.yml index 3b6610669..edc4c6b00 100644 --- a/.github/workflows/publish_precompiled_wheels.yml +++ b/.github/workflows/publish_precompiled_wheels.yml @@ -175,7 +175,7 @@ jobs: run: | pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} - python setup.py bdist_wheel --dist-dir=dist + BUILD_NO_CUDA=1 python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell - uses: actions/upload-artifact@v3 From 3f5647706657cce2c8d3988cbc0543e0ec793197 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 00:39:06 +0100 Subject: [PATCH 105/170] test BUILD_NO_CUDA=1 --- .github/workflows/publish_precompiled_wheels.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish_precompiled_wheels.yml b/.github/workflows/publish_precompiled_wheels.yml index edc4c6b00..6e5ca2fde 100644 --- a/.github/workflows/publish_precompiled_wheels.yml +++ b/.github/workflows/publish_precompiled_wheels.yml @@ -49,10 +49,10 @@ jobs: torch-version: 2.0.1 cuda-version: cu117 - - os: windows-2019 - python-version: '3.10' - torch-version: 2.0.1 - cuda-version: cu118 + # - os: windows-2019 + # python-version: '3.10' + # torch-version: 2.0.1 + # cuda-version: cu118 # - os: windows-2019 # python-version: '3.10' From f2d4f2c5dc4008513f501ccae1c40cf1d938515e Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 00:50:28 +0100 Subject: [PATCH 106/170] Update publish_precompiled_wheels.yml --- .github/workflows/publish_precompiled_wheels.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish_precompiled_wheels.yml b/.github/workflows/publish_precompiled_wheels.yml index 6e5ca2fde..1859b36d7 100644 --- a/.github/workflows/publish_precompiled_wheels.yml +++ b/.github/workflows/publish_precompiled_wheels.yml @@ -99,6 +99,11 @@ jobs: # torch-version: 2.4.0 # cuda-version: cu118 steps: + + - name: Print release urk + run: | + echo ${{ create_release.create_release.outputs.upload_url }} + - uses: actions/checkout@v3 with: submodules: 'recursive' @@ -175,7 +180,7 @@ jobs: run: | pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} - BUILD_NO_CUDA=1 python setup.py bdist_wheel --dist-dir=dist + python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell - uses: actions/upload-artifact@v3 @@ -189,7 +194,7 @@ jobs: - name: Upload to GitHub Release uses: actions/upload-release-asset@v1 with: - upload_url: ${{ steps.create_release.outputs.upload_url }} + upload_url: ${{ create_release.create_release.outputs.upload_url }} asset_path: ./dist/*.whl asset_name: ${{ env.WHEEL_NAME }} asset_content_type: application/zip From e90e3ff32d923e00b6cdc7a90f46987625b86b8d Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 00:54:42 +0100 Subject: [PATCH 107/170] Update publish_precompiled_wheels.yml --- .github/workflows/publish_precompiled_wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish_precompiled_wheels.yml b/.github/workflows/publish_precompiled_wheels.yml index 1859b36d7..4ceda7a7f 100644 --- a/.github/workflows/publish_precompiled_wheels.yml +++ b/.github/workflows/publish_precompiled_wheels.yml @@ -40,7 +40,7 @@ jobs: name: Build wheels on ${{ matrix.os }} for python ${{ matrix.python-version }} pytorch ${{ matrix.torch-version }} and cuda ${{ matrix.cuda-version }} runs-on: ${{ matrix.os }} environment: production - needs: [create_release] + needs: create_release strategy: matrix: include: @@ -102,7 +102,7 @@ jobs: - name: Print release urk run: | - echo ${{ create_release.create_release.outputs.upload_url }} + echo ${{ needs.create_release.outputs.upload_url }} - uses: actions/checkout@v3 with: From 6c6b0177285019d63e3ce3032b43503cb1d50c75 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 00:56:06 +0100 Subject: [PATCH 108/170] Update publish_precompiled_wheels.yml --- .github/workflows/publish_precompiled_wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish_precompiled_wheels.yml b/.github/workflows/publish_precompiled_wheels.yml index 4ceda7a7f..83d75f667 100644 --- a/.github/workflows/publish_precompiled_wheels.yml +++ b/.github/workflows/publish_precompiled_wheels.yml @@ -100,7 +100,7 @@ jobs: # cuda-version: cu118 steps: - - name: Print release urk + - name: Print release url run: | echo ${{ needs.create_release.outputs.upload_url }} @@ -194,7 +194,7 @@ jobs: - name: Upload to GitHub Release uses: actions/upload-release-asset@v1 with: - upload_url: ${{ create_release.create_release.outputs.upload_url }} + upload_url: ${{ needs.create_release.outputs.upload_url }} asset_path: ./dist/*.whl asset_name: ${{ env.WHEEL_NAME }} asset_content_type: application/zip From 82b4a5574321307359bb125049bae209bc65350f Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 01:03:53 +0100 Subject: [PATCH 109/170] Update publish_precompiled_wheels.yml --- .github/workflows/publish_precompiled_wheels.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/publish_precompiled_wheels.yml b/.github/workflows/publish_precompiled_wheels.yml index 83d75f667..52a21ef70 100644 --- a/.github/workflows/publish_precompiled_wheels.yml +++ b/.github/workflows/publish_precompiled_wheels.yml @@ -36,6 +36,10 @@ jobs: draft: false prerelease: false + # Expose step outputs as job outputs + outputs: + upload_url: ${{ steps.create_release.outputs.upload_url }} + build_wheels: name: Build wheels on ${{ matrix.os }} for python ${{ matrix.python-version }} pytorch ${{ matrix.torch-version }} and cuda ${{ matrix.cuda-version }} runs-on: ${{ matrix.os }} From 5b19930070432e072deebcb56a2bd296616c8e6e Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 01:16:13 +0100 Subject: [PATCH 110/170] trying to uploade the wheels to release --- .../workflows/publish_precompiled_wheels.yml | 86 ++++++++++--------- 1 file changed, 45 insertions(+), 41 deletions(-) diff --git a/.github/workflows/publish_precompiled_wheels.yml b/.github/workflows/publish_precompiled_wheels.yml index 52a21ef70..88f3468a1 100644 --- a/.github/workflows/publish_precompiled_wheels.yml +++ b/.github/workflows/publish_precompiled_wheels.yml @@ -11,40 +11,12 @@ on: [push] jobs: - create_release: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - with: - submodules: 'recursive' - - name: Extract version from version.py - id: extract_version - run: | - VERSION=$(sed -n 's/^__version__ = "\(.*\)"/\1/p' gsplat/version.py) - echo "VERSION=$VERSION" >> $GITHUB_ENV - - - name: Create GitHub Release - id: create_release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ env.VERSION }} - release_name: Release ${{ env.VERSION }} - body: | - Release notes for version ${{ env.VERSION }}. - draft: false - prerelease: false - # Expose step outputs as job outputs - outputs: - upload_url: ${{ steps.create_release.outputs.upload_url }} build_wheels: name: Build wheels on ${{ matrix.os }} for python ${{ matrix.python-version }} pytorch ${{ matrix.torch-version }} and cuda ${{ matrix.cuda-version }} runs-on: ${{ matrix.os }} environment: production - needs: create_release strategy: matrix: include: @@ -104,9 +76,6 @@ jobs: # cuda-version: cu118 steps: - - name: Print release url - run: | - echo ${{ needs.create_release.outputs.upload_url }} - uses: actions/checkout@v3 with: @@ -191,17 +160,52 @@ jobs: with: path: dist/*.whl - - name: Get wheel file name - id: get_wheel_name - run: echo "WHEEL_NAME=$(basename dist/*.whl)" >> $GITHUB_ENV - - name: Upload to GitHub Release - uses: actions/upload-release-asset@v1 - with: - upload_url: ${{ needs.create_release.outputs.upload_url }} - asset_path: ./dist/*.whl - asset_name: ${{ env.WHEEL_NAME }} - asset_content_type: application/zip + + + + create_release_and_upload_wheels: + needs: build_wheels + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Extract version from version.py + id: extract_version + run: | + VERSION=$(sed -n 's/^__version__ = "\(.*\)"/\1/p' gsplat/version.py) + echo "VERSION=$VERSION" >> $GITHUB_ENV + + - name: Create GitHub Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ env.VERSION }} + release_name: Release ${{ env.VERSION }} + body: | + Release notes for version ${{ env.VERSION }}. + draft: false + prerelease: false + + - name: Download wheels + id: download_artifacts + uses: actions/download-artifact@v3 + with: + name: wheels + + - name: Upload wheels to GitHub Release + id: upload_assets + run: | + for wheel in $(ls ./wheels/*.whl); do + curl -X POST \ + -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ + -H "Content-Type: application/zip" \ + --data-binary @"$wheel" \ + "${{ steps.create_release.outputs.upload_url }}?name=$(basename $wheel)" + done upload_pypi: name: Upload to PyPi From da9540e7c24f183ae01b257b485f7e345ef1b4be Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 01:19:41 +0100 Subject: [PATCH 111/170] Update publish_precompiled_wheels.yml --- .github/workflows/publish_precompiled_wheels.yml | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/.github/workflows/publish_precompiled_wheels.yml b/.github/workflows/publish_precompiled_wheels.yml index 88f3468a1..f50327317 100644 --- a/.github/workflows/publish_precompiled_wheels.yml +++ b/.github/workflows/publish_precompiled_wheels.yml @@ -108,10 +108,10 @@ jobs: - name: Display torch_version variable run: echo "The value of torch_version is $torch_version" - - name: Install CUDA ${{ matrix.cuda-version }} - if: ${{ matrix.cuda-version != 'cpu' }} - run: | - bash .github/workflows/cuda/${{ runner.os }}.sh ${{ matrix.cuda-version }} + # - name: Install CUDA ${{ matrix.cuda-version }} + # if: ${{ matrix.cuda-version != 'cpu' }} + # run: | + # bash .github/workflows/cuda/${{ runner.os }}.sh ${{ matrix.cuda-version }} - name: Install PyTorch run: | @@ -153,17 +153,13 @@ jobs: run: | pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} - python setup.py bdist_wheel --dist-dir=dist + BUILD_NO_CUDA=1 python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell - uses: actions/upload-artifact@v3 with: path: dist/*.whl - - - - create_release_and_upload_wheels: needs: build_wheels runs-on: ubuntu-latest From 624ff43ea63d4f549a21f72391f7ec4089c85734 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 01:25:54 +0100 Subject: [PATCH 112/170] Update publish_precompiled_wheels.yml --- .github/workflows/publish_precompiled_wheels.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish_precompiled_wheels.yml b/.github/workflows/publish_precompiled_wheels.yml index f50327317..5dc5ce50a 100644 --- a/.github/workflows/publish_precompiled_wheels.yml +++ b/.github/workflows/publish_precompiled_wheels.yml @@ -147,9 +147,6 @@ jobs: sed -i '//,//d' README.md - name: Build wheel - # architectures 8.7 and higher do not seem to be support by the chsoen version of pytorch. - # architectures 5.x give compilation errors "no suitable conversion function from "__half" to "int" exists" - # architectures 6.x give compilation errors "namespace "cooperative_groups" has no member "labeled_partition"" run: | pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} @@ -158,9 +155,11 @@ jobs: - uses: actions/upload-artifact@v3 with: + name: wheels path: dist/*.whl create_release_and_upload_wheels: + name: Uplodad to Github Release needs: build_wheels runs-on: ubuntu-latest steps: From 99830d8f89352115cbfe10bae75463e9e22d6afa Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 01:26:13 +0100 Subject: [PATCH 113/170] Update publish_precompiled_wheels.yml --- .github/workflows/publish_precompiled_wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish_precompiled_wheels.yml b/.github/workflows/publish_precompiled_wheels.yml index 5dc5ce50a..49b307413 100644 --- a/.github/workflows/publish_precompiled_wheels.yml +++ b/.github/workflows/publish_precompiled_wheels.yml @@ -209,7 +209,7 @@ jobs: steps: - uses: actions/download-artifact@v2 with: - name: artifact + name: wheels path: dist - name: Publish package to Test PyPI From db93c4b98072760f6f48025ea26b46b64ff9aae6 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 01:28:50 +0100 Subject: [PATCH 114/170] Update publish_precompiled_wheels.yml --- .github/workflows/publish_precompiled_wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish_precompiled_wheels.yml b/.github/workflows/publish_precompiled_wheels.yml index 49b307413..52ad2a29b 100644 --- a/.github/workflows/publish_precompiled_wheels.yml +++ b/.github/workflows/publish_precompiled_wheels.yml @@ -137,8 +137,8 @@ jobs: VERSION=`sed -n 's/^__version__ = "\(.*\)"/\1/p' gsplat/version.py` TORCH_VERSION=`echo "pt${{ matrix.torch-version }}" | sed "s/..$//" | sed "s/\.//g"` CUDA_VERSION=`echo ${{ matrix.cuda-version }}` - echo "New version name: $VERSION+$TORCH_VERSION$CUDA_VERSION" - sed -i "s/$VERSION/$VERSION+$CUDA_VERSION/" gsplat/version.py + echo "New version name: $VERSION+$TORCH_VERSION+$CUDA_VERSION" + sed -i "s/$VERSION/$VERSION+$TORCH_VERSION+$CUDA_VERSION/" gsplat/version.py shell: bash From eaa9b5c36941ff6d7df44e81f4bde9e616b05f3b Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 01:35:15 +0100 Subject: [PATCH 115/170] Update publish_precompiled_wheels.yml --- .github/workflows/publish_precompiled_wheels.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish_precompiled_wheels.yml b/.github/workflows/publish_precompiled_wheels.yml index 52ad2a29b..818b481f0 100644 --- a/.github/workflows/publish_precompiled_wheels.yml +++ b/.github/workflows/publish_precompiled_wheels.yml @@ -190,11 +190,12 @@ jobs: uses: actions/download-artifact@v3 with: name: wheels + path: dist - name: Upload wheels to GitHub Release id: upload_assets run: | - for wheel in $(ls ./wheels/*.whl); do + for wheel in $(ls ./dist/*.whl); do curl -X POST \ -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ -H "Content-Type: application/zip" \ From 744a6bbeb362b61346d2af0405ae5c8de268f555 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 01:42:00 +0100 Subject: [PATCH 116/170] Update publish_precompiled_wheels.yml --- .github/workflows/publish_precompiled_wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish_precompiled_wheels.yml b/.github/workflows/publish_precompiled_wheels.yml index 818b481f0..2a5ab2485 100644 --- a/.github/workflows/publish_precompiled_wheels.yml +++ b/.github/workflows/publish_precompiled_wheels.yml @@ -137,8 +137,8 @@ jobs: VERSION=`sed -n 's/^__version__ = "\(.*\)"/\1/p' gsplat/version.py` TORCH_VERSION=`echo "pt${{ matrix.torch-version }}" | sed "s/..$//" | sed "s/\.//g"` CUDA_VERSION=`echo ${{ matrix.cuda-version }}` - echo "New version name: $VERSION+$TORCH_VERSION+$CUDA_VERSION" - sed -i "s/$VERSION/$VERSION+$TORCH_VERSION+$CUDA_VERSION/" gsplat/version.py + echo "New version name: $VERSION+$TORCH_VERSION$CUDA_VERSION" + sed -i "s/$VERSION/$VERSION+$TORCH_VERSION$CUDA_VERSION/" gsplat/version.py shell: bash From 3effb4836d359c35d71d7dc02dee5e3b7574c09c Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 08:47:44 +0100 Subject: [PATCH 117/170] Update publish_precompiled_wheels.yml --- .github/workflows/publish_precompiled_wheels.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish_precompiled_wheels.yml b/.github/workflows/publish_precompiled_wheels.yml index 2a5ab2485..2761fc04f 100644 --- a/.github/workflows/publish_precompiled_wheels.yml +++ b/.github/workflows/publish_precompiled_wheels.yml @@ -196,11 +196,12 @@ jobs: id: upload_assets run: | for wheel in $(ls ./dist/*.whl); do + echo "Uploading $wheel..." curl -X POST \ -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ -H "Content-Type: application/zip" \ --data-binary @"$wheel" \ - "${{ steps.create_release.outputs.upload_url }}?name=$(basename $wheel)" + "${{ steps.create_release.outputs.upload_url }}=$(basename $wheel)" done upload_pypi: From 6b6f367603da6bd10d96bd12d39bb212641b4629 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 09:03:13 +0100 Subject: [PATCH 118/170] back to single file --- ...ish_precompiled_wheels.yml => publish.yml} | 23 +++++++++--- .../publish_source_and_no_cuda_wheel.yml | 36 ------------------- 2 files changed, 18 insertions(+), 41 deletions(-) rename .github/workflows/{publish_precompiled_wheels.yml => publish.yml} (93%) delete mode 100644 .github/workflows/publish_source_and_no_cuda_wheel.yml diff --git a/.github/workflows/publish_precompiled_wheels.yml b/.github/workflows/publish.yml similarity index 93% rename from .github/workflows/publish_precompiled_wheels.yml rename to .github/workflows/publish.yml index 2761fc04f..5f3196609 100644 --- a/.github/workflows/publish_precompiled_wheels.yml +++ b/.github/workflows/publish.yml @@ -1,7 +1,7 @@ # This workflows will upload a Python Package using twine when a release is created # For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries -name: Upload Precompiled Wheels +name: Build and Release Wheels on: [push] #on: @@ -158,6 +158,19 @@ jobs: name: wheels path: dist/*.whl + + build_sdist: + name: Build source distribution + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Build sdist + run: BUILD_NO_CUDA=1 pipx run build --sdist + - uses: actions/upload-artifact@v3 + with: + path: dist/*.tar.gz + + create_release_and_upload_wheels: name: Uplodad to Github Release needs: build_wheels @@ -195,13 +208,13 @@ jobs: - name: Upload wheels to GitHub Release id: upload_assets run: | - for wheel in $(ls ./dist/*.whl); do - echo "Uploading $wheel..." + for file in $(ls ./dist/*.*); do + echo "Uploading $file..." curl -X POST \ -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ -H "Content-Type: application/zip" \ - --data-binary @"$wheel" \ - "${{ steps.create_release.outputs.upload_url }}=$(basename $wheel)" + --data-binary @"$file" \ + "${{ steps.create_release.outputs.upload_url }}=$(basename $file)" done upload_pypi: diff --git a/.github/workflows/publish_source_and_no_cuda_wheel.yml b/.github/workflows/publish_source_and_no_cuda_wheel.yml deleted file mode 100644 index a163fbed1..000000000 --- a/.github/workflows/publish_source_and_no_cuda_wheel.yml +++ /dev/null @@ -1,36 +0,0 @@ -# This workflows will upload a Python Package using twine when a release is created -# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries - -name: Upload Python Package - -on: - release: - types: [created] - branches: [main] - -jobs: - deploy: - runs-on: ubuntu-latest - environment: production - - steps: - - uses: actions/checkout@v3 - with: - submodules: 'recursive' - - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: '3.7' - - name: Install dependencies - run: | - python -m pip install build twine - - name: Strip unsupported tags in README - run: | - sed -i '//,//d' README.md - - name: Build and publish - env: - PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} - run: | - BUILD_NO_CUDA=1 python -m build - twine upload --username __token__ --password $PYPI_TOKEN dist/* \ No newline at end of file From fbecdb5f69c8eb22267d60a294f7aa0c1271fe97 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 09:18:22 +0100 Subject: [PATCH 119/170] Update publish.yml --- .github/workflows/publish.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 5f3196609..09f365b7e 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -155,7 +155,7 @@ jobs: - uses: actions/upload-artifact@v3 with: - name: wheels + name: packages path: dist/*.whl @@ -168,12 +168,13 @@ jobs: run: BUILD_NO_CUDA=1 pipx run build --sdist - uses: actions/upload-artifact@v3 with: + name: packages path: dist/*.tar.gz - create_release_and_upload_wheels: + create_release_and_upload_packages: name: Uplodad to Github Release - needs: build_wheels + needs: [build_sdist,build_wheels] runs-on: ubuntu-latest steps: - name: Checkout code @@ -198,14 +199,14 @@ jobs: draft: false prerelease: false - - name: Download wheels + - name: Download packages id: download_artifacts uses: actions/download-artifact@v3 with: - name: wheels + name: packages path: dist - - name: Upload wheels to GitHub Release + - name: Upload packages to GitHub Release id: upload_assets run: | for file in $(ls ./dist/*.*); do @@ -224,7 +225,7 @@ jobs: steps: - uses: actions/download-artifact@v2 with: - name: wheels + name: packages path: dist - name: Publish package to Test PyPI From 3c39fa6314366122cba2cd4099991b1dac893027 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 09:23:24 +0100 Subject: [PATCH 120/170] Update publish.yml --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 09f365b7e..52571442d 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -220,7 +220,7 @@ jobs: upload_pypi: name: Upload to PyPi - needs: [build_wheels] + needs: [build_sdist,build_wheels] runs-on: ubuntu-latest steps: - uses: actions/download-artifact@v2 From c9f87cfbd84401e461c75eedd75cdd70a617e059 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 09:30:59 +0100 Subject: [PATCH 121/170] Create wheels_index.html --- github_page/wheels_index.html | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 github_page/wheels_index.html diff --git a/github_page/wheels_index.html b/github_page/wheels_index.html new file mode 100644 index 000000000..f84692079 --- /dev/null +++ b/github_page/wheels_index.html @@ -0,0 +1,6 @@ + + Simple Index + + gsplat-1.2.0.pt20cu117-py3-none-any.whl
+ + \ No newline at end of file From dcd320481c707df99acee18ad3ec6422e0d4cd9c Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 09:32:16 +0100 Subject: [PATCH 122/170] Update wheels_index.html --- github_page/wheels_index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/github_page/wheels_index.html b/github_page/wheels_index.html index f84692079..c78e2e1db 100644 --- a/github_page/wheels_index.html +++ b/github_page/wheels_index.html @@ -1,5 +1,5 @@ - Simple Index + Simple Index fot Gsplat gsplat-1.2.0.pt20cu117-py3-none-any.whl
From 67d5b973a528683a13403ab8761408934f6be9fa Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 09:52:20 +0100 Subject: [PATCH 123/170] deal with + --- .github/workflows/publish.yml | 4 +++- github_page/wheels_index.html | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 52571442d..790b6014a 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -211,11 +211,13 @@ jobs: run: | for file in $(ls ./dist/*.*); do echo "Uploading $file..." + filename=$(basename "$file") + encoded_filename=$(echo "$filename" | sed 's/+/%%2B/g') curl -X POST \ -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ -H "Content-Type: application/zip" \ --data-binary @"$file" \ - "${{ steps.create_release.outputs.upload_url }}=$(basename $file)" + "${{ steps.create_release.outputs.upload_url }}=$encoded_filename" done upload_pypi: diff --git a/github_page/wheels_index.html b/github_page/wheels_index.html index c78e2e1db..0b98dd4a1 100644 --- a/github_page/wheels_index.html +++ b/github_page/wheels_index.html @@ -1,6 +1,6 @@ Simple Index fot Gsplat - gsplat-1.2.0.pt20cu117-py3-none-any.whl
+ gsplat-1.2.0+pt20cu117-py3-none-any.whl
\ No newline at end of file From dcb1c0acfc361c81de1a616b6ac52c55460d16e8 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 10:01:04 +0100 Subject: [PATCH 124/170] Update publish.yml --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 790b6014a..17e990ea3 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -212,7 +212,7 @@ jobs: for file in $(ls ./dist/*.*); do echo "Uploading $file..." filename=$(basename "$file") - encoded_filename=$(echo "$filename" | sed 's/+/%%2B/g') + encoded_filename=$(echo "$filename" | sed 's/+/%2B/g') curl -X POST \ -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ -H "Content-Type: application/zip" \ From d798e409dcdf5f1a580bb474412a07ef948d5d65 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 10:09:26 +0100 Subject: [PATCH 125/170] Update publish.yml --- .github/workflows/publish.yml | 105 ++++++++++++++++------------------ 1 file changed, 50 insertions(+), 55 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 17e990ea3..613261434 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -25,55 +25,55 @@ jobs: torch-version: 2.0.1 cuda-version: cu117 - # - os: windows-2019 - # python-version: '3.10' - # torch-version: 2.0.1 - # cuda-version: cu118 - - # - os: windows-2019 - # python-version: '3.10' - # torch-version: 2.1.2 - # cuda-version: cu118 - - # - os: windows-2019 - # python-version: '3.10' - # torch-version: 2.2.2 - # cuda-version: cu118 - - # - os: windows-2019 - # python-version: '3.10' - # torch-version: 2.3.1 - # cuda-version: cu118 - - # - os: windows-2019 - # python-version: '3.10' - # torch-version: 2.4.0 - # cuda-version: cu118 - - # - os: windows-2019 - # python-version: '3.11' - # torch-version: 2.0.1 - # cuda-version: cu118 - - # - os: windows-2019 - # python-version: '3.11' - # torch-version: 2.1.2 - # cuda-version: cu118 - - # - os: windows-2019 - # python-version: '3.11' - # torch-version: 2.2.2 - # cuda-version: cu118 - - # - os: windows-2019 - # python-version: '3.11' - # torch-version: 2.3.1 - # cuda-version: cu118 - - # - os: windows-2019 - # python-version: '3.11' - # torch-version: 2.4.0 - # cuda-version: cu118 + - os: windows-2019 + python-version: '3.10' + torch-version: 2.0.1 + cuda-version: cu118 + + - os: windows-2019 + python-version: '3.10' + torch-version: 2.1.2 + cuda-version: cu118 + + - os: windows-2019 + python-version: '3.10' + torch-version: 2.2.2 + cuda-version: cu118 + + - os: windows-2019 + python-version: '3.10' + torch-version: 2.3.1 + cuda-version: cu118 + + - os: windows-2019 + python-version: '3.10' + torch-version: 2.4.0 + cuda-version: cu118 + + - os: windows-2019 + python-version: '3.11' + torch-version: 2.0.1 + cuda-version: cu118 + + - os: windows-2019 + python-version: '3.11' + torch-version: 2.1.2 + cuda-version: cu118 + + - os: windows-2019 + python-version: '3.11' + torch-version: 2.2.2 + cuda-version: cu118 + + - os: windows-2019 + python-version: '3.11' + torch-version: 2.3.1 + cuda-version: cu118 + + - os: windows-2019 + python-version: '3.11' + torch-version: 2.4.0 + cuda-version: cu118 steps: @@ -107,11 +107,6 @@ jobs: - name: Display torch_version variable run: echo "The value of torch_version is $torch_version" - - # - name: Install CUDA ${{ matrix.cuda-version }} - # if: ${{ matrix.cuda-version != 'cpu' }} - # run: | - # bash .github/workflows/cuda/${{ runner.os }}.sh ${{ matrix.cuda-version }} - name: Install PyTorch run: | @@ -150,7 +145,7 @@ jobs: run: | pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} - BUILD_NO_CUDA=1 python setup.py bdist_wheel --dist-dir=dist + python setup.py bdist_wheel --dist-dir=dist shell: bash # `source` does not exist in windows powershell - uses: actions/upload-artifact@v3 From ee6a0e6863847c2293359b3e8cbffcbcbc4aba90 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Fri, 23 Aug 2024 10:39:06 +0100 Subject: [PATCH 126/170] Update publish.yml --- .github/workflows/publish.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 613261434..8dd0eb7e3 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -105,8 +105,10 @@ jobs: pip install --upgrade setuptools pip install ninja - - name: Display torch_version variable - run: echo "The value of torch_version is $torch_version" + - name: Install CUDA ${{ matrix.cuda-version }} + if: ${{ matrix.cuda-version != 'cpu' }} + run: | + bash .github/workflows/cuda/${{ runner.os }}.sh ${{ matrix.cuda-version }} - name: Install PyTorch run: | From d08da8b64b83e4a620f31e5aadd6de425d177982 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Fri, 23 Aug 2024 14:49:11 +0100 Subject: [PATCH 127/170] adding links to packages --- github_page/wheels_index.html | 6 ------ packages.html | 17 +++++++++++++++++ 2 files changed, 17 insertions(+), 6 deletions(-) delete mode 100644 github_page/wheels_index.html create mode 100644 packages.html diff --git a/github_page/wheels_index.html b/github_page/wheels_index.html deleted file mode 100644 index 0b98dd4a1..000000000 --- a/github_page/wheels_index.html +++ /dev/null @@ -1,6 +0,0 @@ - - Simple Index fot Gsplat - - gsplat-1.2.0+pt20cu117-py3-none-any.whl
- - \ No newline at end of file diff --git a/packages.html b/packages.html new file mode 100644 index 000000000..862440e9a --- /dev/null +++ b/packages.html @@ -0,0 +1,17 @@ + + Simple Packages Index for the gsplat library + + gsplat-1.2.0+pt20cu117-cp310-cp310-win_amd64.whl
+ gsplat-1.2.0+pt20cu118-cp310-cp310-win_amd64.whl
+ gsplat-1.2.0+pt20cu118-cp311-cp311-win_amd64.whl
+ gsplat-1.2.0+pt21cu118-cp310-cp310-win_amd64.whl
+ gsplat-1.2.0+pt21cu118-cp311-cp311-win_amd64.whl
+ gsplat-1.2.0+pt22cu118-cp310-cp310-win_amd64.whl
+ gsplat-1.2.0+pt22cu118-cp311-cp311-win_amd64.whl
+ gsplat-1.2.0+pt23cu118-cp310-cp310-win_amd64.whl
+ gsplat-1.2.0+pt23cu118-cp311-cp311-win_amd64.whl
+ gsplat-1.2.0+pt24cu118-cp310-cp310-win_amd64.whl
+ gsplat-1.2.0+pt24cu118-cp311-cp311-win_amd64.whl
+ gsplat-1.2.0.tar.gz
+ + \ No newline at end of file From b6ef9831d906e8f2c079e6c486c084217b3ea225 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Fri, 23 Aug 2024 14:57:28 +0100 Subject: [PATCH 128/170] document installation using a precompiled wheel --- docs/INSTALL_WIN.md | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/docs/INSTALL_WIN.md b/docs/INSTALL_WIN.md index a79366dd0..288bdbdb4 100644 --- a/docs/INSTALL_WIN.md +++ b/docs/INSTALL_WIN.md @@ -37,21 +37,30 @@ Follow these steps to install `gsplat` on Windows. ./vcvarsall.bat x64 -vcvars_ver=14.29 ``` -## Clone the Repository +## Instsall using a clone of the Repository -5. Clone the `gsplat` repository: +1. Clone the `gsplat` repository: ```bash git clone --recursive https://github.com/nerfstudio-project/gsplat.git ``` -6. Change into the `gsplat` directory: +2. Change into the `gsplat` directory: ```bash cd gsplat ``` -## Install `gsplat` - -7. Install `gsplat` using pip: +3. Install `gsplat` using pip: ```bash pip install . ``` + +The installed package does not come with precompiled binaries and the cuda code get compiled on the fly and the build file cached at the forst inport of gsplat. + +## Install using a precompiled wheels + +You can install wheels with precompiled binaries using packages listed here `https://martinresearch.github.io/gsplat/packages.html` +You can for axmaple install the wheel with precompiled binaries for pytorch 2.0 and cuda 11.8 using + +``` +pip install gsplat==1.2.0+pt20cu118 --extra-index-url=https://martinresearch.github.io/gsplat/packages.html +``` From 31eebcba01fd8059c4d728de52a94926acccde07 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Fri, 23 Aug 2024 15:10:26 +0100 Subject: [PATCH 129/170] Update packages.html --- packages.html | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/packages.html b/packages.html index 862440e9a..3df19ae51 100644 --- a/packages.html +++ b/packages.html @@ -1,17 +1,24 @@ - - Simple Packages Index for the gsplat library + + + + + + Python Wheels Index + - gsplat-1.2.0+pt20cu117-cp310-cp310-win_amd64.whl
- gsplat-1.2.0+pt20cu118-cp310-cp310-win_amd64.whl
- gsplat-1.2.0+pt20cu118-cp311-cp311-win_amd64.whl
- gsplat-1.2.0+pt21cu118-cp310-cp310-win_amd64.whl
- gsplat-1.2.0+pt21cu118-cp311-cp311-win_amd64.whl
- gsplat-1.2.0+pt22cu118-cp310-cp310-win_amd64.whl
- gsplat-1.2.0+pt22cu118-cp311-cp311-win_amd64.whl
- gsplat-1.2.0+pt23cu118-cp310-cp310-win_amd64.whl
- gsplat-1.2.0+pt23cu118-cp311-cp311-win_amd64.whl
- gsplat-1.2.0+pt24cu118-cp310-cp310-win_amd64.whl
- gsplat-1.2.0+pt24cu118-cp311-cp311-win_amd64.whl
- gsplat-1.2.0.tar.gz
+

Available Gsplat Python Wheels

+ + gsplat-1.2.0+pt20cu117-cp310-cp310-win_amd64.whl
+ gsplat-1.2.0+pt20cu118-cp310-cp310-win_amd64.whl
+ gsplat-1.2.0+pt20cu118-cp311-cp311-win_amd64.whl
+ gsplat-1.2.0+pt21cu118-cp310-cp310-win_amd64.whl
+ gsplat-1.2.0+pt21cu118-cp311-cp311-win_amd64.whl
+ gsplat-1.2.0+pt22cu118-cp310-cp310-win_amd64.whl
+ gsplat-1.2.0+pt22cu118-cp311-cp311-win_amd64.whl
+ gsplat-1.2.0+pt23cu118-cp310-cp310-win_amd64.whl
+ gsplat-1.2.0+pt23cu118-cp311-cp311-win_amd64.whl
+ gsplat-1.2.0+pt24cu118-cp310-cp310-win_amd64.whl
+ gsplat-1.2.0+pt24cu118-cp311-cp311-win_amd64.whl
+ gsplat-1.2.0.tar.gz
\ No newline at end of file From c1bbced6fb7f69430209ba2f9d4f08ffe5171663 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Fri, 23 Aug 2024 15:15:38 +0100 Subject: [PATCH 130/170] Create wheels_index.html --- github_page/wheels_index.html | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 github_page/wheels_index.html diff --git a/github_page/wheels_index.html b/github_page/wheels_index.html new file mode 100644 index 000000000..cba87d89f --- /dev/null +++ b/github_page/wheels_index.html @@ -0,0 +1,7 @@ + + + Simple Index fot Gsplat + + gsplat-1.2.0+pt20cu117-py3-none-any.whl
+ + \ No newline at end of file From a20ba9e3853c9b02f1b548be1e59525314868ab7 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Fri, 23 Aug 2024 15:38:35 +0100 Subject: [PATCH 131/170] Update wheels_index.html --- github_page/wheels_index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/github_page/wheels_index.html b/github_page/wheels_index.html index cba87d89f..8012ae308 100644 --- a/github_page/wheels_index.html +++ b/github_page/wheels_index.html @@ -2,6 +2,6 @@ Simple Index fot Gsplat - gsplat-1.2.0+pt20cu117-py3-none-any.whl
+ gsplat-1.2.0+pt20cu117-cp310-cp310-win_amd64.whl
\ No newline at end of file From 508f5581803e4789151906eab97cd24c4838d2a3 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Fri, 23 Aug 2024 15:43:10 +0100 Subject: [PATCH 132/170] trying using %2B in urls --- github_page/wheels_index.html | 2 +- packages.html | 22 +++++++++++----------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/github_page/wheels_index.html b/github_page/wheels_index.html index 8012ae308..ee7fa4abb 100644 --- a/github_page/wheels_index.html +++ b/github_page/wheels_index.html @@ -2,6 +2,6 @@ Simple Index fot Gsplat - gsplat-1.2.0+pt20cu117-cp310-cp310-win_amd64.whl
+ gsplat-1.2.0+pt20cu117-cp310-cp310-win_amd64.whl
\ No newline at end of file diff --git a/packages.html b/packages.html index 3df19ae51..6fb80b85e 100644 --- a/packages.html +++ b/packages.html @@ -8,17 +8,17 @@

Available Gsplat Python Wheels

- gsplat-1.2.0+pt20cu117-cp310-cp310-win_amd64.whl
- gsplat-1.2.0+pt20cu118-cp310-cp310-win_amd64.whl
- gsplat-1.2.0+pt20cu118-cp311-cp311-win_amd64.whl
- gsplat-1.2.0+pt21cu118-cp310-cp310-win_amd64.whl
- gsplat-1.2.0+pt21cu118-cp311-cp311-win_amd64.whl
- gsplat-1.2.0+pt22cu118-cp310-cp310-win_amd64.whl
- gsplat-1.2.0+pt22cu118-cp311-cp311-win_amd64.whl
- gsplat-1.2.0+pt23cu118-cp310-cp310-win_amd64.whl
- gsplat-1.2.0+pt23cu118-cp311-cp311-win_amd64.whl
- gsplat-1.2.0+pt24cu118-cp310-cp310-win_amd64.whl
- gsplat-1.2.0+pt24cu118-cp311-cp311-win_amd64.whl
+ gsplat-1.2.0+pt20cu117-cp310-cp310-win_amd64.whl
+ gsplat-1.2.0+pt20cu118-cp310-cp310-win_amd64.whl
+ gsplat-1.2.0+pt20cu118-cp311-cp311-win_amd64.whl
+ gsplat-1.2.0+pt21cu118-cp310-cp310-win_amd64.whl
+ gsplat-1.2.0+pt21cu118-cp311-cp311-win_amd64.whl
+ gsplat-1.2.0+pt22cu118-cp310-cp310-win_amd64.whl
+ gsplat-1.2.0+pt22cu118-cp311-cp311-win_amd64.whl
+ gsplat-1.2.0+pt23cu118-cp310-cp310-win_amd64.whl
+ gsplat-1.2.0+pt23cu118-cp311-cp311-win_amd64.whl
+ gsplat-1.2.0+pt24cu118-cp310-cp310-win_amd64.whl
+ gsplat-1.2.0+pt24cu118-cp311-cp311-win_amd64.whl
gsplat-1.2.0.tar.gz
\ No newline at end of file From a5dd7538d5c1a7ee073a3d1a892c34e1a64e6413 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Fri, 23 Aug 2024 15:49:26 +0100 Subject: [PATCH 133/170] moving index --- packages.html => whl/gsplat/index.html | 0 {github_page => whl}/wheels_index.html | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename packages.html => whl/gsplat/index.html (100%) rename {github_page => whl}/wheels_index.html (100%) diff --git a/packages.html b/whl/gsplat/index.html similarity index 100% rename from packages.html rename to whl/gsplat/index.html diff --git a/github_page/wheels_index.html b/whl/wheels_index.html similarity index 100% rename from github_page/wheels_index.html rename to whl/wheels_index.html From 3d9196eba5f282cf577ec1f65992c411dd7ead21 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Fri, 23 Aug 2024 15:55:19 +0100 Subject: [PATCH 134/170] trying to make it work with index url --- whl/index.html | 5 +++++ whl/wheels_index.html | 7 ------- 2 files changed, 5 insertions(+), 7 deletions(-) create mode 100644 whl/index.html delete mode 100644 whl/wheels_index.html diff --git a/whl/index.html b/whl/index.html new file mode 100644 index 000000000..10d3b4a04 --- /dev/null +++ b/whl/index.html @@ -0,0 +1,5 @@ + + + gsplat
+ + \ No newline at end of file diff --git a/whl/wheels_index.html b/whl/wheels_index.html deleted file mode 100644 index ee7fa4abb..000000000 --- a/whl/wheels_index.html +++ /dev/null @@ -1,7 +0,0 @@ - - - Simple Index fot Gsplat - - gsplat-1.2.0+pt20cu117-cp310-cp310-win_amd64.whl
- - \ No newline at end of file From 1e09ff83ba4e3e552ec7bb1af0901c591427d41c Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Fri, 23 Aug 2024 16:20:55 +0100 Subject: [PATCH 135/170] add ptXcuX subpages --- docs/INSTALL_WIN.md | 4 ++-- whl/pt20cu117/gsplat/index.html | 13 +++++++++++++ whl/pt20cu117/index.html | 5 +++++ whl/pt20cu118/gsplat/index.html | 14 ++++++++++++++ whl/pt20cu118/index.html | 5 +++++ whl/pt21cu118/gsplat/index.html | 14 ++++++++++++++ whl/pt21cu118/index.html | 5 +++++ whl/pt22cu118/gsplat/index.html | 14 ++++++++++++++ whl/pt22cu118/index.html | 5 +++++ whl/pt23cu118/gsplat/index.html | 14 ++++++++++++++ whl/pt23cu118/index.html | 5 +++++ whl/pt24cu118/gsplat/index.html | 14 ++++++++++++++ whl/pt24cu118/index.html | 5 +++++ 13 files changed, 115 insertions(+), 2 deletions(-) create mode 100644 whl/pt20cu117/gsplat/index.html create mode 100644 whl/pt20cu117/index.html create mode 100644 whl/pt20cu118/gsplat/index.html create mode 100644 whl/pt20cu118/index.html create mode 100644 whl/pt21cu118/gsplat/index.html create mode 100644 whl/pt21cu118/index.html create mode 100644 whl/pt22cu118/gsplat/index.html create mode 100644 whl/pt22cu118/index.html create mode 100644 whl/pt23cu118/gsplat/index.html create mode 100644 whl/pt23cu118/index.html create mode 100644 whl/pt24cu118/gsplat/index.html create mode 100644 whl/pt24cu118/index.html diff --git a/docs/INSTALL_WIN.md b/docs/INSTALL_WIN.md index 288bdbdb4..25a9cd745 100644 --- a/docs/INSTALL_WIN.md +++ b/docs/INSTALL_WIN.md @@ -58,9 +58,9 @@ The installed package does not come with precompiled binaries and the cuda code ## Install using a precompiled wheels -You can install wheels with precompiled binaries using packages listed here `https://martinresearch.github.io/gsplat/packages.html` +You can install wheels with precompiled binaries using packages listed here `https://martinresearch.github.io/gsplat/whl/gsplat` You can for axmaple install the wheel with precompiled binaries for pytorch 2.0 and cuda 11.8 using ``` -pip install gsplat==1.2.0+pt20cu118 --extra-index-url=https://martinresearch.github.io/gsplat/packages.html +pip install gsplat==1.2.0+pt20cu118 --index-url https://martinresearch.github.io/gsplat/whl ``` diff --git a/whl/pt20cu117/gsplat/index.html b/whl/pt20cu117/gsplat/index.html new file mode 100644 index 000000000..ba5162a56 --- /dev/null +++ b/whl/pt20cu117/gsplat/index.html @@ -0,0 +1,13 @@ + + + + + + Python Wheels Index + + +

Available Gsplat Python Wheels

+ + gsplat-1.2.0+pt20cu117-cp310-cp310-win_amd64.whl
+ + \ No newline at end of file diff --git a/whl/pt20cu117/index.html b/whl/pt20cu117/index.html new file mode 100644 index 000000000..10d3b4a04 --- /dev/null +++ b/whl/pt20cu117/index.html @@ -0,0 +1,5 @@ + + + gsplat
+ + \ No newline at end of file diff --git a/whl/pt20cu118/gsplat/index.html b/whl/pt20cu118/gsplat/index.html new file mode 100644 index 000000000..e883fa69f --- /dev/null +++ b/whl/pt20cu118/gsplat/index.html @@ -0,0 +1,14 @@ + + + + + + Python Wheels Index + + +

Available Gsplat Python Wheels

+ + gsplat-1.2.0+pt20cu118-cp310-cp310-win_amd64.whl
+ gsplat-1.2.0+pt20cu118-cp311-cp311-win_amd64.whl
+ + \ No newline at end of file diff --git a/whl/pt20cu118/index.html b/whl/pt20cu118/index.html new file mode 100644 index 000000000..10d3b4a04 --- /dev/null +++ b/whl/pt20cu118/index.html @@ -0,0 +1,5 @@ + + + gsplat
+ + \ No newline at end of file diff --git a/whl/pt21cu118/gsplat/index.html b/whl/pt21cu118/gsplat/index.html new file mode 100644 index 000000000..8b3cde91b --- /dev/null +++ b/whl/pt21cu118/gsplat/index.html @@ -0,0 +1,14 @@ + + + + + + Python Wheels Index + + +

Available Gsplat Python Wheels

+ + gsplat-1.2.0+pt21cu118-cp310-cp310-win_amd64.whl
+ gsplat-1.2.0+pt21cu118-cp311-cp311-win_amd64.whl
+ + \ No newline at end of file diff --git a/whl/pt21cu118/index.html b/whl/pt21cu118/index.html new file mode 100644 index 000000000..10d3b4a04 --- /dev/null +++ b/whl/pt21cu118/index.html @@ -0,0 +1,5 @@ + + + gsplat
+ + \ No newline at end of file diff --git a/whl/pt22cu118/gsplat/index.html b/whl/pt22cu118/gsplat/index.html new file mode 100644 index 000000000..cf23205ff --- /dev/null +++ b/whl/pt22cu118/gsplat/index.html @@ -0,0 +1,14 @@ + + + + + + Python Wheels Index + + +

Available Gsplat Python Wheels

+ + gsplat-1.2.0+pt22cu118-cp310-cp310-win_amd64.whl
+ gsplat-1.2.0+pt22cu118-cp311-cp311-win_amd64.whl
+ + \ No newline at end of file diff --git a/whl/pt22cu118/index.html b/whl/pt22cu118/index.html new file mode 100644 index 000000000..10d3b4a04 --- /dev/null +++ b/whl/pt22cu118/index.html @@ -0,0 +1,5 @@ + + + gsplat
+ + \ No newline at end of file diff --git a/whl/pt23cu118/gsplat/index.html b/whl/pt23cu118/gsplat/index.html new file mode 100644 index 000000000..902801828 --- /dev/null +++ b/whl/pt23cu118/gsplat/index.html @@ -0,0 +1,14 @@ + + + + + + Python Wheels Index + + +

Available Gsplat Python Wheels

+ + gsplat-1.2.0+pt23cu118-cp310-cp310-win_amd64.whl
+ gsplat-1.2.0+pt23cu118-cp311-cp311-win_amd64.whl
+ + \ No newline at end of file diff --git a/whl/pt23cu118/index.html b/whl/pt23cu118/index.html new file mode 100644 index 000000000..10d3b4a04 --- /dev/null +++ b/whl/pt23cu118/index.html @@ -0,0 +1,5 @@ + + + gsplat
+ + \ No newline at end of file diff --git a/whl/pt24cu118/gsplat/index.html b/whl/pt24cu118/gsplat/index.html new file mode 100644 index 000000000..c5a882fac --- /dev/null +++ b/whl/pt24cu118/gsplat/index.html @@ -0,0 +1,14 @@ + + + + + + Python Wheels Index + + +

Available Gsplat Python Wheels

+ + gsplat-1.2.0+pt24cu118-cp310-cp310-win_amd64.whl
+ gsplat-1.2.0+pt24cu118-cp311-cp311-win_amd64.whl
+ + \ No newline at end of file diff --git a/whl/pt24cu118/index.html b/whl/pt24cu118/index.html new file mode 100644 index 000000000..10d3b4a04 --- /dev/null +++ b/whl/pt24cu118/index.html @@ -0,0 +1,5 @@ + + + gsplat
+ + \ No newline at end of file From 57e94ee6b58b99cd8ec6d8f4ec8530a71f0e84d2 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Fri, 23 Aug 2024 16:32:42 +0100 Subject: [PATCH 136/170] Update INSTALL_WIN.md --- docs/INSTALL_WIN.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/INSTALL_WIN.md b/docs/INSTALL_WIN.md index 25a9cd745..91753e50b 100644 --- a/docs/INSTALL_WIN.md +++ b/docs/INSTALL_WIN.md @@ -64,3 +64,11 @@ You can for axmaple install the wheel with precompiled binaries for pytorch 2.0 ``` pip install gsplat==1.2.0+pt20cu118 --index-url https://martinresearch.github.io/gsplat/whl ``` +or +``` +pip install gsplat==1.2.0 --index-url https://martinresearch.github.io/gsplat/whl/pt20cu118 +``` +Specify the pytorch and cuda version int the index url ahs the advantage that can obtain the lastest version +``` +pip install gsplat --index-url https://martinresearch.github.io/gsplat/whl/pt20cu118 +``` \ No newline at end of file From dbc13ce0913e4c820f547959c37a4bf802421832 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Mon, 26 Aug 2024 16:56:10 +0100 Subject: [PATCH 137/170] trying to reuse the build workflow --- .github/workflows/building.yml | 67 +++++++++---- .github/workflows/publish.yml | 166 ++------------------------------- 2 files changed, 60 insertions(+), 173 deletions(-) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index 08335002b..7173ad48d 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -4,7 +4,52 @@ on: [workflow_dispatch] jobs: - wheel: + + build_sdist: + name: Build source distribution and no binary wheel + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Strip unsupported tags in README + run: | + sed -i '//,//d' README.md + - name: Build sdist + run: BUILD_NO_CUDA=1 pipx run build --sdist + - name: Build wheel with ne binaries + run: BUILD_NO_CUDA=1 python -m build + - uses: actions/upload-artifact@v3 + with: + name: source_package + path: dist/*.tar.gz + - uses: actions/upload-artifact@v3 + with: + name: no_binary_wheel + path: dist/*.whl + + + build_no_binaries_wheels: + name: Build source distribution and no binary wheel + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Strip unsupported tags in README + run: | + sed -i '//,//d' README.md + - name: Build sdist + run: BUILD_NO_CUDA=1 pipx run build --sdist + - name: Build wheel with ne binaries + run: BUILD_NO_CUDA=1 python -m build + - uses: actions/upload-artifact@v3 + with: + name: source_package + path: dist/*.tar.gz + - uses: actions/upload-artifact@v3 + with: + name: wheels + path: dist/*.whl + + + build_wheels: runs-on: ${{ matrix.os }} environment: production @@ -64,26 +109,11 @@ jobs: torch-version: 2.0.0 cuda-version: 'cu121' - steps: - name: Checkout repository uses: actions/checkout@v4 with: submodules: recursive - - - name: Free up disk space - if: ${{ runner.os == 'Linux' }} - run: | - echo "Disk space before cleanup:" - df -h - sudo rm -rf /usr/share/dotnet - sudo rm -rf /opt/ghc - sudo rm -rf "/usr/local/share/boost" - sudo rm -rf "$AGENT_TOOLSDIRECTORY" - sudo apt-get clean - echo "Disk space after cleanup:" - df -h - du -sh /usr/local/* /opt/* /usr/* | sort -hr - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 @@ -160,3 +190,8 @@ jobs: python -c "import gsplat; print('gsplat:', gsplat.__version__)" cd .. shell: bash # `ls -lah` does not exist in windows powershell + + - uses: actions/upload-artifact@v3 + with: + name: compiled_wheels_python${{ matrix.python-version }} + path: dist/*.whl diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 8dd0eb7e3..1e8403837 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -12,166 +12,15 @@ on: [push] jobs: - + # build wheels using action building.yml build_wheels: - name: Build wheels on ${{ matrix.os }} for python ${{ matrix.python-version }} pytorch ${{ matrix.torch-version }} and cuda ${{ matrix.cuda-version }} - runs-on: ${{ matrix.os }} - environment: production - strategy: - matrix: - include: - - os: windows-2019 - python-version: '3.10' - torch-version: 2.0.1 - cuda-version: cu117 - - - os: windows-2019 - python-version: '3.10' - torch-version: 2.0.1 - cuda-version: cu118 - - - os: windows-2019 - python-version: '3.10' - torch-version: 2.1.2 - cuda-version: cu118 - - - os: windows-2019 - python-version: '3.10' - torch-version: 2.2.2 - cuda-version: cu118 - - - os: windows-2019 - python-version: '3.10' - torch-version: 2.3.1 - cuda-version: cu118 - - - os: windows-2019 - python-version: '3.10' - torch-version: 2.4.0 - cuda-version: cu118 - - - os: windows-2019 - python-version: '3.11' - torch-version: 2.0.1 - cuda-version: cu118 - - - os: windows-2019 - python-version: '3.11' - torch-version: 2.1.2 - cuda-version: cu118 - - - os: windows-2019 - python-version: '3.11' - torch-version: 2.2.2 - cuda-version: cu118 - - - os: windows-2019 - python-version: '3.11' - torch-version: 2.3.1 - cuda-version: cu118 - - - os: windows-2019 - python-version: '3.11' - torch-version: 2.4.0 - cuda-version: cu118 - steps: - - - - uses: actions/checkout@v3 - with: - submodules: 'recursive' - - - name: Free up disk space - if: ${{ runner.os == 'Linux' }} - run: | - echo "Disk space before cleanup:" - df -h - sudo rm -rf /usr/share/dotnet - sudo rm -rf /opt/ghc - sudo rm -rf "/usr/local/share/boost" - sudo rm -rf "$AGENT_TOOLSDIRECTORY" - sudo apt-get clean - echo "Disk space after cleanup:" - df -h - du -sh /usr/local/* /opt/* /usr/* | sort -hr - - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - - name: Upgrade pip - run: | - pip install --upgrade setuptools - pip install ninja - - - name: Install CUDA ${{ matrix.cuda-version }} - if: ${{ matrix.cuda-version != 'cpu' }} - run: | - bash .github/workflows/cuda/${{ runner.os }}.sh ${{ matrix.cuda-version }} - - - name: Install PyTorch - run: | - pip install torch==${{ matrix.torch-version }} --extra-index-url https://download.pytorch.org/whl/${{ matrix.cuda-version }} - python -c "import torch; print('PyTorch:', torch.__version__)" - python -c "import torch; print('CUDA:', torch.version.cuda)" - python -c "import torch; print('CUDA Available:', torch.cuda.is_available())" - - - 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 dependencies - run: | - python -m pip install build twine - - - name: Set version - run: | - VERSION=`sed -n 's/^__version__ = "\(.*\)"/\1/p' gsplat/version.py` - TORCH_VERSION=`echo "pt${{ matrix.torch-version }}" | sed "s/..$//" | sed "s/\.//g"` - CUDA_VERSION=`echo ${{ matrix.cuda-version }}` - echo "New version name: $VERSION+$TORCH_VERSION$CUDA_VERSION" - sed -i "s/$VERSION/$VERSION+$TORCH_VERSION$CUDA_VERSION/" gsplat/version.py - shell: - bash - - - name: Strip unsupported tags in README - run: | - sed -i '//,//d' README.md - - - name: Build wheel - run: | - pip install wheel - source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} - python setup.py bdist_wheel --dist-dir=dist - shell: bash # `source` does not exist in windows powershell - - - uses: actions/upload-artifact@v3 - with: - name: packages - path: dist/*.whl - - - build_sdist: - name: Build source distribution - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Build sdist - run: BUILD_NO_CUDA=1 pipx run build --sdist - - uses: actions/upload-artifact@v3 - with: - name: packages - path: dist/*.tar.gz + name: Call Composite Action + uses: ./.github/actions/building create_release_and_upload_packages: name: Uplodad to Github Release - needs: [build_sdist,build_wheels] + needs: [build_sdist, build_wheels] runs-on: ubuntu-latest steps: - name: Checkout code @@ -224,9 +73,12 @@ jobs: steps: - uses: actions/download-artifact@v2 with: - name: packages + name: source_package + path: dist + - uses: actions/download-artifact@v2 + with: + name: no_binary_wheel path: dist - - name: Publish package to Test PyPI uses: pypa/gh-action-pypi-publish@release/v1 with: From ec694a930ed9b08dd154586c479b41c1ab3d4b27 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Mon, 26 Aug 2024 17:03:07 +0100 Subject: [PATCH 138/170] try publish on manual release --- .github/workflows/building.yml | 26 ++------------------------ 1 file changed, 2 insertions(+), 24 deletions(-) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index 7173ad48d..ea3b32486 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -19,36 +19,14 @@ jobs: run: BUILD_NO_CUDA=1 python -m build - uses: actions/upload-artifact@v3 with: - name: source_package + name: pypi_packages path: dist/*.tar.gz - uses: actions/upload-artifact@v3 with: - name: no_binary_wheel + name: pypi_packages path: dist/*.whl - - build_no_binaries_wheels: - name: Build source distribution and no binary wheel - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Strip unsupported tags in README - run: | - sed -i '//,//d' README.md - - name: Build sdist - run: BUILD_NO_CUDA=1 pipx run build --sdist - - name: Build wheel with ne binaries - run: BUILD_NO_CUDA=1 python -m build - - uses: actions/upload-artifact@v3 - with: - name: source_package - path: dist/*.tar.gz - - uses: actions/upload-artifact@v3 - with: - name: wheels - path: dist/*.whl - build_wheels: runs-on: ${{ matrix.os }} environment: production From 58ba0adf3cbe28a312e1e5909121bb1e09373853 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Mon, 26 Aug 2024 17:04:34 +0100 Subject: [PATCH 139/170] Update publish.yml --- .github/workflows/publish.yml | 43 ++++++++++------------------------- 1 file changed, 12 insertions(+), 31 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 1e8403837..3e8e01ac2 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -3,10 +3,10 @@ name: Build and Release Wheels -on: [push] -#on: -# release: -# types: [created] + +on: + release: + types: [created] # branches: [main] jobs: @@ -15,41 +15,26 @@ jobs: # build wheels using action building.yml build_wheels: name: Call Composite Action - uses: ./.github/actions/building + uses: ./.github/workflows/building create_release_and_upload_packages: name: Uplodad to Github Release needs: [build_sdist, build_wheels] runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: ['3.10'] steps: - name: Checkout code uses: actions/checkout@v3 - - name: Extract version from version.py - id: extract_version - run: | - VERSION=$(sed -n 's/^__version__ = "\(.*\)"/\1/p' gsplat/version.py) - echo "VERSION=$VERSION" >> $GITHUB_ENV - - - name: Create GitHub Release - id: create_release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ env.VERSION }} - release_name: Release ${{ env.VERSION }} - body: | - Release notes for version ${{ env.VERSION }}. - draft: false - prerelease: false - - name: Download packages id: download_artifacts uses: actions/download-artifact@v3 with: - name: packages + name: compiled_wheels_python${{ matrix.python-version }} path: dist - name: Upload packages to GitHub Release @@ -63,7 +48,7 @@ jobs: -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ -H "Content-Type: application/zip" \ --data-binary @"$file" \ - "${{ steps.create_release.outputs.upload_url }}=$encoded_filename" + "${{ github.event.release.upload_url }}=$encoded_filename" done upload_pypi: @@ -73,11 +58,7 @@ jobs: steps: - uses: actions/download-artifact@v2 with: - name: source_package - path: dist - - uses: actions/download-artifact@v2 - with: - name: no_binary_wheel + name: pypi_packages path: dist - name: Publish package to Test PyPI uses: pypa/gh-action-pypi-publish@release/v1 From e425ab69cff217bf087c1089b4b14605a1a69870 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Mon, 26 Aug 2024 17:05:09 +0100 Subject: [PATCH 140/170] Update publish.yml --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 3e8e01ac2..edd8ff1d0 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -15,7 +15,7 @@ jobs: # build wheels using action building.yml build_wheels: name: Call Composite Action - uses: ./.github/workflows/building + uses: ./.github/workflows/building.yml create_release_and_upload_packages: From 331bceabf7b5dc5ad9877617e90edb58200fd2a3 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Mon, 26 Aug 2024 17:15:12 +0100 Subject: [PATCH 141/170] trying reusable workflow --- .github/workflows/building.yml | 180 ++---------------------- .github/workflows/reusable_building.yml | 175 +++++++++++++++++++++++ 2 files changed, 186 insertions(+), 169 deletions(-) create mode 100644 .github/workflows/reusable_building.yml diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index ea3b32486..16bbf5f4a 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -1,175 +1,17 @@ name: Building Wheels -on: [workflow_dispatch] +on: + workflow_call: + inputs: + environment: + description: 'The environment to deploy to' + required: true + type: string jobs: - - - build_sdist: - name: Build source distribution and no binary wheel - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Strip unsupported tags in README - run: | - sed -i '//,//d' README.md - - name: Build sdist - run: BUILD_NO_CUDA=1 pipx run build --sdist - - name: Build wheel with ne binaries - run: BUILD_NO_CUDA=1 python -m build - - uses: actions/upload-artifact@v3 - with: - name: pypi_packages - path: dist/*.tar.gz - - uses: actions/upload-artifact@v3 - with: - name: pypi_packages - path: dist/*.whl - + # build wheels using action building.yml build_wheels: - runs-on: ${{ matrix.os }} - environment: production - - strategy: - fail-fast: false - matrix: - os: [ubuntu-20.04, windows-2019] - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] - torch-version: ['2.0.0', '2.1.0', '2.2.0', '2.3.0', '2.4.0'] - cuda-version: ['cu118', 'cu121', 'cu124'] - exclude: - - python-version: 3.12 - torch-version: 2.0.0 - - python-version: 3.12 - torch-version: 2.1.0 - - - torch-version: 2.0.0 - cuda-version: 'cu113' - - torch-version: 2.0.0 - cuda-version: 'cu116' - - torch-version: 2.0.0 - cuda-version: 'cu121' - - torch-version: 2.0.0 - cuda-version: 'cu124' - - torch-version: 2.1.0 - cuda-version: 'cu113' - - torch-version: 2.1.0 - cuda-version: 'cu116' - - torch-version: 2.1.0 - cuda-version: 'cu117' - - torch-version: 2.1.0 - cuda-version: 'cu124' - - torch-version: 2.2.0 - cuda-version: 'cu113' - - torch-version: 2.2.0 - cuda-version: 'cu116' - - torch-version: 2.2.0 - cuda-version: 'cu117' - - torch-version: 2.2.0 - cuda-version: 'cu124' - - torch-version: 2.3.0 - cuda-version: 'cu113' - - torch-version: 2.3.0 - cuda-version: 'cu116' - - torch-version: 2.3.0 - cuda-version: 'cu117' - - torch-version: 2.3.0 - cuda-version: 'cu124' - - torch-version: 2.4.0 - cuda-version: 'cu113' - - torch-version: 2.4.0 - cuda-version: 'cu116' - - torch-version: 2.4.0 - cuda-version: 'cu117' - - - os: windows-2019 - torch-version: 2.0.0 - cuda-version: 'cu121' - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - submodules: recursive - - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - - name: Free up disk space - if: ${{ runner.os == 'Linux' }} - run: | - echo "Disk space before cleanup:" - df -h - sudo rm -rf /usr/share/dotnet - echo "Disk space after cleanup:" - df -h - shell: bash - - - name: Install CUDA ${{ matrix.cuda-version }} - if: ${{ matrix.cuda-version != 'cpu' }} - run: | - bash .github/workflows/cuda/${{ runner.os }}.sh ${{ matrix.cuda-version }} - shell: bash - - - name: Install PyTorch ${{ matrix.torch-version }}+${{ matrix.cuda-version }} - run: | - pip install torch==${{ matrix.torch-version }} --extra-index-url https://download.pytorch.org/whl/${{ matrix.cuda-version }} - python -c "import torch; print('PyTorch:', torch.__version__)" - python -c "import torch; print('CUDA:', torch.version.cuda)" - python -c "import torch; print('CUDA Available:', torch.cuda.is_available())" - shell: bash - - - 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: | - VERSION=`sed -n 's/^__version__ = "\(.*\)"/\1/p' gsplat/version.py` - TORCH_VERSION=`echo "pt${{ matrix.torch-version }}" | sed "s/..$//" | sed "s/\.//g"` - CUDA_VERSION=`echo ${{ matrix.cuda-version }}` - echo "New version name: $VERSION+$TORCH_VERSION$CUDA_VERSION" - sed -i "s/$VERSION/$VERSION+$TORCH_VERSION$CUDA_VERSION/" gsplat/version.py - shell: bash - - - name: Upgrade pip - run: | - pip install --upgrade setuptools - pip install ninja - shell: bash - - - name: Install main package for CPU - if: ${{ matrix.cuda-version == 'cpu' }} - run: | - BUILD_NO_CUDA=1 pip install . - shell: bash - - - name: Build wheel - # build against architectures >= 7.0 (required by cooperative_groups::labeled_partition in gsplat) - run: | - pip install wheel - source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} - MAX_JOBS=2 python setup.py bdist_wheel --dist-dir=dist - shell: bash # `source` does not exist in windows powershell - - - name: Test wheel - run: | - cd dist - ls -lah - pip install *.whl - python -c "import gsplat; print('gsplat:', gsplat.__version__)" - cd .. - shell: bash # `ls -lah` does not exist in windows powershell - - - uses: actions/upload-artifact@v3 - with: - name: compiled_wheels_python${{ matrix.python-version }} - path: dist/*.whl + name: Call Composite Action + uses: ./.github/workflows/building.yml + diff --git a/.github/workflows/reusable_building.yml b/.github/workflows/reusable_building.yml new file mode 100644 index 000000000..ea3b32486 --- /dev/null +++ b/.github/workflows/reusable_building.yml @@ -0,0 +1,175 @@ +name: Building Wheels + +on: [workflow_dispatch] + +jobs: + + + build_sdist: + name: Build source distribution and no binary wheel + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Strip unsupported tags in README + run: | + sed -i '//,//d' README.md + - name: Build sdist + run: BUILD_NO_CUDA=1 pipx run build --sdist + - name: Build wheel with ne binaries + run: BUILD_NO_CUDA=1 python -m build + - uses: actions/upload-artifact@v3 + with: + name: pypi_packages + path: dist/*.tar.gz + - uses: actions/upload-artifact@v3 + with: + name: pypi_packages + path: dist/*.whl + + + build_wheels: + runs-on: ${{ matrix.os }} + environment: production + + strategy: + fail-fast: false + matrix: + os: [ubuntu-20.04, windows-2019] + python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] + torch-version: ['2.0.0', '2.1.0', '2.2.0', '2.3.0', '2.4.0'] + cuda-version: ['cu118', 'cu121', 'cu124'] + exclude: + - python-version: 3.12 + torch-version: 2.0.0 + - python-version: 3.12 + torch-version: 2.1.0 + + - torch-version: 2.0.0 + cuda-version: 'cu113' + - torch-version: 2.0.0 + cuda-version: 'cu116' + - torch-version: 2.0.0 + cuda-version: 'cu121' + - torch-version: 2.0.0 + cuda-version: 'cu124' + - torch-version: 2.1.0 + cuda-version: 'cu113' + - torch-version: 2.1.0 + cuda-version: 'cu116' + - torch-version: 2.1.0 + cuda-version: 'cu117' + - torch-version: 2.1.0 + cuda-version: 'cu124' + - torch-version: 2.2.0 + cuda-version: 'cu113' + - torch-version: 2.2.0 + cuda-version: 'cu116' + - torch-version: 2.2.0 + cuda-version: 'cu117' + - torch-version: 2.2.0 + cuda-version: 'cu124' + - torch-version: 2.3.0 + cuda-version: 'cu113' + - torch-version: 2.3.0 + cuda-version: 'cu116' + - torch-version: 2.3.0 + cuda-version: 'cu117' + - torch-version: 2.3.0 + cuda-version: 'cu124' + - torch-version: 2.4.0 + cuda-version: 'cu113' + - torch-version: 2.4.0 + cuda-version: 'cu116' + - torch-version: 2.4.0 + cuda-version: 'cu117' + + - os: windows-2019 + torch-version: 2.0.0 + cuda-version: 'cu121' + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + + - name: Free up disk space + if: ${{ runner.os == 'Linux' }} + run: | + echo "Disk space before cleanup:" + df -h + sudo rm -rf /usr/share/dotnet + echo "Disk space after cleanup:" + df -h + shell: bash + + - name: Install CUDA ${{ matrix.cuda-version }} + if: ${{ matrix.cuda-version != 'cpu' }} + run: | + bash .github/workflows/cuda/${{ runner.os }}.sh ${{ matrix.cuda-version }} + shell: bash + + - name: Install PyTorch ${{ matrix.torch-version }}+${{ matrix.cuda-version }} + run: | + pip install torch==${{ matrix.torch-version }} --extra-index-url https://download.pytorch.org/whl/${{ matrix.cuda-version }} + python -c "import torch; print('PyTorch:', torch.__version__)" + python -c "import torch; print('CUDA:', torch.version.cuda)" + python -c "import torch; print('CUDA Available:', torch.cuda.is_available())" + shell: bash + + - 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: | + VERSION=`sed -n 's/^__version__ = "\(.*\)"/\1/p' gsplat/version.py` + TORCH_VERSION=`echo "pt${{ matrix.torch-version }}" | sed "s/..$//" | sed "s/\.//g"` + CUDA_VERSION=`echo ${{ matrix.cuda-version }}` + echo "New version name: $VERSION+$TORCH_VERSION$CUDA_VERSION" + sed -i "s/$VERSION/$VERSION+$TORCH_VERSION$CUDA_VERSION/" gsplat/version.py + shell: bash + + - name: Upgrade pip + run: | + pip install --upgrade setuptools + pip install ninja + shell: bash + + - name: Install main package for CPU + if: ${{ matrix.cuda-version == 'cpu' }} + run: | + BUILD_NO_CUDA=1 pip install . + shell: bash + + - name: Build wheel + # build against architectures >= 7.0 (required by cooperative_groups::labeled_partition in gsplat) + run: | + pip install wheel + source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} + MAX_JOBS=2 python setup.py bdist_wheel --dist-dir=dist + shell: bash # `source` does not exist in windows powershell + + - name: Test wheel + run: | + cd dist + ls -lah + pip install *.whl + python -c "import gsplat; print('gsplat:', gsplat.__version__)" + cd .. + shell: bash # `ls -lah` does not exist in windows powershell + + - uses: actions/upload-artifact@v3 + with: + name: compiled_wheels_python${{ matrix.python-version }} + path: dist/*.whl From eb1dc61091108eebc8fa1f67d812af604200a717 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Mon, 26 Aug 2024 17:20:03 +0100 Subject: [PATCH 142/170] trying to make it work --- .../reusable_building.yml => actions/building.yml} | 7 ++----- .github/workflows/building.yml | 8 +------- .github/workflows/publish.yml | 10 ++-------- 3 files changed, 5 insertions(+), 20 deletions(-) rename .github/{workflows/reusable_building.yml => actions/building.yml} (99%) diff --git a/.github/workflows/reusable_building.yml b/.github/actions/building.yml similarity index 99% rename from .github/workflows/reusable_building.yml rename to .github/actions/building.yml index ea3b32486..7cb79b2e8 100644 --- a/.github/workflows/reusable_building.yml +++ b/.github/actions/building.yml @@ -1,10 +1,7 @@ name: Building Wheels -on: [workflow_dispatch] - -jobs: - - +runs: + using: "composite" build_sdist: name: Build source distribution and no binary wheel runs-on: ubuntu-latest diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index 16bbf5f4a..b4bf0d7b2 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -1,12 +1,6 @@ name: Building Wheels -on: - workflow_call: - inputs: - environment: - description: 'The environment to deploy to' - required: true - type: string +on: [workflow_dispatch] jobs: diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index edd8ff1d0..9a385aa9e 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -3,20 +3,14 @@ name: Build and Release Wheels - -on: - release: - types: [created] - # branches: [main] +on: [workflow_dispatch] jobs: - # build wheels using action building.yml build_wheels: name: Call Composite Action - uses: ./.github/workflows/building.yml - + uses: ./.github/actions/building create_release_and_upload_packages: name: Uplodad to Github Release From 1020c7ba87e925c809a98d157078def3b3339396 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Mon, 26 Aug 2024 17:26:06 +0100 Subject: [PATCH 143/170] try reusable workflow --- .github/workflows/publish.yml | 6 +++--- .../building.yml => workflows/reusable_building.yml} | 12 ++++++++++-- 2 files changed, 13 insertions(+), 5 deletions(-) rename .github/{actions/building.yml => workflows/reusable_building.yml} (97%) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 9a385aa9e..cc697b71e 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -7,10 +7,10 @@ on: [workflow_dispatch] jobs: - # build wheels using action building.yml + # build wheels using reusqble_building.yml build_wheels: - name: Call Composite Action - uses: ./.github/actions/building + name: Call reusable building workflow + uses: ./.github/workflows/reusable_building.yml create_release_and_upload_packages: name: Uplodad to Github Release diff --git a/.github/actions/building.yml b/.github/workflows/reusable_building.yml similarity index 97% rename from .github/actions/building.yml rename to .github/workflows/reusable_building.yml index 7cb79b2e8..888fca58a 100644 --- a/.github/actions/building.yml +++ b/.github/workflows/reusable_building.yml @@ -1,7 +1,15 @@ name: Building Wheels -runs: - using: "composite" + +on: + workflow_call: + inputs: + environment: + description: 'The environment to deploy to' + type: string + default: 'production' + +jobs: build_sdist: name: Build source distribution and no binary wheel runs-on: ubuntu-latest From 1e9ef3f19f6718b0015ef41ea30aec9f6ddff607 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Mon, 26 Aug 2024 17:28:09 +0100 Subject: [PATCH 144/170] Update publish.yml --- .github/workflows/publish.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index cc697b71e..5fd72d36f 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -3,7 +3,9 @@ name: Build and Release Wheels -on: [workflow_dispatch] +on: + release: + types: [created] jobs: From 836367fdb0aa6a12394d6b2be9d8c90fbd47e64d Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Mon, 26 Aug 2024 17:31:36 +0100 Subject: [PATCH 145/170] Update publish.yml --- .github/workflows/publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 5fd72d36f..ed0d0c0f8 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -16,7 +16,7 @@ jobs: create_release_and_upload_packages: name: Uplodad to Github Release - needs: [build_sdist, build_wheels] + needs: [build_wheels] runs-on: ubuntu-latest strategy: fail-fast: false @@ -49,7 +49,7 @@ jobs: upload_pypi: name: Upload to PyPi - needs: [build_sdist,build_wheels] + needs: [build_wheels] runs-on: ubuntu-latest steps: - uses: actions/download-artifact@v2 From 6bcc4c53e0408b4e6f2f13abf8767f6dfa945105 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Mon, 26 Aug 2024 17:35:24 +0100 Subject: [PATCH 146/170] testing with few wheels --- .github/workflows/building.yml | 188 +++++++++++++++++++++++- .github/workflows/publish.yml | 2 +- .github/workflows/reusable_building.yml | 180 ----------------------- 3 files changed, 184 insertions(+), 186 deletions(-) delete mode 100644 .github/workflows/reusable_building.yml diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index b4bf0d7b2..fed2f0091 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -1,11 +1,189 @@ name: Building Wheels -on: [workflow_dispatch] + +on: + workflow_call: + inputs: + environment: + description: 'The environment to deploy to' + type: string + default: 'production' + workflow_dispatch: + inputs: + environment: + description: 'The environment to deploy to' + type: string + default: 'production' jobs: + build_sdist: + name: Build source distribution and no binary wheel + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Strip unsupported tags in README + run: | + sed -i '//,//d' README.md + - name: Build sdist + run: BUILD_NO_CUDA=1 pipx run build --sdist + - name: Build wheel with ne binaries + run: BUILD_NO_CUDA=1 python -m build + - uses: actions/upload-artifact@v3 + with: + name: pypi_packages + path: dist/*.tar.gz + - uses: actions/upload-artifact@v3 + with: + name: pypi_packages + path: dist/*.whl - # build wheels using action building.yml + build_wheels: - name: Call Composite Action - uses: ./.github/workflows/building.yml - + runs-on: ${{ matrix.os }} + environment: production + + strategy: + fail-fast: false + matrix: + os: [ubuntu-20.04, windows-2019] + # python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] + # torch-version: ['2.0.0', '2.1.0', '2.2.0', '2.3.0', '2.4.0'] + # cuda-version: ['cu118', 'cu121', 'cu124'] + python-version: ['3.10'] + torch-version: ['2.0.0'] + cuda-version: ['cu118'] + exclude: + - python-version: 3.12 + torch-version: 2.0.0 + - python-version: 3.12 + torch-version: 2.1.0 + + - torch-version: 2.0.0 + cuda-version: 'cu113' + - torch-version: 2.0.0 + cuda-version: 'cu116' + - torch-version: 2.0.0 + cuda-version: 'cu121' + - torch-version: 2.0.0 + cuda-version: 'cu124' + - torch-version: 2.1.0 + cuda-version: 'cu113' + - torch-version: 2.1.0 + cuda-version: 'cu116' + - torch-version: 2.1.0 + cuda-version: 'cu117' + - torch-version: 2.1.0 + cuda-version: 'cu124' + - torch-version: 2.2.0 + cuda-version: 'cu113' + - torch-version: 2.2.0 + cuda-version: 'cu116' + - torch-version: 2.2.0 + cuda-version: 'cu117' + - torch-version: 2.2.0 + cuda-version: 'cu124' + - torch-version: 2.3.0 + cuda-version: 'cu113' + - torch-version: 2.3.0 + cuda-version: 'cu116' + - torch-version: 2.3.0 + cuda-version: 'cu117' + - torch-version: 2.3.0 + cuda-version: 'cu124' + - torch-version: 2.4.0 + cuda-version: 'cu113' + - torch-version: 2.4.0 + cuda-version: 'cu116' + - torch-version: 2.4.0 + cuda-version: 'cu117' + + - os: windows-2019 + torch-version: 2.0.0 + cuda-version: 'cu121' + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + + - name: Free up disk space + if: ${{ runner.os == 'Linux' }} + run: | + echo "Disk space before cleanup:" + df -h + sudo rm -rf /usr/share/dotnet + echo "Disk space after cleanup:" + df -h + shell: bash + + - name: Install CUDA ${{ matrix.cuda-version }} + if: ${{ matrix.cuda-version != 'cpu' }} + run: | + bash .github/workflows/cuda/${{ runner.os }}.sh ${{ matrix.cuda-version }} + shell: bash + + - name: Install PyTorch ${{ matrix.torch-version }}+${{ matrix.cuda-version }} + run: | + pip install torch==${{ matrix.torch-version }} --extra-index-url https://download.pytorch.org/whl/${{ matrix.cuda-version }} + python -c "import torch; print('PyTorch:', torch.__version__)" + python -c "import torch; print('CUDA:', torch.version.cuda)" + python -c "import torch; print('CUDA Available:', torch.cuda.is_available())" + shell: bash + + - 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: | + VERSION=`sed -n 's/^__version__ = "\(.*\)"/\1/p' gsplat/version.py` + TORCH_VERSION=`echo "pt${{ matrix.torch-version }}" | sed "s/..$//" | sed "s/\.//g"` + CUDA_VERSION=`echo ${{ matrix.cuda-version }}` + echo "New version name: $VERSION+$TORCH_VERSION$CUDA_VERSION" + sed -i "s/$VERSION/$VERSION+$TORCH_VERSION$CUDA_VERSION/" gsplat/version.py + shell: bash + + - name: Upgrade pip + run: | + pip install --upgrade setuptools + pip install ninja + shell: bash + + - name: Install main package for CPU + if: ${{ matrix.cuda-version == 'cpu' }} + run: | + BUILD_NO_CUDA=1 pip install . + shell: bash + + - name: Build wheel + # build against architectures >= 7.0 (required by cooperative_groups::labeled_partition in gsplat) + run: | + pip install wheel + source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} + MAX_JOBS=2 python setup.py bdist_wheel --dist-dir=dist + shell: bash # `source` does not exist in windows powershell + + - name: Test wheel + run: | + cd dist + ls -lah + pip install *.whl + python -c "import gsplat; print('gsplat:', gsplat.__version__)" + cd .. + shell: bash # `ls -lah` does not exist in windows powershell + + - uses: actions/upload-artifact@v3 + with: + name: compiled_wheels_python${{ matrix.python-version }} + path: dist/*.whl diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index ed0d0c0f8..27cf599e5 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -12,7 +12,7 @@ jobs: # build wheels using reusqble_building.yml build_wheels: name: Call reusable building workflow - uses: ./.github/workflows/reusable_building.yml + uses: ./.github/workflows/building.yml create_release_and_upload_packages: name: Uplodad to Github Release diff --git a/.github/workflows/reusable_building.yml b/.github/workflows/reusable_building.yml deleted file mode 100644 index 888fca58a..000000000 --- a/.github/workflows/reusable_building.yml +++ /dev/null @@ -1,180 +0,0 @@ -name: Building Wheels - - -on: - workflow_call: - inputs: - environment: - description: 'The environment to deploy to' - type: string - default: 'production' - -jobs: - build_sdist: - name: Build source distribution and no binary wheel - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Strip unsupported tags in README - run: | - sed -i '//,//d' README.md - - name: Build sdist - run: BUILD_NO_CUDA=1 pipx run build --sdist - - name: Build wheel with ne binaries - run: BUILD_NO_CUDA=1 python -m build - - uses: actions/upload-artifact@v3 - with: - name: pypi_packages - path: dist/*.tar.gz - - uses: actions/upload-artifact@v3 - with: - name: pypi_packages - path: dist/*.whl - - - build_wheels: - runs-on: ${{ matrix.os }} - environment: production - - strategy: - fail-fast: false - matrix: - os: [ubuntu-20.04, windows-2019] - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] - torch-version: ['2.0.0', '2.1.0', '2.2.0', '2.3.0', '2.4.0'] - cuda-version: ['cu118', 'cu121', 'cu124'] - exclude: - - python-version: 3.12 - torch-version: 2.0.0 - - python-version: 3.12 - torch-version: 2.1.0 - - - torch-version: 2.0.0 - cuda-version: 'cu113' - - torch-version: 2.0.0 - cuda-version: 'cu116' - - torch-version: 2.0.0 - cuda-version: 'cu121' - - torch-version: 2.0.0 - cuda-version: 'cu124' - - torch-version: 2.1.0 - cuda-version: 'cu113' - - torch-version: 2.1.0 - cuda-version: 'cu116' - - torch-version: 2.1.0 - cuda-version: 'cu117' - - torch-version: 2.1.0 - cuda-version: 'cu124' - - torch-version: 2.2.0 - cuda-version: 'cu113' - - torch-version: 2.2.0 - cuda-version: 'cu116' - - torch-version: 2.2.0 - cuda-version: 'cu117' - - torch-version: 2.2.0 - cuda-version: 'cu124' - - torch-version: 2.3.0 - cuda-version: 'cu113' - - torch-version: 2.3.0 - cuda-version: 'cu116' - - torch-version: 2.3.0 - cuda-version: 'cu117' - - torch-version: 2.3.0 - cuda-version: 'cu124' - - torch-version: 2.4.0 - cuda-version: 'cu113' - - torch-version: 2.4.0 - cuda-version: 'cu116' - - torch-version: 2.4.0 - cuda-version: 'cu117' - - - os: windows-2019 - torch-version: 2.0.0 - cuda-version: 'cu121' - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - submodules: recursive - - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - - name: Free up disk space - if: ${{ runner.os == 'Linux' }} - run: | - echo "Disk space before cleanup:" - df -h - sudo rm -rf /usr/share/dotnet - echo "Disk space after cleanup:" - df -h - shell: bash - - - name: Install CUDA ${{ matrix.cuda-version }} - if: ${{ matrix.cuda-version != 'cpu' }} - run: | - bash .github/workflows/cuda/${{ runner.os }}.sh ${{ matrix.cuda-version }} - shell: bash - - - name: Install PyTorch ${{ matrix.torch-version }}+${{ matrix.cuda-version }} - run: | - pip install torch==${{ matrix.torch-version }} --extra-index-url https://download.pytorch.org/whl/${{ matrix.cuda-version }} - python -c "import torch; print('PyTorch:', torch.__version__)" - python -c "import torch; print('CUDA:', torch.version.cuda)" - python -c "import torch; print('CUDA Available:', torch.cuda.is_available())" - shell: bash - - - 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: | - VERSION=`sed -n 's/^__version__ = "\(.*\)"/\1/p' gsplat/version.py` - TORCH_VERSION=`echo "pt${{ matrix.torch-version }}" | sed "s/..$//" | sed "s/\.//g"` - CUDA_VERSION=`echo ${{ matrix.cuda-version }}` - echo "New version name: $VERSION+$TORCH_VERSION$CUDA_VERSION" - sed -i "s/$VERSION/$VERSION+$TORCH_VERSION$CUDA_VERSION/" gsplat/version.py - shell: bash - - - name: Upgrade pip - run: | - pip install --upgrade setuptools - pip install ninja - shell: bash - - - name: Install main package for CPU - if: ${{ matrix.cuda-version == 'cpu' }} - run: | - BUILD_NO_CUDA=1 pip install . - shell: bash - - - name: Build wheel - # build against architectures >= 7.0 (required by cooperative_groups::labeled_partition in gsplat) - run: | - pip install wheel - source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} - MAX_JOBS=2 python setup.py bdist_wheel --dist-dir=dist - shell: bash # `source` does not exist in windows powershell - - - name: Test wheel - run: | - cd dist - ls -lah - pip install *.whl - python -c "import gsplat; print('gsplat:', gsplat.__version__)" - cd .. - shell: bash # `ls -lah` does not exist in windows powershell - - - uses: actions/upload-artifact@v3 - with: - name: compiled_wheels_python${{ matrix.python-version }} - path: dist/*.whl From 18031abd7eab2da7135121b6d49a7c3b85ab3455 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Mon, 26 Aug 2024 17:39:14 +0100 Subject: [PATCH 147/170] Update building.yml --- .github/workflows/building.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index fed2f0091..a9703088b 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -27,7 +27,7 @@ jobs: - name: Build sdist run: BUILD_NO_CUDA=1 pipx run build --sdist - name: Build wheel with ne binaries - run: BUILD_NO_CUDA=1 python -m build + run: BUILD_NO_CUDA=1 python setup.py bdist_wheel --dist-dir=dist - uses: actions/upload-artifact@v3 with: name: pypi_packages From 101fb32e1fbd5ea8aae06affaf842abffe604b14 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Mon, 26 Aug 2024 17:42:45 +0100 Subject: [PATCH 148/170] Update building.yml --- .github/workflows/building.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index a9703088b..f9cc76ec4 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -26,7 +26,7 @@ jobs: sed -i '//,//d' README.md - name: Build sdist run: BUILD_NO_CUDA=1 pipx run build --sdist - - name: Build wheel with ne binaries + - name: Build wheel with no binaries run: BUILD_NO_CUDA=1 python setup.py bdist_wheel --dist-dir=dist - uses: actions/upload-artifact@v3 with: @@ -57,7 +57,6 @@ jobs: torch-version: 2.0.0 - python-version: 3.12 torch-version: 2.1.0 - - torch-version: 2.0.0 cuda-version: 'cu113' - torch-version: 2.0.0 @@ -95,8 +94,7 @@ jobs: - torch-version: 2.4.0 cuda-version: 'cu116' - torch-version: 2.4.0 - cuda-version: 'cu117' - + cuda-version: 'cu117' - os: windows-2019 torch-version: 2.0.0 cuda-version: 'cu121' From 1ce0231aff1b2161e6934f9163ea8f73f807de8a Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Mon, 26 Aug 2024 17:44:09 +0100 Subject: [PATCH 149/170] Update building.yml --- .github/workflows/building.yml | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index f9cc76ec4..6328af85b 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -1,20 +1,7 @@ name: Building Wheels -on: - workflow_call: - inputs: - environment: - description: 'The environment to deploy to' - type: string - default: 'production' - workflow_dispatch: - inputs: - environment: - description: 'The environment to deploy to' - type: string - default: 'production' - +on: [workflow_call, workflow_dispatch] jobs: build_sdist: name: Build source distribution and no binary wheel From 8cee0a860414ebaeabe7aebe7f1a57eb32934074 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Mon, 26 Aug 2024 18:44:45 +0100 Subject: [PATCH 150/170] Update publish.yml --- .github/workflows/publish.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 27cf599e5..cf4e46490 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -21,8 +21,9 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.10'] + python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] steps: + - name: Checkout code uses: actions/checkout@v3 @@ -52,10 +53,12 @@ jobs: needs: [build_wheels] runs-on: ubuntu-latest steps: + - uses: actions/download-artifact@v2 with: name: pypi_packages path: dist + - name: Publish package to Test PyPI uses: pypa/gh-action-pypi-publish@release/v1 with: From bf5d79d46a146efe254082f32403fc71e64596b0 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Mon, 26 Aug 2024 20:42:17 +0100 Subject: [PATCH 151/170] Update building.yml --- .github/workflows/building.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index 6328af85b..c7e4cc082 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -33,12 +33,10 @@ jobs: fail-fast: false matrix: os: [ubuntu-20.04, windows-2019] - # python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] - # torch-version: ['2.0.0', '2.1.0', '2.2.0', '2.3.0', '2.4.0'] - # cuda-version: ['cu118', 'cu121', 'cu124'] - python-version: ['3.10'] - torch-version: ['2.0.0'] - cuda-version: ['cu118'] + python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] + torch-version: ['2.0.0', '2.1.0', '2.2.0', '2.3.0', '2.4.0'] + cuda-version: ['cu118', 'cu121', 'cu124'] + exclude: - python-version: 3.12 torch-version: 2.0.0 From 5117c84deb258c3997785c4cd36ed9a4afe633fe Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sat, 21 Sep 2024 00:48:23 +0100 Subject: [PATCH 152/170] add script and github steps to generate the simple index pages --- .../workflows/generate_simple_index_pages.py | 139 ++++++++++++++++++ .../workflows/generate_simple_index_pages.yml | 42 ++++++ .github/workflows/publish.yml | 22 +++ README.md | 14 +- docs/INSTALL_WIN.md | 65 +++++--- 5 files changed, 257 insertions(+), 25 deletions(-) create mode 100644 .github/workflows/generate_simple_index_pages.py create mode 100644 .github/workflows/generate_simple_index_pages.yml diff --git a/.github/workflows/generate_simple_index_pages.py b/.github/workflows/generate_simple_index_pages.py new file mode 100644 index 000000000..9f6a85a3f --- /dev/null +++ b/.github/workflows/generate_simple_index_pages.py @@ -0,0 +1,139 @@ +import requests +import os +import argparse +from jinja2 import Template +import re + +# Automatically get the repository name in the format "owner/repo" from the GitHub workflow environment +GITHUB_REPO = os.getenv("GITHUB_REPOSITORY") + + +def list_python_wheels(): + # GitHub API URL for releases + releases_url = f"https://api.github.com/repos/{GITHUB_REPO}/releases" + + response = requests.get(releases_url) + + if response.status_code != 200: + raise Exception(f"Failed to fetch releases: {response.status_code} {response.text}") + + releases = response.json() + + wheel_files = [] + + # Iterate through releases and assets + for release in releases: + assets = release.get("assets", []) + for asset in assets: + filename = asset["name"] + if filename.endswith(".whl"): + pattern = r'^(?P[\w\d_.]+)-(?P[\d.]+)(?P\+[\w\d.]+)?-(?P[\w]+)-(?P[\w]+)-(?P[\w]+)\.whl' + + match = re.match(pattern, filename) + + if match: + local_version = match.group('local') + if local_version: + local_version = local_version.lstrip('+') # Return the local version without the '+' sign + else: + local_version = None + else: + raise ValueError(f"Invalid wheel filename: {filename}") + wheel_files.append({ + "release_name": release["name"], + "wheel_name": asset["name"], + "download_url": asset["browser_download_url"], + "package_name": match.group('name'), + "local_version": local_version, + }) + + return wheel_files + + +def generate_simple_index_htmls(wheels, outdir): + # Jinja2 template as a string + template_versions_str = """ + + + Python wheels links for {{ repo_name }} + +

Python wheels for {{ repo_name }}

+ + {% for wheel in wheels %} + {{ wheel.wheel_name }}
+ {% endfor %} + + + + """ + + template_packages_str = """ + + + {% for package_name in package_names %} + {{package_name}}
+ {% endfor %} + + + """ + + # Create a Jinja2 Template object from the string + template_versions = Template(template_versions_str) + template_packages = Template(template_packages_str) + + # group the wheels by package name + packages = {} + for wheel in wheels: + package_name = wheel['package_name'] + if package_name not in packages: + packages[package_name] = [] + packages[package_name].append(wheel) + + # Render the HTML the list the package names + html_content = template_packages.render(package_names=[str(k) for k in packages.keys()]) + os.makedirs(outdir, exist_ok=True) + with open(os.path.join(outdir, "index.html"), "w") as file: + file.write(html_content) + + # for each package, render the HTML to list the wheels + for package_name, wheels in packages.items(): + html_page = template_versions.render(repo_name=GITHUB_REPO, wheels=wheels) + os.makedirs(os.path.join(outdir, package_name), exist_ok=True) + with open(os.path.join(outdir, package_name, "index.html"), "w") as file: + file.write(html_page) + + +def generate_all_pages(): + wheels = list_python_wheels() + if wheels: + print("Python Wheels found in releases:") + for wheel in wheels: + print(f"Release: {wheel['release_name']}, Wheel: {wheel['wheel_name']}, URL: {wheel['download_url']}") + else: + print("No Python wheels found in the releases.") + + # Generate Simple Index HTML pages the wheel with all local versions + generate_simple_index_htmls(wheels, outdir=args.outdir) + + # group wheels per local version + wheels_per_local_version = {} + for wheel in wheels: + local_version = wheel['local_version'] + if local_version not in wheels_per_local_version: + wheels_per_local_version[local_version] = [] + wheels_per_local_version[local_version].append(wheel) + + # create a subdirectory for each local version + for local_version, wheels in wheels_per_local_version.items(): + os.makedirs(os.path.join(args.outdir, local_version), exist_ok=True) + generate_simple_index_htmls(wheels, outdir=os.path.join(args.outdir, local_version)) + +if __name__ == "__main__": + argparser = argparse.ArgumentParser(description="Generate Python Wheels Index Pages") + argparser.add_argument("--outdir", help="Output directory for the index pages", default=".") + args = argparser.parse_args() + generate_all_pages() + + + + diff --git a/.github/workflows/generate_simple_index_pages.yml b/.github/workflows/generate_simple_index_pages.yml new file mode 100644 index 000000000..3d4c84d2c --- /dev/null +++ b/.github/workflows/generate_simple_index_pages.yml @@ -0,0 +1,42 @@ +# This workflows will upload a Python Package using twine when a release is created +# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries + +name: Update wheels index pages + +# trigger manually on github interface +on: + workflow_dispatch: + push: + branches: [generate_wheels_simple_index_pages] + +jobs: + deploy: + runs-on: ubuntu-latest + environment: production + + steps: + - uses: actions/checkout@v3 + with: + submodules: 'recursive' + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.x' + + - name: Install dependencies + run: | + python -m pip install requests jinja2 + # call the script to generate the simple index pages + - name: Generate Simple Index Pages + run: python .github/workflows/generate_simple_index_pages.py --outdir ./whl + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + + - name: Deploy to GitHub Pages + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./whl # Directory where the simple index pages are located + destination_dir: whl # The 'wh' folder in the GitHub Pages root \ No newline at end of file diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index cf4e46490..0886c01c4 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -47,6 +47,23 @@ jobs: --data-binary @"$file" \ "${{ github.event.release.upload_url }}=$encoded_filename" done + + generate_simple_index_pages: + name: Generate Simple Index Pages + needs: [create_release_and_upload_packages] + runs-on: ubuntu-latest + steps: + - name: Generate Simple Index Pages + run: python .github/workflows/generate_simple_index_pages.py --outdir ./wheels + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Deploy to GitHub Pages + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./wheels # Directory where the simple index pages are located + destination_dir: wheels # The 'wh' folder in the GitHub Pages root upload_pypi: name: Upload to PyPi @@ -70,3 +87,8 @@ jobs: PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} run: | twine upload --username __token__ --password $PYPI_TOKEN dist/* + + - name: Install dependencies + run: | + python -m pip install requests jinja2 + diff --git a/README.md b/README.md index 62e6fb0f7..4b80a041e 100644 --- a/README.md +++ b/README.md @@ -24,12 +24,24 @@ The easiest way is to install from PyPI. In this way it will build the CUDA code pip install gsplat ``` -Or install from source. In this way it will build the CUDA code during installation. +Alternatively, you can install gsplat from python wheels containing pre-compiled binaries for a specific pytorch and cuda version. These wheels are stored in the github releases and can be found using simple index pages under https://docs.gsplat.studio/wheels. +You obtain the wheel from this simple index page for a specific pytorch an and cuda version by appending these the version number after a + sign (part referred a *local version*). For example, to install gsplat for pytorch 2.0 and cuda 11.8 you can use +``` +pip install gsplat==1.2.0+pt20cu118 --index-url https://docs.gsplat.studio/wheels +``` +Alternatively, you can specify the pytorch and cuda version in the index url using for example +``` +pip install gsplat --index-url https://docs.gsplat.studio/wheels/pt20cu118 +``` +This has the advantage that you do not have to pin a specific version of the package and as a result get automatically the latest package version. + +Alternatively you can install gsplat from source. In this way it will build the CUDA code during installation. ```bash pip install git+https://github.com/nerfstudio-project/gsplat.git ``` + To install gsplat on Windows, please check [this instruction](docs/INSTALL_WIN.md). ## Evaluation diff --git a/docs/INSTALL_WIN.md b/docs/INSTALL_WIN.md index 91753e50b..a949c93ca 100644 --- a/docs/INSTALL_WIN.md +++ b/docs/INSTALL_WIN.md @@ -1,8 +1,27 @@ # Installing `gsplat` on Windows -Follow these steps to install `gsplat` on Windows. -## Prerequisites +## Install using a pre-compiled wheels + +You can also install gsplat from python wheels containing pre-compiled binaries for a specific pytorch and cuda version. These wheels are stored in the github releases and can be found using simple index pages under https://docs.gsplat.studio/wheels. +You obtain the wheel from this simple index page for a specific pytorch an and cuda version by appending these the version number after a + sign (part referred a *local version*). For example, to install gsplat for pytorch 2.0 and cuda 11.8 you can use +``` +pip install gsplat==1.2.0+pt20cu118 --index-url https://docs.gsplat.studio/wheels +``` +Alternatively, you can specify the pytorch and cuda version in the index url using for example +``` +pip install gsplat --index-url https://docs.gsplat.studio/wheels/pt20cu118 +``` +This has the advantage that you do not have to pin a specific version of the package and as a result get automatically the latest package version. + + +## Install from source + +You can install gsplat by compiling the wheel. In this way it will build the CUDA code during installation. This can be done using either the source package from pypi.org the wheel from pypi.org or using a clone of the repository. In all case visual sutdio needs to be install and activated. + +### Visual studio setup + +Setting up and activating Visual Studio can be done through these steps: 1. Install Visual Studio Build Tools. If MSVC 143 does not work, you may also need to install MSVC 142 for Visual Studio 2019. And your CUDA environment should be set up properly. @@ -37,8 +56,25 @@ Follow these steps to install `gsplat` on Windows. ./vcvarsall.bat x64 -vcvars_ver=14.29 ``` -## Instsall using a clone of the Repository +### Install using the source package published on `pypi.org` + +You can install gsplat from the published source package (and not the wheel) by activating Visual Studio (see above) and then using +``` +pip install --no-binary=gsplat gsplat --no-cache-dir +``` +The CUDA code will be compiled during the installation and the cvisual stdio compiler `cl.exe` does not need to be added to the path, because the installation process as an automatic way to find it. +We use `--no-cache-dir` to avoid the potential risk of havinf pip use a wheel file from `pypi.org` that would have be downloaded previously and that does not have the binaries. + +### Install using the wheel published on `pypi.org` +You can install the `gsplat` using using the wheel published on `pypi.org` by activating Visual Studio (see above) and then using +``` +pip install gsplat +``` +The wheel that does not contain the compiled CUDA binaries. The CUDA code is not compiled during the installation when using wheels, and will be compiled at the first import of `gsplat` wich requires the visual studion executable `cl.exe` to be on the path (see pre-requisite seciont above). + +### Install using the clone of the Repository +This can be done through these steps: 1. Clone the `gsplat` repository: ```bash git clone --recursive https://github.com/nerfstudio-project/gsplat.git @@ -48,27 +84,8 @@ Follow these steps to install `gsplat` on Windows. ```bash cd gsplat ``` - -3. Install `gsplat` using pip: +3. Activate visual Studio +4. Install `gsplat` using pip: ```bash pip install . ``` - -The installed package does not come with precompiled binaries and the cuda code get compiled on the fly and the build file cached at the forst inport of gsplat. - -## Install using a precompiled wheels - -You can install wheels with precompiled binaries using packages listed here `https://martinresearch.github.io/gsplat/whl/gsplat` -You can for axmaple install the wheel with precompiled binaries for pytorch 2.0 and cuda 11.8 using - -``` -pip install gsplat==1.2.0+pt20cu118 --index-url https://martinresearch.github.io/gsplat/whl -``` -or -``` -pip install gsplat==1.2.0 --index-url https://martinresearch.github.io/gsplat/whl/pt20cu118 -``` -Specify the pytorch and cuda version int the index url ahs the advantage that can obtain the lastest version -``` -pip install gsplat --index-url https://martinresearch.github.io/gsplat/whl/pt20cu118 -``` \ No newline at end of file From d8d03f07753d7018e19d999b3153cd8b67542ab5 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sat, 21 Sep 2024 00:48:47 +0100 Subject: [PATCH 153/170] remove the html pages from the PR --- whl/gsplat/index.html | 24 ------------------------ whl/index.html | 5 ----- whl/pt20cu117/gsplat/index.html | 13 ------------- whl/pt20cu117/index.html | 5 ----- whl/pt20cu118/gsplat/index.html | 14 -------------- whl/pt20cu118/index.html | 5 ----- whl/pt21cu118/gsplat/index.html | 14 -------------- whl/pt21cu118/index.html | 5 ----- whl/pt22cu118/gsplat/index.html | 14 -------------- whl/pt22cu118/index.html | 5 ----- whl/pt23cu118/gsplat/index.html | 14 -------------- whl/pt23cu118/index.html | 5 ----- whl/pt24cu118/gsplat/index.html | 14 -------------- whl/pt24cu118/index.html | 5 ----- 14 files changed, 142 deletions(-) delete mode 100644 whl/gsplat/index.html delete mode 100644 whl/index.html delete mode 100644 whl/pt20cu117/gsplat/index.html delete mode 100644 whl/pt20cu117/index.html delete mode 100644 whl/pt20cu118/gsplat/index.html delete mode 100644 whl/pt20cu118/index.html delete mode 100644 whl/pt21cu118/gsplat/index.html delete mode 100644 whl/pt21cu118/index.html delete mode 100644 whl/pt22cu118/gsplat/index.html delete mode 100644 whl/pt22cu118/index.html delete mode 100644 whl/pt23cu118/gsplat/index.html delete mode 100644 whl/pt23cu118/index.html delete mode 100644 whl/pt24cu118/gsplat/index.html delete mode 100644 whl/pt24cu118/index.html diff --git a/whl/gsplat/index.html b/whl/gsplat/index.html deleted file mode 100644 index 6fb80b85e..000000000 --- a/whl/gsplat/index.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - Python Wheels Index - - -

Available Gsplat Python Wheels

- - gsplat-1.2.0+pt20cu117-cp310-cp310-win_amd64.whl
- gsplat-1.2.0+pt20cu118-cp310-cp310-win_amd64.whl
- gsplat-1.2.0+pt20cu118-cp311-cp311-win_amd64.whl
- gsplat-1.2.0+pt21cu118-cp310-cp310-win_amd64.whl
- gsplat-1.2.0+pt21cu118-cp311-cp311-win_amd64.whl
- gsplat-1.2.0+pt22cu118-cp310-cp310-win_amd64.whl
- gsplat-1.2.0+pt22cu118-cp311-cp311-win_amd64.whl
- gsplat-1.2.0+pt23cu118-cp310-cp310-win_amd64.whl
- gsplat-1.2.0+pt23cu118-cp311-cp311-win_amd64.whl
- gsplat-1.2.0+pt24cu118-cp310-cp310-win_amd64.whl
- gsplat-1.2.0+pt24cu118-cp311-cp311-win_amd64.whl
- gsplat-1.2.0.tar.gz
- - \ No newline at end of file diff --git a/whl/index.html b/whl/index.html deleted file mode 100644 index 10d3b4a04..000000000 --- a/whl/index.html +++ /dev/null @@ -1,5 +0,0 @@ - - - gsplat
- - \ No newline at end of file diff --git a/whl/pt20cu117/gsplat/index.html b/whl/pt20cu117/gsplat/index.html deleted file mode 100644 index ba5162a56..000000000 --- a/whl/pt20cu117/gsplat/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - Python Wheels Index - - -

Available Gsplat Python Wheels

- - gsplat-1.2.0+pt20cu117-cp310-cp310-win_amd64.whl
- - \ No newline at end of file diff --git a/whl/pt20cu117/index.html b/whl/pt20cu117/index.html deleted file mode 100644 index 10d3b4a04..000000000 --- a/whl/pt20cu117/index.html +++ /dev/null @@ -1,5 +0,0 @@ - - - gsplat
- - \ No newline at end of file diff --git a/whl/pt20cu118/gsplat/index.html b/whl/pt20cu118/gsplat/index.html deleted file mode 100644 index e883fa69f..000000000 --- a/whl/pt20cu118/gsplat/index.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - Python Wheels Index - - -

Available Gsplat Python Wheels

- - gsplat-1.2.0+pt20cu118-cp310-cp310-win_amd64.whl
- gsplat-1.2.0+pt20cu118-cp311-cp311-win_amd64.whl
- - \ No newline at end of file diff --git a/whl/pt20cu118/index.html b/whl/pt20cu118/index.html deleted file mode 100644 index 10d3b4a04..000000000 --- a/whl/pt20cu118/index.html +++ /dev/null @@ -1,5 +0,0 @@ - - - gsplat
- - \ No newline at end of file diff --git a/whl/pt21cu118/gsplat/index.html b/whl/pt21cu118/gsplat/index.html deleted file mode 100644 index 8b3cde91b..000000000 --- a/whl/pt21cu118/gsplat/index.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - Python Wheels Index - - -

Available Gsplat Python Wheels

- - gsplat-1.2.0+pt21cu118-cp310-cp310-win_amd64.whl
- gsplat-1.2.0+pt21cu118-cp311-cp311-win_amd64.whl
- - \ No newline at end of file diff --git a/whl/pt21cu118/index.html b/whl/pt21cu118/index.html deleted file mode 100644 index 10d3b4a04..000000000 --- a/whl/pt21cu118/index.html +++ /dev/null @@ -1,5 +0,0 @@ - - - gsplat
- - \ No newline at end of file diff --git a/whl/pt22cu118/gsplat/index.html b/whl/pt22cu118/gsplat/index.html deleted file mode 100644 index cf23205ff..000000000 --- a/whl/pt22cu118/gsplat/index.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - Python Wheels Index - - -

Available Gsplat Python Wheels

- - gsplat-1.2.0+pt22cu118-cp310-cp310-win_amd64.whl
- gsplat-1.2.0+pt22cu118-cp311-cp311-win_amd64.whl
- - \ No newline at end of file diff --git a/whl/pt22cu118/index.html b/whl/pt22cu118/index.html deleted file mode 100644 index 10d3b4a04..000000000 --- a/whl/pt22cu118/index.html +++ /dev/null @@ -1,5 +0,0 @@ - - - gsplat
- - \ No newline at end of file diff --git a/whl/pt23cu118/gsplat/index.html b/whl/pt23cu118/gsplat/index.html deleted file mode 100644 index 902801828..000000000 --- a/whl/pt23cu118/gsplat/index.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - Python Wheels Index - - -

Available Gsplat Python Wheels

- - gsplat-1.2.0+pt23cu118-cp310-cp310-win_amd64.whl
- gsplat-1.2.0+pt23cu118-cp311-cp311-win_amd64.whl
- - \ No newline at end of file diff --git a/whl/pt23cu118/index.html b/whl/pt23cu118/index.html deleted file mode 100644 index 10d3b4a04..000000000 --- a/whl/pt23cu118/index.html +++ /dev/null @@ -1,5 +0,0 @@ - - - gsplat
- - \ No newline at end of file diff --git a/whl/pt24cu118/gsplat/index.html b/whl/pt24cu118/gsplat/index.html deleted file mode 100644 index c5a882fac..000000000 --- a/whl/pt24cu118/gsplat/index.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - Python Wheels Index - - -

Available Gsplat Python Wheels

- - gsplat-1.2.0+pt24cu118-cp310-cp310-win_amd64.whl
- gsplat-1.2.0+pt24cu118-cp311-cp311-win_amd64.whl
- - \ No newline at end of file diff --git a/whl/pt24cu118/index.html b/whl/pt24cu118/index.html deleted file mode 100644 index 10d3b4a04..000000000 --- a/whl/pt24cu118/index.html +++ /dev/null @@ -1,5 +0,0 @@ - - - gsplat
- - \ No newline at end of file From 53e2539aecc01978619117d4b72da6b686b4f339 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sat, 21 Sep 2024 01:01:49 +0100 Subject: [PATCH 154/170] remove wheels for python 3.8 and 3.9 from the releases --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 0886c01c4..fada6e1a3 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -21,7 +21,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] + python-version: ['3.10', '3.11', '3.12'] steps: - name: Checkout code From 78b097d77feae3f91c0d8e5a02f96a8b580558e8 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sat, 21 Sep 2024 01:06:01 +0100 Subject: [PATCH 155/170] ruff format --- .../workflows/generate_simple_index_pages.py | 67 +++++++++++-------- 1 file changed, 40 insertions(+), 27 deletions(-) diff --git a/.github/workflows/generate_simple_index_pages.py b/.github/workflows/generate_simple_index_pages.py index 9f6a85a3f..fddd9cc9b 100644 --- a/.github/workflows/generate_simple_index_pages.py +++ b/.github/workflows/generate_simple_index_pages.py @@ -15,7 +15,9 @@ def list_python_wheels(): response = requests.get(releases_url) if response.status_code != 200: - raise Exception(f"Failed to fetch releases: {response.status_code} {response.text}") + raise Exception( + f"Failed to fetch releases: {response.status_code} {response.text}" + ) releases = response.json() @@ -27,25 +29,29 @@ def list_python_wheels(): for asset in assets: filename = asset["name"] if filename.endswith(".whl"): - pattern = r'^(?P[\w\d_.]+)-(?P[\d.]+)(?P\+[\w\d.]+)?-(?P[\w]+)-(?P[\w]+)-(?P[\w]+)\.whl' - + pattern = r"^(?P[\w\d_.]+)-(?P[\d.]+)(?P\+[\w\d.]+)?-(?P[\w]+)-(?P[\w]+)-(?P[\w]+)\.whl" + match = re.match(pattern, filename) - + if match: - local_version = match.group('local') + local_version = match.group("local") if local_version: - local_version = local_version.lstrip('+') # Return the local version without the '+' sign + local_version = local_version.lstrip( + "+" + ) # Return the local version without the '+' sign else: local_version = None else: raise ValueError(f"Invalid wheel filename: {filename}") - wheel_files.append({ - "release_name": release["name"], - "wheel_name": asset["name"], - "download_url": asset["browser_download_url"], - "package_name": match.group('name'), - "local_version": local_version, - }) + wheel_files.append( + { + "release_name": release["name"], + "wheel_name": asset["name"], + "download_url": asset["browser_download_url"], + "package_name": match.group("name"), + "local_version": local_version, + } + ) return wheel_files @@ -84,13 +90,15 @@ def generate_simple_index_htmls(wheels, outdir): # group the wheels by package name packages = {} for wheel in wheels: - package_name = wheel['package_name'] + package_name = wheel["package_name"] if package_name not in packages: packages[package_name] = [] packages[package_name].append(wheel) - + # Render the HTML the list the package names - html_content = template_packages.render(package_names=[str(k) for k in packages.keys()]) + html_content = template_packages.render( + package_names=[str(k) for k in packages.keys()] + ) os.makedirs(outdir, exist_ok=True) with open(os.path.join(outdir, "index.html"), "w") as file: file.write(html_content) @@ -102,13 +110,15 @@ def generate_simple_index_htmls(wheels, outdir): with open(os.path.join(outdir, package_name, "index.html"), "w") as file: file.write(html_page) - + def generate_all_pages(): wheels = list_python_wheels() if wheels: print("Python Wheels found in releases:") for wheel in wheels: - print(f"Release: {wheel['release_name']}, Wheel: {wheel['wheel_name']}, URL: {wheel['download_url']}") + print( + f"Release: {wheel['release_name']}, Wheel: {wheel['wheel_name']}, URL: {wheel['download_url']}" + ) else: print("No Python wheels found in the releases.") @@ -118,22 +128,25 @@ def generate_all_pages(): # group wheels per local version wheels_per_local_version = {} for wheel in wheels: - local_version = wheel['local_version'] + local_version = wheel["local_version"] if local_version not in wheels_per_local_version: wheels_per_local_version[local_version] = [] wheels_per_local_version[local_version].append(wheel) - + # create a subdirectory for each local version for local_version, wheels in wheels_per_local_version.items(): os.makedirs(os.path.join(args.outdir, local_version), exist_ok=True) - generate_simple_index_htmls(wheels, outdir=os.path.join(args.outdir, local_version)) + generate_simple_index_htmls( + wheels, outdir=os.path.join(args.outdir, local_version) + ) + if __name__ == "__main__": - argparser = argparse.ArgumentParser(description="Generate Python Wheels Index Pages") - argparser.add_argument("--outdir", help="Output directory for the index pages", default=".") + argparser = argparse.ArgumentParser( + description="Generate Python Wheels Index Pages" + ) + argparser.add_argument( + "--outdir", help="Output directory for the index pages", default="." + ) args = argparser.parse_args() generate_all_pages() - - - - From 9a8092316e65a6cb10807ef98ca26e17aad694ba Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sat, 21 Sep 2024 01:06:52 +0100 Subject: [PATCH 156/170] Update publish.yml --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index fada6e1a3..44d7a8b0a 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -9,7 +9,7 @@ on: jobs: - # build wheels using reusqble_building.yml + # Build the wheels using reusable_building.yml build_wheels: name: Call reusable building workflow uses: ./.github/workflows/building.yml From df7de2ebb779557aed53e406506141c3edebef60 Mon Sep 17 00:00:00 2001 From: martin de la gorce Date: Sat, 21 Sep 2024 01:15:29 +0100 Subject: [PATCH 157/170] fixing typos --- docs/INSTALL_WIN.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/docs/INSTALL_WIN.md b/docs/INSTALL_WIN.md index a949c93ca..6417fb449 100644 --- a/docs/INSTALL_WIN.md +++ b/docs/INSTALL_WIN.md @@ -1,9 +1,8 @@ # Installing `gsplat` on Windows - ## Install using a pre-compiled wheels -You can also install gsplat from python wheels containing pre-compiled binaries for a specific pytorch and cuda version. These wheels are stored in the github releases and can be found using simple index pages under https://docs.gsplat.studio/wheels. +You can install gsplat from python wheels containing pre-compiled binaries for a specific pytorch and cuda version. These wheels are stored in the github releases and can be found using simple index pages under https://docs.gsplat.studio/wheels. You obtain the wheel from this simple index page for a specific pytorch an and cuda version by appending these the version number after a + sign (part referred a *local version*). For example, to install gsplat for pytorch 2.0 and cuda 11.8 you can use ``` pip install gsplat==1.2.0+pt20cu118 --index-url https://docs.gsplat.studio/wheels @@ -17,7 +16,7 @@ This has the advantage that you do not have to pin a specific version of the pac ## Install from source -You can install gsplat by compiling the wheel. In this way it will build the CUDA code during installation. This can be done using either the source package from pypi.org the wheel from pypi.org or using a clone of the repository. In all case visual sutdio needs to be install and activated. +You can install gsplat by compiling the wheel. In this way it will build the CUDA code during installation. This can be done using either the source package from pypi.org the wheel from pypi.org or using a clone of the repository. In all case Visual Studio needs to be install and activated. ### Visual studio setup @@ -25,6 +24,7 @@ Setting up and activating Visual Studio can be done through these steps: 1. Install Visual Studio Build Tools. If MSVC 143 does not work, you may also need to install MSVC 142 for Visual Studio 2019. And your CUDA environment should be set up properly. + 2. Activate your conda environment: ```bash conda activate @@ -62,16 +62,17 @@ You can install gsplat from the published source package (and not the wheel) by ``` pip install --no-binary=gsplat gsplat --no-cache-dir ``` -The CUDA code will be compiled during the installation and the cvisual stdio compiler `cl.exe` does not need to be added to the path, because the installation process as an automatic way to find it. -We use `--no-cache-dir` to avoid the potential risk of havinf pip use a wheel file from `pypi.org` that would have be downloaded previously and that does not have the binaries. +The CUDA code will be compiled during the installation and the Visual Studio compiler `cl.exe` does not need to be added to the path, because the installation process as an automatic way to find it. +We use `--no-cache-dir` to avoid the potential risk of getting pip using a wheel file from `pypi.org` that would have be downloaded previously and that does not have the binaries. ### Install using the wheel published on `pypi.org` -You can install the `gsplat` using using the wheel published on `pypi.org` by activating Visual Studio (see above) and then using +Setting up and activating Visual Studio can be done through these steps: +You can install the `gsplat` using the wheel published on `pypi.org` by activating Visual Studio (see above) and then using ``` pip install gsplat ``` -The wheel that does not contain the compiled CUDA binaries. The CUDA code is not compiled during the installation when using wheels, and will be compiled at the first import of `gsplat` wich requires the visual studion executable `cl.exe` to be on the path (see pre-requisite seciont above). +The wheel that does not contain the compiled CUDA binaries. The CUDA code is not compiled during the installation when using wheels and will be compiled at the first import of `gsplat` which requires the Visual Studio executable `cl.exe` to be on the path (see pre-requisite section above). ### Install using the clone of the Repository This can be done through these steps: From e2bcff4cf207938a5307f470fac49936c5d2e2d3 Mon Sep 17 00:00:00 2001 From: Martin de La Gorce Date: Thu, 26 Sep 2024 13:40:27 +0100 Subject: [PATCH 158/170] Update generate_simple_index_pages.py --- .github/workflows/generate_simple_index_pages.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/generate_simple_index_pages.py b/.github/workflows/generate_simple_index_pages.py index fddd9cc9b..bb0537175 100644 --- a/.github/workflows/generate_simple_index_pages.py +++ b/.github/workflows/generate_simple_index_pages.py @@ -129,7 +129,7 @@ def generate_all_pages(): wheels_per_local_version = {} for wheel in wheels: local_version = wheel["local_version"] - if local_version not in wheels_per_local_version: + if local_version is not None and local_version not in wheels_per_local_version: wheels_per_local_version[local_version] = [] wheels_per_local_version[local_version].append(wheel) From 9446369e1e5c47a038dd13665a9b19e836524721 Mon Sep 17 00:00:00 2001 From: Ruilong Li <397653553@qq.com> Date: Thu, 26 Sep 2024 17:59:02 +0000 Subject: [PATCH 159/170] wheels -> whl --- .github/workflows/publish.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 44d7a8b0a..ae4b71686 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -54,7 +54,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Generate Simple Index Pages - run: python .github/workflows/generate_simple_index_pages.py --outdir ./wheels + run: python .github/workflows/generate_simple_index_pages.py --outdir ./whl env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -62,8 +62,8 @@ jobs: uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./wheels # Directory where the simple index pages are located - destination_dir: wheels # The 'wh' folder in the GitHub Pages root + publish_dir: ./whl # Directory where the simple index pages are located + destination_dir: whl # The 'wh' folder in the GitHub Pages root upload_pypi: name: Upload to PyPi From 09e04547435b45e3af761bfe86900adcb3ce3673 Mon Sep 17 00:00:00 2001 From: Ruilong Li <397653553@qq.com> Date: Thu, 26 Sep 2024 18:01:19 +0000 Subject: [PATCH 160/170] test --- .github/workflows/building.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index c7e4cc082..e97861938 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -33,9 +33,12 @@ jobs: fail-fast: false matrix: os: [ubuntu-20.04, windows-2019] - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] - torch-version: ['2.0.0', '2.1.0', '2.2.0', '2.3.0', '2.4.0'] - cuda-version: ['cu118', 'cu121', 'cu124'] + # python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] + # torch-version: ['2.0.0', '2.1.0', '2.2.0', '2.3.0', '2.4.0'] + # cuda-version: ['cu118', 'cu121', 'cu124'] + python-version: ['3.8'] + torch-version: ['2.0.0'] + cuda-version: ['cu118'] exclude: - python-version: 3.12 From 4817516e2ef2f40e90fc040db06653c4fec33ac8 Mon Sep 17 00:00:00 2001 From: Ruilong Li <397653553@qq.com> Date: Thu, 26 Sep 2024 18:09:43 +0000 Subject: [PATCH 161/170] test --- .github/workflows/building.yml | 10 +++++----- .github/workflows/publish.yml | 15 +++++---------- 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index e97861938..b24802d45 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -1,4 +1,4 @@ -name: Building Wheels +name: Build Wheels on: [workflow_call, workflow_dispatch] @@ -7,7 +7,7 @@ jobs: name: Build source distribution and no binary wheel runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Strip unsupported tags in README run: | sed -i '//,//d' README.md @@ -15,11 +15,11 @@ jobs: run: BUILD_NO_CUDA=1 pipx run build --sdist - name: Build wheel with no binaries run: BUILD_NO_CUDA=1 python setup.py bdist_wheel --dist-dir=dist - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: pypi_packages path: dist/*.tar.gz - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: pypi_packages path: dist/*.whl @@ -169,7 +169,7 @@ jobs: cd .. shell: bash # `ls -lah` does not exist in windows powershell - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: compiled_wheels_python${{ matrix.python-version }} path: dist/*.whl diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index ae4b71686..c4a319c2e 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -82,13 +82,8 @@ jobs: password: ${{ secrets.TEST_PYPI_API_TOKEN }} repository-url: https://test.pypi.org/legacy/ - - name: Publish package to PyPI - env: - PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} - run: | - twine upload --username __token__ --password $PYPI_TOKEN dist/* - - - name: Install dependencies - run: | - python -m pip install requests jinja2 - + # - name: Publish package to PyPI + # env: + # PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} + # run: | + # twine upload --username __token__ --password $PYPI_TOKEN dist/* \ No newline at end of file From 819605a17c3eecfb85f98c4661983018d70dacc6 Mon Sep 17 00:00:00 2001 From: Ruilong Li <397653553@qq.com> Date: Thu, 26 Sep 2024 18:12:50 +0000 Subject: [PATCH 162/170] fix --- .github/workflows/building.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index b24802d45..19bcac20e 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -19,10 +19,6 @@ jobs: with: name: pypi_packages path: dist/*.tar.gz - - uses: actions/upload-artifact@v4 - with: - name: pypi_packages - path: dist/*.whl build_wheels: From 8469c0b601c5c5a557cba4f85b2991cbf2823a1d Mon Sep 17 00:00:00 2001 From: Ruilong Li <397653553@qq.com> Date: Thu, 26 Sep 2024 19:13:34 +0000 Subject: [PATCH 163/170] some updates --- .github/workflows/building.yml | 8 +++++--- .github/workflows/core_tests.yml | 2 +- .github/workflows/generate_simple_index_pages.yml | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index 19bcac20e..e24365093 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -15,7 +15,7 @@ jobs: run: BUILD_NO_CUDA=1 pipx run build --sdist - name: Build wheel with no binaries run: BUILD_NO_CUDA=1 python setup.py bdist_wheel --dist-dir=dist - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v3 with: name: pypi_packages path: dist/*.tar.gz @@ -90,7 +90,7 @@ jobs: submodules: recursive - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} @@ -165,7 +165,9 @@ jobs: cd .. shell: bash # `ls -lah` does not exist in windows powershell - - uses: actions/upload-artifact@v4 + # v4 does not allow writing into the same folder, so stick with v3 + # https://github.com/actions/upload-artifact/issues/478 + - uses: actions/upload-artifact@v3 with: name: compiled_wheels_python${{ matrix.python-version }} path: dist/*.whl diff --git a/.github/workflows/core_tests.yml b/.github/workflows/core_tests.yml index 7226317c9..a4db904fc 100644 --- a/.github/workflows/core_tests.yml +++ b/.github/workflows/core_tests.yml @@ -19,7 +19,7 @@ jobs: submodules: 'recursive' - name: Set up Python 3.8.12 - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: "3.8.12" - name: Install dependencies diff --git a/.github/workflows/generate_simple_index_pages.yml b/.github/workflows/generate_simple_index_pages.yml index 3d4c84d2c..17b3397dd 100644 --- a/.github/workflows/generate_simple_index_pages.yml +++ b/.github/workflows/generate_simple_index_pages.yml @@ -20,7 +20,7 @@ jobs: submodules: 'recursive' - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: '3.x' From 5e4e883700ec680e9b606fbfe0fa3665c9ddc91f Mon Sep 17 00:00:00 2001 From: Ruilong Li <397653553@qq.com> Date: Thu, 26 Sep 2024 22:19:22 +0000 Subject: [PATCH 164/170] fix --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index c4a319c2e..a5b18ada1 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -21,7 +21,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.10', '3.11', '3.12'] + python-version: ['3.8'] steps: - name: Checkout code From 1c72ddb54e237ef75baafd87558baff7893b9e20 Mon Sep 17 00:00:00 2001 From: Ruilong Li <397653553@qq.com> Date: Thu, 26 Sep 2024 23:06:06 +0000 Subject: [PATCH 165/170] ninja-build --- .github/workflows/building.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index e24365093..27df557b3 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -151,6 +151,7 @@ jobs: - name: Build wheel # build against architectures >= 7.0 (required by cooperative_groups::labeled_partition in gsplat) run: | + sudo apt install ninja-build pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} MAX_JOBS=2 python setup.py bdist_wheel --dist-dir=dist From bc2950cdae455e1a558f96a5b447f93a0c78ebc8 Mon Sep 17 00:00:00 2001 From: Ruilong Li <397653553@qq.com> Date: Thu, 26 Sep 2024 23:20:50 +0000 Subject: [PATCH 166/170] revert --- .github/workflows/building.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index 27df557b3..e24365093 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -151,7 +151,6 @@ jobs: - name: Build wheel # build against architectures >= 7.0 (required by cooperative_groups::labeled_partition in gsplat) run: | - sudo apt install ninja-build pip install wheel source .github/workflows/cuda/${{ runner.os }}-env.sh ${{ matrix.cuda-version }} MAX_JOBS=2 python setup.py bdist_wheel --dist-dir=dist From 62076f9157fb599feee8eeade644642d92d759f6 Mon Sep 17 00:00:00 2001 From: Ruilong Li <397653553@qq.com> Date: Fri, 27 Sep 2024 00:17:40 +0000 Subject: [PATCH 167/170] fix --- .github/workflows/publish.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a5b18ada1..70dca94f2 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -29,7 +29,7 @@ jobs: - name: Download packages id: download_artifacts - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: compiled_wheels_python${{ matrix.python-version }} path: dist @@ -53,6 +53,10 @@ jobs: needs: [create_release_and_upload_packages] runs-on: ubuntu-latest steps: + + - name: Checkout code + uses: actions/checkout@v3 + - name: Generate Simple Index Pages run: python .github/workflows/generate_simple_index_pages.py --outdir ./whl env: @@ -71,7 +75,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v4 with: name: pypi_packages path: dist From fce307ef721320a44f5e5e1bcbcc6140cc21c1eb Mon Sep 17 00:00:00 2001 From: Ruilong Li <397653553@qq.com> Date: Fri, 27 Sep 2024 01:13:28 +0000 Subject: [PATCH 168/170] artifact v3 --- .github/workflows/publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 70dca94f2..5343d20f2 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -29,7 +29,7 @@ jobs: - name: Download packages id: download_artifacts - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v3 with: name: compiled_wheels_python${{ matrix.python-version }} path: dist @@ -75,7 +75,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@v3 with: name: pypi_packages path: dist From f5eabf9e46bdbd072ee27b16b703c02d0432f283 Mon Sep 17 00:00:00 2001 From: Ruilong Li <397653553@qq.com> Date: Fri, 27 Sep 2024 02:12:34 +0000 Subject: [PATCH 169/170] all version with python3.10 --- .github/workflows/building.yml | 12 ++++++------ .github/workflows/publish.yml | 22 +++++++++++----------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.github/workflows/building.yml b/.github/workflows/building.yml index e24365093..f5e6c8e99 100644 --- a/.github/workflows/building.yml +++ b/.github/workflows/building.yml @@ -29,12 +29,12 @@ jobs: fail-fast: false matrix: os: [ubuntu-20.04, windows-2019] - # python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] - # torch-version: ['2.0.0', '2.1.0', '2.2.0', '2.3.0', '2.4.0'] - # cuda-version: ['cu118', 'cu121', 'cu124'] - python-version: ['3.8'] - torch-version: ['2.0.0'] - cuda-version: ['cu118'] + python-version: ['3.10'] + torch-version: ['2.0.0', '2.1.0', '2.2.0', '2.3.0', '2.4.0'] + cuda-version: ['cu118', 'cu121', 'cu124'] + # python-version: ['3.8'] + # torch-version: ['2.0.0'] + # cuda-version: ['cu118'] exclude: - python-version: 3.12 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 5343d20f2..941866cce 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -21,7 +21,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.8'] + python-version: ['3.10'] steps: - name: Checkout code @@ -80,14 +80,14 @@ jobs: name: pypi_packages path: dist - - name: Publish package to Test PyPI - uses: pypa/gh-action-pypi-publish@release/v1 - with: - password: ${{ secrets.TEST_PYPI_API_TOKEN }} - repository-url: https://test.pypi.org/legacy/ + # - name: Publish package to Test PyPI + # uses: pypa/gh-action-pypi-publish@release/v1 + # with: + # password: ${{ secrets.TEST_PYPI_API_TOKEN }} + # repository-url: https://test.pypi.org/legacy/ - # - name: Publish package to PyPI - # env: - # PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} - # run: | - # twine upload --username __token__ --password $PYPI_TOKEN dist/* \ No newline at end of file + - name: Publish package to PyPI + env: + PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} + run: | + twine upload --username __token__ --password $PYPI_TOKEN dist/* \ No newline at end of file From f55f2e3d4f63632d8a8042378088e023d6579850 Mon Sep 17 00:00:00 2001 From: Ruilong Li <397653553@qq.com> Date: Fri, 27 Sep 2024 02:16:51 +0000 Subject: [PATCH 170/170] wheels -> whl --- README.md | 6 +++--- docs/INSTALL_WIN.md | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index e2fbf6afb..fb763db1c 100644 --- a/README.md +++ b/README.md @@ -24,14 +24,14 @@ The easiest way is to install from PyPI. In this way it will build the CUDA code pip install gsplat ``` -Alternatively, you can install gsplat from python wheels containing pre-compiled binaries for a specific pytorch and cuda version. These wheels are stored in the github releases and can be found using simple index pages under https://docs.gsplat.studio/wheels. +Alternatively, you can install gsplat from python wheels containing pre-compiled binaries for a specific pytorch and cuda version. These wheels are stored in the github releases and can be found using simple index pages under https://docs.gsplat.studio/whl. You obtain the wheel from this simple index page for a specific pytorch an and cuda version by appending these the version number after a + sign (part referred a *local version*). For example, to install gsplat for pytorch 2.0 and cuda 11.8 you can use ``` -pip install gsplat==1.2.0+pt20cu118 --index-url https://docs.gsplat.studio/wheels +pip install gsplat==1.2.0+pt20cu118 --index-url https://docs.gsplat.studio/whl ``` Alternatively, you can specify the pytorch and cuda version in the index url using for example ``` -pip install gsplat --index-url https://docs.gsplat.studio/wheels/pt20cu118 +pip install gsplat --index-url https://docs.gsplat.studio/whl/pt20cu118 ``` This has the advantage that you do not have to pin a specific version of the package and as a result get automatically the latest package version. diff --git a/docs/INSTALL_WIN.md b/docs/INSTALL_WIN.md index 6417fb449..4ad098a80 100644 --- a/docs/INSTALL_WIN.md +++ b/docs/INSTALL_WIN.md @@ -2,14 +2,14 @@ ## Install using a pre-compiled wheels -You can install gsplat from python wheels containing pre-compiled binaries for a specific pytorch and cuda version. These wheels are stored in the github releases and can be found using simple index pages under https://docs.gsplat.studio/wheels. +You can install gsplat from python wheels containing pre-compiled binaries for a specific pytorch and cuda version. These wheels are stored in the github releases and can be found using simple index pages under https://docs.gsplat.studio/whl. You obtain the wheel from this simple index page for a specific pytorch an and cuda version by appending these the version number after a + sign (part referred a *local version*). For example, to install gsplat for pytorch 2.0 and cuda 11.8 you can use ``` -pip install gsplat==1.2.0+pt20cu118 --index-url https://docs.gsplat.studio/wheels +pip install gsplat==1.2.0+pt20cu118 --index-url https://docs.gsplat.studio/whl ``` Alternatively, you can specify the pytorch and cuda version in the index url using for example ``` -pip install gsplat --index-url https://docs.gsplat.studio/wheels/pt20cu118 +pip install gsplat --index-url https://docs.gsplat.studio/whl/pt20cu118 ``` This has the advantage that you do not have to pin a specific version of the package and as a result get automatically the latest package version.