Port SYCL tensor backends to match CUDA for HashMap, NNS, and t/ pipe… #4731
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Ubuntu OpenBLAS | |
| permissions: {} | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| types: [opened, reopened, synchronize] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| openblas-amd64: | |
| permissions: | |
| contents: read | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| steps: | |
| - name: Checkout source code | |
| uses: actions/checkout@v4 | |
| - name: Maximize build space | |
| run: | | |
| source util/ci_utils.sh | |
| maximize_ubuntu_github_actions_build_space | |
| - name: Docker build | |
| run: docker/docker_build.sh openblas-amd64-py312-dev | |
| - name: Docker test | |
| run: docker/docker_test.sh openblas-amd64-py312-dev | |
| build-lib-arm64: | |
| name: Build Lib ARM64 | |
| permissions: | |
| contents: write # Release upload | |
| id-token: write | |
| attestations: write | |
| artifact-metadata: write | |
| runs-on: ubuntu-24.04-arm # latest | |
| env: | |
| DEVELOPER_BUILD: 'ON' | |
| OPEN3D_CPU_RENDERING: true | |
| steps: | |
| - name: Checkout source code | |
| uses: actions/checkout@v4 | |
| - name: Maximize build space | |
| run: | | |
| source util/ci_utils.sh | |
| maximize_ubuntu_github_actions_build_space | |
| - name: Docker build lib | |
| run: | | |
| # Use py310 as dummy | |
| docker/docker_build.sh openblas-arm64-py310-dev build-lib | |
| # Image name open3d-ci:openblas-arm64-py310-dev (check valid tag in script) | |
| docker tag open3d-ci:openblas-arm64-py310-dev open3d-lib-arm64:latest | |
| docker save open3d-lib-arm64:latest | gzip > open3d-lib-arm64.tar.gz | |
| - name: Upload Lib Image | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: open3d-lib-arm64 | |
| path: open3d-lib-arm64.tar.gz | |
| retention-days: 1 | |
| build-wheel-arm64: | |
| name: Build Wheel ARM64 | |
| permissions: | |
| contents: write # Release upload | |
| id-token: write | |
| attestations: write | |
| runs-on: ubuntu-24.04-arm | |
| needs: build-lib-arm64 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python_version: ['3.10', '3.11', '3.12', '3.13', '3.14'] | |
| is_main: | |
| - ${{ github.ref == 'refs/heads/main' }} | |
| exclude: | |
| - is_main: false | |
| python_version: '3.10' | |
| - is_main: false | |
| python_version: '3.11' | |
| - is_main: false | |
| python_version: '3.12' | |
| - is_main: false | |
| python_version: '3.13' | |
| env: | |
| DEVELOPER_BUILD: ${{ github.event.inputs.developer_build || 'ON' }} | |
| PYTHON_VERSION: ${{ matrix.python_version }} | |
| OPEN3D_CPU_RENDERING: true | |
| steps: | |
| - name: Checkout source code | |
| uses: actions/checkout@v4 | |
| - name: Maximize build space | |
| run: | | |
| source util/ci_utils.sh | |
| maximize_ubuntu_github_actions_build_space | |
| - name: Download Lib Image | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: open3d-lib-arm64 | |
| path: . | |
| - name: Load Lib Image | |
| run: docker load -i open3d-lib-arm64.tar.gz # Restore open3d-lib-arm64:latest | |
| - name: Compute Docker tag for this matrix entry | |
| run: | | |
| # Strip the dot: 3.12 ➜ 312, 3.14 ➜ 314 … | |
| PY_NO_DOT="${PYTHON_VERSION//./}" | |
| # Add “-dev” only when requested | |
| DEV_SUFFIX=$([ "${DEVELOPER_BUILD}" = "ON" ] && echo "-dev") | |
| echo "DOCKER_TAG=openblas-arm64-py${PY_NO_DOT}${DEV_SUFFIX}" >> $GITHUB_ENV | |
| - name: Docker build | |
| run: | | |
| export BASE_IMAGE=open3d-lib-arm64:latest | |
| docker/docker_build.sh "${DOCKER_TAG}" | |
| shopt -s failglob | |
| PIP_PKG_NAME="$(basename ${GITHUB_WORKSPACE}/open3d-[0-9]*.whl)" | |
| echo "PIP_PKG_NAME=$PIP_PKG_NAME" >> $GITHUB_ENV | |
| - name: Generate wheel attestation | |
| uses: actions/attest@v4 | |
| with: | |
| subject-path: ${{ github.workspace }}/${{ env.PIP_PKG_NAME }} | |
| - name: Upload wheel to GitHub artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| path: ${{ env.PIP_PKG_NAME }} | |
| name: ${{ env.PIP_PKG_NAME }} | |
| if-no-files-found: error | |
| - name: Update devel release | |
| if: ${{ github.ref == 'refs/heads/main' }} | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| run: | | |
| .github/workflows/update_release.sh ${{ env.PIP_PKG_NAME }} | |
| # Move after artifact upload, so failing / flaky C++ tests don't block the uploads. | |
| - name: Docker test | |
| run: docker/docker_test.sh "${DOCKER_TAG}" |