-
Notifications
You must be signed in to change notification settings - Fork 787
[SYCL][Driver] Deduplicate libspirv logic #19131
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
+106
−153
Conversation
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
This was referenced Jun 25, 2025
b59e7f3
to
cfee27a
Compare
f0a2209
to
d04b05d
Compare
mdtoguchi
approved these changes
Jun 25, 2025
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.
Nice cleanup! Just a small comment in the test update.
frasercrmck
approved these changes
Jun 26, 2025
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.
Thanks for cleaning this up
d04b05d
to
830c773
Compare
steffenlarsen
pushed a commit
that referenced
this pull request
Jun 27, 2025
) <!-- start git-machete generated --> # Based on PR #18956 ## Tree of downstream PRs as of 2025-06-25 * **PR #19130 (THIS ONE)** * PR #19131 * PR #19134 * PR #19135 * PR #19136 <!-- end git-machete generated --> In the next commits I'd like to refactor and fix SYCL libspirv linking. This adds a few tests to cover the current behavior. Some of it is buggy, and not consistent between NVPTX and AMDGPU, it will be improved in the next commits.
Move the logic for finding and linking libspirv into SYCLInstallationDetector. This code was basically duplicated between the CUDA and HIP toolchains, and was also present in the Driver sources. This is NFC, aside from the fact that the code in the HIP toolchain lacked the special handling for the `-###` driver option present in the other two places.
d183788
to
f08825e
Compare
Originally I changed the isOsWindows check to isWindowsMSVCEnvironment, but neither of those is correct. The correct check is isOsWindows && !isWindowsCygwinEnvironment, because all known Windows environments except Cygwin use 32-bit long. I think we don't support SYCL on MinGW or Cygwin, but this is one less bug to fix if we ever decide to.
hvdijk
reviewed
Jun 27, 2025
mdtoguchi
approved these changes
Jun 27, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Based on PR #19130
Chain of upstream PRs & tree of downstream PRs as of 2025-06-25
PR [SYCL][Driver] Improve SYCL libspirv linking test coverage (NFC) #19130
PR [SYCL][Driver] Deduplicate libspirv logic #19131 (THIS ONE)
PR [SYCL][Driver] Base libspirv path on sycl install candidates #19134
PR [SYCL][Driver] Emit unused argument warning for -fno-libspirv #19135
-fsycl-device-only
mode #19136Move the logic for finding and linking libspirv into SYCLInstallationDetector.
This code was basically duplicated between the CUDA and HIP toolchains,
and was also present in the Driver sources.
This is NFC, aside from the fact that the code in the HIP toolchain
lacked the special handling for the
-###
driver option present in theother two places.