Repository navigation
[SYCL] fix e2e atomic ref tests #23559
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
+280
−138
Merged
Changes from all commits
Commits
Show all changes
12 commits
Select commit
Hold shift + click to select a range
350fd88
[SYCL][E2E] do not use conditional build and run in tests
dklochkov-emb 564ae56
[SYCL][E2E] fix spirv tranclator tripple issue
dklochkov-emb f681676
Merge remote-tracking branch 'upstream/sycl' into sycl-atomic-ref-tes…
dklochkov-emb 22a930e
[SYCL][E2E] exclude 16 ibt atomic testing when nvidia target
dklochkov-emb 0f27b89
[SYCL][E2E] update if statement in test run
dklochkov-emb bed0d54
[SYCL][E2E] fix formatting
dklochkov-emb 6901f14
Merge branch 'sycl' into sycl-atomic-ref-test-fail
dklochkov-emb 75b5a7d
[SYCL][E2E] fix spirv translator issue
dklochkov-emb 5a91a10
[SYCL][E2E] return requires into test
dklochkov-emb f5a0c33
[SYCL][E2E] guard bfloat tests
dklochkov-emb a7e9b21
[SYCL][E2E] add unsupported targets
dklochkov-emb 9269024
Merge branch 'sycl' into sycl-atomic-ref-test-fail
dklochkov-emb File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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 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 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 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 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 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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,9 +1,12 @@ | ||
| // RUN: %if arch-intel_gpu_cri %{ %{build} -DFULL_ATOMIC16_COVERAGE -DFULL_ATOMIC32_COVERAGE -DFULL_ATOMIC64_COVERAGE -fsycl-device-code-split=per_kernel -Xspirv-translator -spirv-ext=+SPV_KHR_bfloat16,+SPV_INTEL_16bit_atomics -o %t.out %} | ||
| // RUN: %if arch-intel_gpu_cri %{ %{run} %t.out %} | ||
|
|
||
| // RUN: %{build} -o %t.out | ||
| // RUN: %{run} %t.out | ||
|
|
||
| #include "and.h" | ||
|
|
||
| int main() { and_test_all<access::address_space::generic_space>(); } | ||
| // REQUIRES: arch-intel_gpu_cri | ||
| // UNSUPPORTED: any-target-is-nvidia, any-target-is-amd, spirv-backend | ||
| // UNSUPPORTED-INTENDED: only supported by backends with atomic16 support | ||
| // RUN: %{build} -DFULL_ATOMIC16_COVERAGE -DFULL_ATOMIC32_COVERAGE -DFULL_ATOMIC64_COVERAGE -fsycl-device-code-split=per_kernel -Xspirv-translator=spir64 -spirv-ext=+SPV_KHR_bfloat16,+SPV_INTEL_16bit_atomics -o %t.cri.out | ||
| // RUN: %{run} %t.cri.out | ||
|
|
||
| // RUN: %{build} -o %t.out | ||
| // RUN: %{run} %t.out | ||
|
|
||
| #include "and.h" | ||
|
|
||
| int main() { and_test_all<access::address_space::generic_space>(); } |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,11 +1,14 @@ | ||
| // RUN: %if arch-intel_gpu_cri %{ %{build} -DFULL_ATOMIC16_COVERAGE -DFULL_ATOMIC32_COVERAGE -DFULL_ATOMIC64_COVERAGE -fsycl-device-code-split=per_kernel -Xspirv-translator -spirv-ext=+SPV_KHR_bfloat16,+SPV_INTEL_16bit_atomics -o %t.out %} | ||
| // RUN: %if arch-intel_gpu_cri %{ %{run} %t.out %} | ||
|
|
||
| // RUN: %{build} -o %t.out | ||
| // RUN: %{run} %t.out | ||
|
|
||
| #define TEST_GENERIC_IN_LOCAL 1 | ||
|
|
||
| #include "and.h" | ||
|
|
||
| int main() { and_test_all<access::address_space::generic_space>(); } | ||
| // REQUIRES: arch-intel_gpu_cri | ||
| // UNSUPPORTED: any-target-is-nvidia, any-target-is-amd, spirv-backend | ||
| // UNSUPPORTED-INTENDED: only supported by backends with atomic16 support | ||
| // RUN: %{build} -DFULL_ATOMIC16_COVERAGE -DFULL_ATOMIC32_COVERAGE -DFULL_ATOMIC64_COVERAGE -fsycl-device-code-split=per_kernel -Xspirv-translator=spir64 -spirv-ext=+SPV_KHR_bfloat16,+SPV_INTEL_16bit_atomics -o %t.cri.out | ||
| // RUN: %{run} %t.cri.out | ||
|
|
||
| // RUN: %{build} -o %t.out | ||
| // RUN: %{run} %t.out | ||
|
|
||
| #define TEST_GENERIC_IN_LOCAL 1 | ||
|
|
||
| #include "and.h" | ||
|
|
||
| int main() { and_test_all<access::address_space::generic_space>(); } |
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
Oops, something went wrong.
Oops, something went wrong.
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.
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.
@dklochkov-emb Is there a particular reason we're limiting all atomic tests to CRI only?
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.
@againull yes, it is not confirmed that other drivers support atomics.
Moreover, all tests were disabled before.
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.
@againull in case of the build line
%if arch-intel_gpu_cri %{ %{build}..fusion CI somehow skipped it but in case of run
%if arch-intel_gpu_cri %{ %{run} %t.out %}somehow it tried to run resulting error that binary was not foundUh oh!
There was an error while loading. Please reload this page.
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.
It may apply to the new 16-bit atomics, but not to atomics generally: 32-bit atomics are required by SYCL, and the existing tests were already running and passing on other platforms, including PVC.(https://github.com/intel/llvm/actions/runs/35870937631/job/107222525795).
For the 16-bit tests, we should at least use REQUIRES: aspect-ext_oneapi_atomic16 instead of hardcoding arch-intel_gpu_cri. Ideally, the 16-bit coverage should be in separate test wrappers: combining it with the existing 32-bit tests under a file-wide requirement causes us to lose 32-bit coverage on devices without atomic16 support.
Could you elaborate on this? In this older PVC run (https://github.com/intel/llvm/actions/runs/35870937631/job/107222525795), the atomic tests were executed and passed. Were you referring specifically to the 16-bit cases?
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.
Ok, I will fix that.
The fact is that all macro were disabled and they cut almost all tests except..1 data type. In some tests that was float:
https://github.com/intel/llvm/blob/sycl/sycl/test-e2e/AtomicRef/add.h#L540
in some case that was int:
https://github.com/intel/llvm/blob/sycl/sycl/test-e2e/AtomicRef/and.h#L233
I can guess that only reason is that atomic operations with these data types are supported by default and Iadd 32-bit is not supported in evert GPU
I will enable tests by default as it was done earlier.