-
Notifications
You must be signed in to change notification settings - Fork 973
Rework reduction case statement as dispatch_type_and_aggregation #20078
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
Conversation
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
// default column_view{} is an empty column | ||
// empty column_view | ||
CUDF_EXPECT_NO_THROW(statement(cudf::column_view{})); | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was an invalid test -- libcudf type-dispatcher is designed to throw on an invalid or empty type.
/ok to test |
/ok to test |
/ok to test |
/ok to test |
/ok to test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is very nice. Thank you!
/merge |
0c8f9cb
into
rapidsai:branch-25.12
Description
Reworks the switch/case statement in reductions.cpp to use
dispatch_type_and_aggregation
instead.This allows the specific functors to indicate valid aggregation/type support, reduce behavior when no data is given, as well as the reduction function itself. This makes it easier to update existing aggregations and support newer ones more reliably. It also allows for a reduction-specific
is_valid_aggregation()
API by keeping making the valid checks a compile-time feature.Checklist