-
Notifications
You must be signed in to change notification settings - Fork 908
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
Implement cudf::reduce
for decimal32
and decimal64
(part 2)
#6980
Conversation
Codecov Report
@@ Coverage Diff @@
## branch-0.18 #6980 +/- ##
===============================================
+ Coverage 82.04% 82.06% +0.02%
===============================================
Files 96 96
Lines 16388 16391 +3
===============================================
+ Hits 13446 13452 +6
+ Misses 2942 2939 -3
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.
One very minor (and certainly debatable) suggestion.
|
||
return std::make_unique<fixed_point_scalar<T>>(std::move(temp_data), | ||
numeric::scale_type{input.type().scale()}, | ||
temp_valid.value(stream), |
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.
Just wondering if it makes sense to add scalar constructor with rmm::device_scalar<bool>&& valid
argument. (not in the scope of this PR)
std::move(temp_valid)
.
It would avoid extra DtoH and HtoD copy of single bool.
rerun tests |
2 similar comments
rerun tests |
rerun tests |
This PR resolves a part of #3556.
Supporting
cudf::reduce
:MIN
,MAX
,SUM
&PRODUCT
&NUNIQUE
) Implementcudf::reduce
fordecimal32
anddecimal64
(part 1) #6814Reduction Ops:
Done in Previous PR
✔️
SUM, ///< sum reduction
✔️
PRODUCT, ///< product reduction
✔️
MIN, ///< min reduction
✔️
MAX, ///< max reduction
✔️
NUNIQUE, ///< count number of unique elements
Not supported by
cudf::reduce
:COUNT_VALID, ///< count number of valid elements
COUNT_ALL, ///< count number of elements
COLLECT, ///< collect values into a list
LEAD, ///< window function, accesses row at specified offset following current row
LAG, ///< window function, accesses row at specified offset preceding current row
PTX, ///< PTX UDF based reduction
CUDA ///< CUDA UDf based reduction
ARGMAX, ///< Index of max element
ARGMIN, ///< Index of min element
ROW_NUMBER, ///< get row-number of element
Won't be supported:
ANY, ///< any reduction
ALL, ///< all reduction
To Do / Investigate:
SUM_OF_SQUARES, ///< sum of squares reduction
MEDIAN, ///< median reduction
QUANTILE, ///< compute specified quantile(s)
NTH_ELEMENT, ///< get the nth element
Deferred until requested
MEAN, ///< arithmetic mean reduction
VARIANCE, ///< groupwise variance
STD, ///< groupwise standard deviation