Skip to content

[CI] Run build on Ubuntu 22, pre-commit if CUDA adapter changes. #17757

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 4, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/workflows/sycl-detect-changes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,8 @@ jobs:
ur:
- 'unified-runtime/**'
- .github/workflows/ur-*
ur_cuda_adapter:
- 'unified-runtime/source/adapters/cuda/**'

- name: Set output
id: result
Expand All @@ -87,7 +89,7 @@ jobs:
return '${{ steps.changes.outputs.changes }}';
}
// Treat everything as changed for huge PRs.
return ["llvm", "llvm_spirv", "clang", "sycl_jit", "xptifw", "libclc", "sycl", "ci", "esimd", "ur"];
return ["llvm", "llvm_spirv", "clang", "sycl_jit", "xptifw", "libclc", "sycl", "ci", "esimd", "ur", "ur_cuda_adapter"];

- run: echo '${{ steps.result.outputs.result }}'

16 changes: 16 additions & 0 deletions .github/workflows/sycl-linux-precommit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,22 @@ jobs:
changes: ${{ needs.detect_changes.outputs.filters }}
e2e_binaries_artifact: sycl_e2e_bin_default

# If a PR changes CUDA adapter, run the build on Ubuntu 22.04 as well.
# Ubuntu 22.04 container has CUDA 12.1 installed while Ubuntu 24.0 image
# has CUDA 12.6.1 installed.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I get it right, patches with changes in CUDA adaptor will be tested with both CUDA 12.6.1 and CUDA 12.1 (at least build + LIT?).
In addition, I saw CUDA 12.8 is installed on (at least) one of Windows runners.
Do intentionally use different CUDA versions in different workflows (or different machines)?

@npmiller, FYI.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I get it right, patches with changes in CUDA adaptor will be tested with both CUDA 12.6.1 and CUDA 12.1 (at least build + LIT?).

Yes, for Linux.

In addition, I saw CUDA 12.8 is installed on (at least) one of Windows runners.
Do intentionally use different CUDA versions in different workflows (or different machines)?

@sarnex Since you installed CUDA on Windows runners, do we plan to have CUDA 12.8 uniformly on all Windows runners? CodePlay's UR CUDA adapter workflow uses CUDA 12.4, so I'm not sure if CUDA 12.8 is even extensively tested

Copy link
Contributor

@sarnex sarnex Mar 31, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah im installing cuda 12.8 on all windows runners, but we dont have any nvidia windows gpu machines, so its basically build only testing

# The idea is to ensure that the code works with both CUDA versions.
build_ubuntu2204:
needs: [detect_changes]
if: always() && !cancelled() && contains(needs.detect_changes.outputs.filters, 'ur_cuda_adapter')
uses: ./.github/workflows/sycl-linux-build.yml
with:
build_ref: ${{ github.sha }}
build_cache_root: "/__w/"
build_artifact_suffix: "default"
build_cache_suffix: "default"
build_image: "ghcr.io/intel/llvm/ubuntu2204_build:latest"
changes: ${{ needs.detect_changes.outputs.filters }}

run_prebuilt_e2e_tests:
needs: [build, detect_changes]
if: ${{ always() && !cancelled() && needs.build.outputs.build_conclusion == 'success' }}
Expand Down
Loading