-
Notifications
You must be signed in to change notification settings - Fork 738
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
[SYCL][HIP] Implement PI_DEVICE_INFO_ATOMIC_64 for HIP #6429
Merged
Conversation
This file contains 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
@pgorlani The changes looks good, but there are now unexpected passes in testing. Is there an llvm-test-suite PR for enabling those two tests? |
pgorlani
added a commit
to pgorlani/llvm-test-suite
that referenced
this pull request
Jul 13, 2022
This patch re-enables the aspect::atomic64 tests for HIP after the PI_DEVICE_INFO_ATOMIC_64 implementation in intel/llvm#6429
Hi @sergey-semenov, here is intel/llvm-test-suite#1094. |
/verify with intel/llvm-test-suite#1094 |
sergey-semenov
approved these changes
Jul 13, 2022
Hi @sergey-semenov, Thanks! |
againull
pushed a commit
to intel/llvm-test-suite
that referenced
this pull request
Aug 12, 2022
This patch re-enables the aspect::atomic64 tests for HIP after the PI_DEVICE_INFO_ATOMIC_64 implementation in intel/llvm#6429
AlexeySachkov
added a commit
to AlexeySachkov/llvm-test-suite
that referenced
this pull request
Sep 7, 2022
Support for atomic64 aspect query on HIP was added in: commit cb190fc25d56f42b3283a3a31c13ead47be46f60 Author: pgorlani <92453485+pgorlani@users.noreply.github.com> Date: Fri Aug 12 18:54:29 2022 +0100 [SYCL][HIP] Implement PI_DEVICE_INFO_ATOMIC_64 for HIP (intel/llvm#6429)
AlexeySachkov
added a commit
to intel/llvm-test-suite
that referenced
this pull request
Sep 7, 2022
Support for atomic64 aspect query on HIP was added in: ``` commit cb190fc25d56f42b3283a3a31c13ead47be46f60 Author: pgorlani <92453485+pgorlani@users.noreply.github.com> Date: Fri Aug 12 18:54:29 2022 +0100 [SYCL][HIP] Implement PI_DEVICE_INFO_ATOMIC_64 for HIP (intel/llvm#6429) ```
aelovikov-intel
pushed a commit
to aelovikov-intel/llvm
that referenced
this pull request
Mar 27, 2023
) This patch re-enables the aspect::atomic64 tests for HIP after the PI_DEVICE_INFO_ATOMIC_64 implementation in intel#6429
aelovikov-intel
pushed a commit
to aelovikov-intel/llvm
that referenced
this pull request
Mar 27, 2023
Support for atomic64 aspect query on HIP was added in: ``` commit cb190fc Author: pgorlani <92453485+pgorlani@users.noreply.github.com> Date: Fri Aug 12 18:54:29 2022 +0100 [SYCL][HIP] Implement PI_DEVICE_INFO_ATOMIC_64 for HIP (intel#6429) ```
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.
This patch implements
aspect::atomic64
by querying the information related to the 64-bit integer atomic operations. At the moment, the floating-point atomics are not supported at all (single and double precision) for AMD devices. TheSYCL_USE_NATIVE_FP_ATOMICS
is not set for AMD, and theatomc_ref
class handles the lack of double and single precision atomic operations.We may want to revisit this implementation when the floating-point atomics will be supported by AMD too.
However, I think this is not necessary for three reasons:
atomic64
aspect "Indicates that kernels submitted to the device may perform 64-bit atomic operations." It expresses a possibility, not specifying any kind of operations or data types.atomic_ref
say "For floating-point types, the member functions of the atomic_ref class may be emulated, and may use a different floating-point environment to ..." implying that the floating-point operations inatomic_ref
do not need to be supported natively by the hardware.This solves #5570, #6054, and allows to re-enable tests in intel/llvm-test-suite#861.