elementwise_min|max reduction op#3341
Merged
rapids-bot[bot] merged 2 commits intorapidsai:branch-23.04from Mar 17, 2023
Merged
Conversation
…rm_reduce_incoming|outgoing_e tests
ChuckHastings
approved these changes
Mar 16, 2023
jnke2016
approved these changes
Mar 17, 2023
naimnv
approved these changes
Mar 17, 2023
Collaborator
|
/merge |
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.
per_v_transform_reduce_incoming|outgoing_ecurrently supports reduction operators that can be mapped to a raft::comms reduction operator (which is based on NCCL reduction).per_v_transform_reduce_incoming|outgoing_ecurrently takes min|max reduction op on thrust::tuple but performs elementwise min|max. This can be confusing to users. This PR updatesper_v_transform_reduce_incoming|outgoing_eto take min/max reduction operators only when the value type is scalar (otherwise static_assertion will fail). If the value type is thrust::tuple, users need to pass an elementwise min|max operator instead (this will make it clearer to the users that the primitive will perform elementwise min|max reduction).