| name: CI | |
| on: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| branches: | |
| - master | |
| jobs: | |
| build_linux: | |
| name: Build on linux systems | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| include: | |
| - os: ubuntu-22.04 | |
| cuda: "11.7" | |
| arch: 86 | |
| python: "3.11" | |
| - os: ubuntu-18.04 | |
| cuda: "10.2" | |
| arch: 75 | |
| python: "3.10" | |
| - os: ubuntu-18.04 | |
| cuda: "10.2" | |
| arch: 70 | |
| python: "3.9" | |
| - os: ubuntu-18.04 | |
| cuda: "10.2" | |
| arch: 61 | |
| python: "3.8" | |
| - os: ubuntu-18.04 | |
| cuda: "10.2" | |
| arch: 53 | |
| python: "3.7" | |
| - os: ubuntu-18.04 | |
| cuda: "10.2" | |
| arch: 37 | |
| python: "3.6" | |
| env: | |
| build_dir: "build" | |
| config: "Release" | |
| TCNN_CUDA_ARCHITECTURES: ${{ matrix.arch }} | |
| steps: | |
| - name: Install dependencies | |
| run: sudo apt-get update && sudo apt-get install build-essential python3-dev libglfw3-dev libglew-dev libxinerama-dev libxcursor-dev libxi-dev | |
| - uses: actions/checkout@v3 | |
| with: | |
| submodules: recursive | |
| - uses: actions/setup-python@v4 | |
| with: | |
| python-version: ${{ matrix.python }} | |
| - run: pip install -r requirements.txt | |
| - name: Install CUDA | |
| env: | |
| cuda: ${{ matrix.cuda }} | |
| run: ./dependencies/cuda-cmake-github-actions/scripts/actions/install_cuda_ubuntu.sh | |
| shell: bash | |
| - name: Prepare Vulkan SDK | |
| uses: humbletim/setup-vulkan-sdk@v1.2.0 | |
| with: | |
| vulkan-query-version: latest | |
| vulkan-components: Vulkan-Headers, Vulkan-Loader | |
| - name: CMake | |
| run: cmake . -B ${{ env.build_dir }} -DCMAKE_BUILD_TYPE=${{ env.config }} | |
| - name: Build | |
| working-directory: ${{ env.build_dir }} | |
| run: cmake --build . --target all --verbose -j `nproc` | |
| build_windows: | |
| name: Build on Windows | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| include: | |
| - os: windows-2019 | |
| visual_studio: "Visual Studio 16 2019" | |
| cuda: "11.5.1" | |
| arch: 86 | |
| python: "3.11" | |
| recommended_gpus: "RTX 3000 & 4000 (Ampere & Ada)" | |
| - os: windows-2019 | |
| visual_studio: "Visual Studio 16 2019" | |
| cuda: "11.5.1" | |
| arch: 75 | |
| python: "3.10" | |
| recommended_gpus: "RTX 2000 (Turing)" | |
| - os: windows-2019 | |
| visual_studio: "Visual Studio 16 2019" | |
| cuda: "11.5.1" | |
| arch: 70 | |
| python: "3.9" | |
| recommended_gpus: "GTX 1000 (Pascal)" | |
| - os: windows-2019 | |
| visual_studio: "Visual Studio 16 2019" | |
| cuda: "11.5.1" | |
| arch: 61 | |
| python: "3.8" | |
| - os: windows-2019 | |
| visual_studio: "Visual Studio 16 2019" | |
| cuda: "11.5.1" | |
| arch: 53 | |
| python: "3.7" | |
| - os: windows-2019 | |
| visual_studio: "Visual Studio 16 2019" | |
| cuda: "11.5.1" | |
| arch: 37 | |
| python: "3.6" | |
| env: | |
| build_dir: "build" | |
| config: "Release" | |
| TCNN_CUDA_ARCHITECTURES: ${{ matrix.arch }} | |
| steps: | |
| - uses: actions/checkout@v3 | |
| with: | |
| submodules: recursive | |
| - uses: actions/setup-python@v4 | |
| with: | |
| python-version: ${{ matrix.python }} | |
| - run: pip install -r requirements.txt | |
| - name: Install CUDA | |
| env: | |
| cuda: ${{ matrix.cuda }} | |
| visual_studio: ${{ matrix.visual_studio }} | |
| shell: powershell | |
| run: .\dependencies\cuda-cmake-github-actions\scripts\actions\install_cuda_windows.ps1 | |
| - name: Prepare Vulkan SDK | |
| uses: humbletim/setup-vulkan-sdk@v1.2.0 | |
| with: | |
| vulkan-query-version: latest | |
| vulkan-components: Vulkan-Headers, Vulkan-Loader | |
| - name: CMake | |
| run: cmake . -B ${{ env.build_dir }} -G "${{ matrix.visual_studio }}" -A x64 | |
| - name: Build | |
| working-directory: ${{ env.build_dir }} | |
| run: cmake --build . --config ${{ env.config }} --target ALL_BUILD --verbose | |
| - name: Upload release | |
| if: ${{ matrix.recommended_gpus }} | |
| uses: actions/upload-artifact@v3 | |
| with: | |
| name: Instant NGP for ${{ matrix.recommended_gpus }} | |
| path: | | |
| README.md | |
| LICENSE.txt | |
| ${{ env.build_dir }}/instant-ngp.exe | |
| ${{ env.build_dir }}/nvngx_dlss.dll | |
| configs/ | |
| docs/nerf_dataset_tips.md | |
| docs/assets_readme/ | |
| data/ | |