-
Notifications
You must be signed in to change notification settings - Fork 795
[E2E] Introduce SPIR-V Backend support in SYCL tests and end-to-end tests #16317
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
[E2E] Introduce SPIR-V Backend support in SYCL tests and end-to-end tests #16317
Conversation
|
@AlexeySachkov @sarnex Please have a look. This PR shows how we possibly can enable the LLVM SPIR-V Backend in DPC++ CI. A separate question is how to pass "-fsycl-use-spirv-backend-for-spirv-gen" in the SYCL CTS test suite. |
AlexeySachkov
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sycl/test-e2e changes LGTM
.github/workflows/sycl-nightly.yml
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have no objections to that conceptually, but I have a concern that we may not have enough HW available to finish that testing in reasonable time,
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I agree. I will keep the PR draft until we have completed discussing changes and potential consequences.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah especially since we're using gen12 which takes forever to run as it is. can you bring this up at our next gatekeeper/CI meeting? there is one today but idk if there is time for this issue. will fwd.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, thank you
sarnex
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
needs discussion at CI meeting imo
@sarnex What do you think about the following way forward -- I will remove SYCL CTS from .github/workflows/sycl-nightly.yml, so we have just E2E testing turned on? In this case the blocker for this PR can be addressed separately in the next PR, after we discuss at the CI meeting, and we will be able to proceed without longer pauses. |
|
just E2E in the nightly should be fine IMO, it runs in the middle of the night when nobody is working and CI is empty but i will ask you to check the results evyery day and make sure its passing and fix/disable failing tests |
sycl/test-e2e/Basic/backend_info.cpp
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ideally, -fsyntax-only check should be moved into check-sycl. That's not a strong comment in this case, because it is a "combined" test (i.e. syntax + execution), but still
36072bb to
c75b88d
Compare
…re 'spirv-backend', substitutions in e2e are aware about the new LIT feature, new records in the sycl-nightly workflow to use the new LIT feature
…unsupported test cases and mark temporarily failing with a known issue with XFAIL/XFAIL-TRACKER; fix how the 'build' substitution is updated for spirv-backend LIT feature
| image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest | ||
| image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN | ||
| target_devices: opencl:cpu | ||
| extra_lit_opts: -j 50 --param spirv-backend=True |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This makes no sense, these runners have desktop CPUs and you'll oversubscribe them.
.github/workflows/sycl-nightly.yml
Outdated
| image_options: -u 1001 --privileged --cap-add SYS_ADMIN | ||
| target_devices: opencl:cpu | ||
| tests_selector: e2e | ||
| extra_lit_opts: --param spirv-backend=True --param gpu-intel-gen12=True |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
gpu-intel-gen12 isn't required after #16220.
aelovikov-intel
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this should be split into several patches:
- sycl-linux-run-tests.yml so that the testing can be dispatched manually.
- Update tests and verify via manual CI runs
- CI enabling in pre-commit/nightly. Shouldn't include many of the tests changes at that poing.
I also see some supposedly functional changes, they should go into separate PR as well.
YuriPlyakhin
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Joint Matrix change LGTM
dkhaldi
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
JM changes LGTM
|
It was agreed that we split #16317 into three parts:
I reverted changes in CI/Clang here, so that this PR is only about introducing XFAIL & UNSUPPORTED into end-to-end tests now. @sarnex Can you please have a look and unblock if everything is ok |
joeatodd
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
syclcompat changes LGTM
|
@sarnex @aelovikov-intel We have #16600 and #16602 merged. This PR contains only changes in test cases, and we got them approved as well. Are we good to proceed with a merge of this PR? |
sarnex
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm just typos
I'd like to see some CI results before doing that. Are we in a state when that can be done with manual dispatch of "SYCL E2E" task? |
Co-authored-by: Nick Sarnie <[email protected]>
Co-authored-by: Nick Sarnie <[email protected]>
Thank you for looking into it. However, I disagree that this is a prerequisite to merge this PR.
I'd propose to merge this PR without any additional verifications. Results from January 10 works as well until we get Github Actions updated and ready to run. Meanwhile, I appreciate your suggestion to use |
aelovikov-intel
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Before this PR: https://github.com/intel/llvm/actions/runs/12814470669 (581 fails)
With this PR: https://github.com/intel/llvm/actions/runs/12815598260 (4 fails)
Thank you. I will update those prior to CI is updated. |
Introduce SPIR-V Backend support in SYCL tests and end-to-end tests by adding XFAIL & UNSUPPORTED to tests that are not passed at the moment when Khronos Translator is substituted by SPIR-V Backend. Three syntax-only tests are moved from e2e to tests.