Skip to content
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][Reduction] Fix identityless reductions with unwritten reducers #8709

Conversation

steffenlarsen
Copy link
Contributor

This commit changes reducers to use a new object for holding results, namely ReducerElement. This new object either holds a value directly or holds an optional value. The latter is used for identityless reductions to allow cases where the user functors did not write a value into the given reducer and as such the reducer's value should be discounted.

This new element is used inside reductions that support identityless to correctly propagate potentially missing values throughout.

This commit changes reducers to use a new object for holding results,
namely ReducerElement. This new object either holds a value directly or
holds an optional value. The latter is used for identityless reductions
to allow cases where the user functors did not write a value into the
given reducer and as such the reducer's value should be discounted.

This new element is used inside reductions that support identityless to
correctly propagate potentially missing values throughout.

Signed-off-by: Larsen, Steffen <[email protected]>
@steffenlarsen
Copy link
Contributor Author

/verify with intel/llvm-test-suite#1672

@steffenlarsen
Copy link
Contributor Author

/verify with intel/llvm-test-suite#1672

This commit moves the E2E test changes from the following PRs:
 * intel/llvm-test-suite#1659
 * intel/llvm-test-suite#1672
 * intel/llvm-test-suite#1697

Signed-off-by: Larsen, Steffen <[email protected]>
@steffenlarsen steffenlarsen marked this pull request as ready for review March 28, 2023 13:17
@steffenlarsen steffenlarsen requested a review from a team as a code owner March 28, 2023 13:17
@steffenlarsen steffenlarsen temporarily deployed to aws March 28, 2023 13:31 — with GitHub Actions Inactive
@steffenlarsen steffenlarsen temporarily deployed to aws March 28, 2023 19:36 — with GitHub Actions Inactive
@steffenlarsen steffenlarsen temporarily deployed to aws March 29, 2023 10:09 — with GitHub Actions Inactive
@steffenlarsen steffenlarsen temporarily deployed to aws March 29, 2023 11:56 — with GitHub Actions Inactive
@steffenlarsen steffenlarsen temporarily deployed to aws March 31, 2023 16:58 — with GitHub Actions Inactive
@steffenlarsen steffenlarsen temporarily deployed to aws March 31, 2023 18:30 — with GitHub Actions Inactive
@steffenlarsen steffenlarsen temporarily deployed to aws April 3, 2023 12:37 — with GitHub Actions Inactive
@steffenlarsen steffenlarsen temporarily deployed to aws April 3, 2023 13:46 — with GitHub Actions Inactive
@steffenlarsen steffenlarsen temporarily deployed to aws April 3, 2023 16:43 — with GitHub Actions Inactive
@steffenlarsen steffenlarsen temporarily deployed to aws April 3, 2023 18:08 — with GitHub Actions Inactive
@steffenlarsen steffenlarsen merged commit cb15f33 into intel:sycl Apr 3, 2023
againull pushed a commit to againull/llvm that referenced this pull request Apr 4, 2023
…intel#8709)

This commit changes reducers to use a new object for holding results,
namely ReducerElement. This new object either holds a value directly or
holds an optional value. The latter is used for identityless reductions
to allow cases where the user functors did not write a value into the
given reducer and as such the reducer's value should be discounted.

This new element is used inside reductions that support identityless to
correctly propagate potentially missing values throughout.

---------

Signed-off-by: Larsen, Steffen <[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.

2 participants