Skip to content

[SYCL][PTX] Implements missing atomic builtins #1173

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
Feb 28, 2020

Conversation

steffenlarsen
Copy link
Contributor

@steffenlarsen steffenlarsen commented Feb 25, 2020

This PR introduces:

  • Builtins for atomic load and store (int, unsigned int, long, unsigned long, long long, and unsigned long long)
  • Added long, unsigned long, long long, and unsigned long long variants of the following existing builtins:
    • Atomic add
    • Atomic sub
    • Atomic and
    • Atomic or
    • Atomic xor
    • Atomic exhange
    • Atomic compare-and-exchange
    • Atomic max
    • Atomic min

Notice: long is currently used in place of long long due to a problem with the width of long long being defined as 128-bit.

Signed-off-by: Steffen Larsen [email protected]

Copy link
Contributor

@bader bader left a comment

Choose a reason for hiding this comment

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

It would be great if we can add more details to about what was added with this PR description (e.g. support for long long and unsigned long long types, atomic load/store built-ins, etc.).

@steffenlarsen
Copy link
Contributor Author

It would be great if we can add more details to about what was added with this PR description (e.g. support for long long and unsigned long long types, atomic load/store built-ins, etc.).

Apologies. I have added a summary of what this PR introduces.

@bader
Copy link
Contributor

bader commented Feb 27, 2020

Thanks!

@bader bader merged commit a540d01 into intel:sycl Feb 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cuda CUDA back-end
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[CUDA] ptxas: unresolved extern function __spirv_AtomicLoad(...)
3 participants