Add dedicated reduction kernels for sums and products of boolean arrays#1958
Merged
ndgrigorian merged 2 commits intomasterfrom Jan 10, 2025
Merged
Add dedicated reduction kernels for sums and products of boolean arrays#1958ndgrigorian merged 2 commits intomasterfrom
ndgrigorian merged 2 commits intomasterfrom
Conversation
This is done to fix edge cases where the input type is not bool and the output type is bool, which ends up falling back on loops in the input data type, which are cast to bool Leads to incorrect results in edge cases, i.e., ``` import dpctl.tensor as dpt a = dpt.asarray([-1, 1], dtype=dpt.int32) dpt.sum(a, dtype=dpt.bool) # usm_ndarray(False) ```
Contributor
|
Glancing through the change, all looks good. Let's wait for CI too. |
|
Deleted rendered PR docs from intelpython.github.com/dpctl, latest should be updated shortly. 🤞 |
|
Array API standard conformance tests for dpctl=0.19.0dev0=py310h93fe807_412 ran successfully. |
Collaborator
oleksandr-pavlyk
approved these changes
Jan 10, 2025
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
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 PR proposes the addition of
bool->boolkernels to the dtype matrices forsumandprodThe expected behavior of the reductions is that if an optimized kernel doesn't exist, the input should be cast to the requested output type before performing the reduction whenever possible. But as
bool->boolloops did not exist, if a user requested bool, it would be reduced in the input type and cast to bool after.In some edge cases, this would produce unexpected results.
Resolves #1944