-
Notifications
You must be signed in to change notification settings - Fork 906
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
Support Scatter struct_scalar
#8630
Support Scatter struct_scalar
#8630
Conversation
Codecov Report
@@ Coverage Diff @@
## branch-21.08 #8630 +/- ##
===============================================
Coverage ? 10.64%
===============================================
Files ? 109
Lines ? 18656
Branches ? 0
===============================================
Hits ? 1985
Misses ? 16671
Partials ? 0 Continue to review full report at Codecov.
|
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.
Looks awesome! Only a couple small comments
Co-authored-by: Conor Hoekstra <[email protected]>
rerun tests |
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.
One small change, looks great other than that!
rerun tests |
…scatter_struct_scalar
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.
Verified that gerashegalov#1 works on top of this PR
@gpucibot merge |
Uses scalar-vector-based scatter API to provide support for copy_if_else involving scalar columns. Other changes: - removes some dead code - refactoring into overloaded functions Closes #8361, depends on #8630, #8666 Authors: - Gera Shegalov (https://github.com/gerashegalov) Approvers: - https://github.com/nvdbaranec - MithunR (https://github.com/mythrocks) URL: #8588
Partially addresses #8558
This PR adds support for scattering struct scalars.
Implementation notes:
Current implementation is based on copying the row data from each field as a new scalar and recursively calls scalar scattering on each field. There maybe an optimization on eliminating such copy. But will require extra scaffolding/scatter machinery.
Minor aspects of this PR:
column_scalar_scatterer
to includescatter_scalar_bitmask_inplace
in each level of dispatch. This is required because scalar scattering can be nested.count_set_bit
andcount_unset_bit
detail APIsdetail::get_element