Skip to content

[SYCL] Add fixed_size_group support to algorithms #9181

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 7 commits into from
Apr 25, 2023

Conversation

Pennycook
Copy link
Contributor

Enables the following functions to be used with fixed_size_group arguments:

  • group_barrier
  • group_broadcast
  • any_of_group
  • all_of_group
  • none_of_group
  • reduce_over_group
  • exclusive_scan_over_group
  • inclusive_scan_over_group

Signed-off-by: John Pennycook [email protected]

Enables the following functions to be used with fixed_size_group arguments:

- group_barrier
- group_broadcast
- any_of_group
- all_of_group
- none_of_group
- reduce_over_group
- exclusive_scan_over_group
- inclusive_scan_over_group

Signed-off-by: John Pennycook [email protected]
@Pennycook Pennycook requested a review from a team as a code owner April 24, 2023 16:42
@Pennycook Pennycook temporarily deployed to aws April 24, 2023 19:47 — with GitHub Actions Inactive
@Pennycook Pennycook temporarily deployed to aws April 25, 2023 00:33 — with GitHub Actions Inactive
@Pennycook Pennycook temporarily deployed to aws April 25, 2023 09:03 — with GitHub Actions Inactive
@Pennycook Pennycook temporarily deployed to aws April 25, 2023 14:36 — with GitHub Actions Inactive
@Pennycook Pennycook temporarily deployed to aws April 25, 2023 15:54 — with GitHub Actions Inactive
@Pennycook
Copy link
Contributor Author

@steffenlarsen: Do you think Regression/same_unnamed_kernels.cpp might be an unrelated failure?

@aelovikov-intel
Copy link
Contributor

@steffenlarsen: Do you think Regression/same_unnamed_kernels.cpp might be an unrelated failure?

#9174

Copy link
Contributor

@steffenlarsen steffenlarsen left a comment

Choose a reason for hiding this comment

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

LGTM!

@steffenlarsen
Copy link
Contributor

CUDA Failed Tests (1):
SYCL :: Regression/same_unnamed_kernels.cpp - Reported in #9174.

@steffenlarsen steffenlarsen merged commit 01ac033 into intel:sycl Apr 25, 2023
steffenlarsen pushed a commit that referenced this pull request Jun 13, 2023
…a. (#9671)

This PR adds cuda support for fixed_size_group, ballot_group, and
opportunistic_group algorithms. All group algorithm support added for
the SPIRV impls (those added in e.g.
#9181) is correspondingly added here
for the cuda backend.

Everything except the reduce/scans uses the same impl for all
non-uniform groups. Reduce algorithms also use the same impl for all
group types on sm80 for special IsRedux types/ops pairs.

Otherwise reduce/scans have two impl categories:
1.fixed_size_group
2.opportunistic_group, ballot_group, (and tangle_group once it is
supported) all use the same impls.

Note that tangle_group is still not supported. However all algorithms
implemented by ballot_group/opportunistic_group will I think be
appropriate for tangle_group when it is supported.

---------

Signed-off-by: JackAKirk <[email protected]>
fineg74 pushed a commit to fineg74/llvm that referenced this pull request Jun 15, 2023
…a. (intel#9671)

This PR adds cuda support for fixed_size_group, ballot_group, and
opportunistic_group algorithms. All group algorithm support added for
the SPIRV impls (those added in e.g.
intel#9181) is correspondingly added here
for the cuda backend.

Everything except the reduce/scans uses the same impl for all
non-uniform groups. Reduce algorithms also use the same impl for all
group types on sm80 for special IsRedux types/ops pairs.

Otherwise reduce/scans have two impl categories:
1.fixed_size_group
2.opportunistic_group, ballot_group, (and tangle_group once it is
supported) all use the same impls.

Note that tangle_group is still not supported. However all algorithms
implemented by ballot_group/opportunistic_group will I think be
appropriate for tangle_group when it is supported.

---------

Signed-off-by: JackAKirk <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants