Skip to content

Enable SYCL CPU fallback in CI test containers#7458

Open
Copilot wants to merge 9 commits intomainfrom
copilot/port-cuda-kdtree-to-sycl
Open

Enable SYCL CPU fallback in CI test containers#7458
Copilot wants to merge 9 commits intomainfrom
copilot/port-cuda-kdtree-to-sycl

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 14, 2026

Type

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality).
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Motivation and Context

SYCL tests in GitHub Actions were still skipping the SYCL CPU fallback path because the test process inside the SYCL Docker container did not receive CI=true. As a result, shared C++ and Python test selectors continued to treat SYCL:0 as ignored fallback-only hardware even when no SYCL GPU was available.

Checklist:

  • I have run python util/check_style.py --apply to apply Open3D code style
    to my code.
  • This PR changes Open3D behavior or adds new functionality.
    • Both C++ (Doxygen) and Python (Sphinx / Google style) documentation is
      updated accordingly.
    • I have added or updated C++ and / or Python unit tests OR included test
      results
      (e.g. screenshots or numbers) here.
  • I will follow up and update the code if CI fails.
  • For fork PRs, I have selected Allow edits from maintainers.

Description

  • CI propagation into SYCL Docker tests

    • docker/docker_test.sh now forwards CI into SYCL test containers.
    • This activates the existing CI-only fallback logic during actual GitHub test execution, not just on the host runner.
  • SYCL test device selection

    • cpp/tests/core/CoreTest.cpp and python/test/open3d_test.py include the SYCL CPU fallback device when:
      • no SYCL GPU is available, and
      • CI is set.
    • Local behavior stays unchanged.
  • Hardware-specific SYCL exclusions

    • python/test/t/geometry/test_raycasting_scene.py explicitly opts out of the CI SYCL CPU fallback.
    • Raycasting / Embree tests remain SYCL-GPU-only.

Example:

# Host runner
CI=true docker/docker_test.sh sycl-shared

Inside the container, the shared selectors now see CI=true and can include SYCL:0 for general SYCL tests while keeping raycasting tests off the CPU fallback path.


📍 Connect Copilot coding agent with Jira, Azure Boards or Linear to delegate work to Copilot in one click without leaving your project management tool.

@update-docs
Copy link
Copy Markdown

update-docs bot commented Mar 14, 2026

Thanks for submitting this pull request! The maintainers of this repository would appreciate if you could update the CHANGELOG.md based on your changes.

Copilot AI and others added 2 commits March 14, 2026 07:30
Co-authored-by: ssheorey <41028320+ssheorey@users.noreply.github.com>
Co-authored-by: ssheorey <41028320+ssheorey@users.noreply.github.com>
Copilot AI changed the title [WIP] Port CUDA kdtree k nearest neighbor code to SYCL for Intel GPUs Add SYCL support for core NNS knn, radius, and hybrid search Mar 14, 2026
Copilot AI requested a review from ssheorey March 14, 2026 07:33
@ssheorey ssheorey marked this pull request as ready for review March 16, 2026 06:34
@ssheorey ssheorey requested a review from benjaminum March 16, 2026 06:35
Co-authored-by: ssheorey <41028320+ssheorey@users.noreply.github.com>
Agent-Logs-Url: https://github.com/isl-org/Open3D/sessions/f9269302-5ca6-4b36-a6cf-8bc5a7159571
Copilot AI changed the title Add SYCL support for core NNS knn, radius, and hybrid search Enable SYCL CPU fallback devices in CI tests Mar 20, 2026
Co-authored-by: ssheorey <41028320+ssheorey@users.noreply.github.com>
Agent-Logs-Url: https://github.com/isl-org/Open3D/sessions/049e6acc-8c1e-4369-8ce5-87140bb68834
Copilot AI changed the title Enable SYCL CPU fallback devices in CI tests Enable SYCL CPU fallback in CI test containers Mar 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants