Skip to content
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

Nested struct binop comparison #9452

Closed
wants to merge 79 commits into from
Closed
Show file tree
Hide file tree
Changes from 38 commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
262c2a2
struct binop first pass
rwlee Sep 30, 2021
a865fe0
vector-vector nested struct comparison
rwlee Oct 14, 2021
ce4440c
cleanup and simplify core code
rwlee Oct 16, 2021
1472c5f
remove type dispatch and other code cleanup
rwlee Oct 20, 2021
4a31fb6
move struct comparison to compiled binops code
rwlee Oct 20, 2021
ce2d727
improved testing, type checks, and skipped null value calculations
rwlee Oct 21, 2021
10c95f9
cleanup
rwlee Oct 21, 2021
12cd09e
Merge branch 'branch-21.12' into rwlee/struct_col_compare
rwlee Oct 21, 2021
b6fa590
fix upmerge issues
rwlee Oct 21, 2021
d64c1f9
fix logic and improve documentation
rwlee Oct 22, 2021
57900da
clean up logic for nulls
rwlee Oct 22, 2021
f170149
remove unecessary call to superimpose parent nulls
rwlee Oct 22, 2021
de129a1
PR fixes
rwlee Oct 27, 2021
5e84e89
Merge branch 'branch-21.12' into rwlee/struct_col_compare
rwlee Oct 27, 2021
b632192
pr fixes
rwlee Oct 27, 2021
4266f8c
Merge branch 'branch-21.12' into rwlee/struct_col_compare
rwlee Oct 27, 2021
367ec07
restructure struct binop code and other pr fixes
rwlee Nov 3, 2021
5a1f016
Merge branch 'branch-21.12' into rwlee/struct_col_compare
rwlee Nov 3, 2021
1f29168
Merge branch 'branch-21.12' into rwlee/struct_col_compare
rwlee Nov 3, 2021
1d6263e
full paths for includes
rwlee Nov 9, 2021
97bd5e1
Merge branch 'branch-21.12' into rwlee/struct_col_compare
rwlee Nov 9, 2021
48d0355
move to new TU and remove common code
rwlee Nov 11, 2021
6cf0e16
fix logic errors and push down struct branching
rwlee Nov 11, 2021
9ec2acf
remove deleted file from CMakeLists
rwlee Nov 11, 2021
3016abf
Naming and comment fixes
rwlee Nov 11, 2021
b2a7973
naming
rwlee Nov 11, 2021
191da69
style formatting
rwlee Nov 11, 2021
2cf2b28
merge apply_binary_op and _impl implementation
rwlee Nov 12, 2021
2b634c4
all apply_binary_op calls call apply_binary_op_impl
rwlee Nov 13, 2021
19f1afb
common code path
rwlee Nov 23, 2021
f316a0a
explicit instantiation of struct_compare
rwlee Nov 23, 2021
c684ef1
Merge branch 'branch-22.02' into rwlee/struct_col_compare
rwlee Nov 23, 2021
7f36241
streamline explicit instantiation
rwlee Nov 29, 2021
8cf0660
Merge remote-tracking branch 'pub/branch-22.02' into rwlee/struct_col…
rwlee Nov 29, 2021
2abefd5
remove op argument
rwlee Dec 5, 2021
8cc05e2
documentation
rwlee Dec 6, 2021
1bde152
Merge branch 'branch-22.02' into rwlee/struct_col_compare
rwlee Dec 6, 2021
470acfe
Fix upmerge errors
rwlee Dec 6, 2021
ce21d90
Merge remote-tracking branch 'pub/branch-22.02' into rwlee/struct_col…
rwlee Dec 16, 2021
83fa370
Merge remote-tracking branch 'pub/branch-22.04' into rwlee/struct_col…
rwlee Feb 1, 2022
2b77739
fix new ops from upmerge
rwlee Feb 4, 2022
de09cec
Fix floating point nan handling in struct comparison binops
rwlee Feb 8, 2022
8ad9545
Merge remote-tracking branch 'pub/branch-22.04' into rwlee/struct_col…
rwlee Feb 8, 2022
251d607
fix formatting
rwlee Feb 9, 2022
703aaf8
fix copyright
rwlee Feb 14, 2022
43e451b
fix accidently deletd function
rwlee Feb 14, 2022
9ec4a41
style fix
rwlee Feb 15, 2022
201a89b
copyright fix
rwlee Feb 15, 2022
cc164d6
Merge remote-tracking branch 'pub/branch-22.04' into rwlee/struct_col…
rwlee Feb 15, 2022
1bb1534
fix cmake style
rwlee Feb 15, 2022
6c6c8ab
re-add missing function name
rwlee Feb 16, 2022
42e58ae
style fix
rwlee Feb 16, 2022
475c896
Fix struct equality binop comparisons
rwlee Feb 19, 2022
1dae04a
PR reviews
rwlee Mar 7, 2022
62224cf
Merge remote-tracking branch 'pub/branch-22.04' into rwlee/struct_col…
rwlee Mar 8, 2022
a35600d
refactor row comparison operators into common spaceship operator
rwlee Mar 22, 2022
b6f0397
Merge remote-tracking branch 'pub/branch-22.04' into rwlee/struct_col…
rwlee Mar 22, 2022
fcc1dd2
first pass, test failures
rwlee Mar 29, 2022
5abf2a8
Merge remote-tracking branch 'pub/branch-22.06' into rwlee/struct_col…
rwlee Mar 29, 2022
9d50ac0
Refactor struct binop comparison to use experimental ops
rwlee Apr 16, 2022
8628c24
Merge remote-tracking branch 'pub/branch-22.06' into rwlee/struct_col…
rwlee Apr 16, 2022
a836a96
Merge remote-tracking branch 'pub/branch-22.06' into rwlee/struct_col…
rwlee Apr 18, 2022
a537805
fix performance regression and code cleanup
rwlee May 2, 2022
f7af41f
Merge remote-tracking branch 'pub/branch-22.06' into rwlee/struct_col…
rwlee May 2, 2022
1af4643
fix merge errors
rwlee May 3, 2022
4d929d9
Merge remote-tracking branch 'upstream/branch-22.06' into rwlee/struc…
bdice May 3, 2022
2298988
Revert include changes.
bdice May 3, 2022
bf1c6ee
split off weak ordering row operator changes
rwlee May 4, 2022
5d87db2
device_row_comparator private with friend class
rwlee May 4, 2022
fd716b9
Merge remote-tracking branch 'pub/branch-22.06' into rwlee/row_op_split
rwlee May 4, 2022
2dd2045
device_less conversion to templated struct
rwlee May 6, 2022
7ba960e
fold parameter pack
rwlee May 9, 2022
84833e7
Apply suggestions from code review
rwlee May 10, 2022
a944b4f
Merge remote-tracking branch 'pub/branch-22.06' into rwlee/struct_col…
rwlee May 10, 2022
4d197ea
fix code style
rwlee May 10, 2022
08092fe
Merge branch 'rwlee/row_op_split' of github.com:rwlee/cudf into rwlee…
rwlee May 10, 2022
d8986c5
Merge branch 'rwlee/row_op_split' into rwlee/struct_col_compare
rwlee May 10, 2022
548dcf1
fix code format
rwlee May 10, 2022
1dd1159
Merge remote-tracking branch 'upstream/branch-22.06' into rwlee/struc…
bdice May 11, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,7 @@ add_library(
src/ast/expressions.cpp
src/binaryop/binaryop.cpp
src/binaryop/compiled/binary_ops.cu
src/binaryop/compiled/struct_binary_ops.cu
src/binaryop/compiled/Add.cu
src/binaryop/compiled/ATan2.cu
src/binaryop/compiled/BitwiseAnd.cu
Expand Down
14 changes: 14 additions & 0 deletions cpp/include/cudf/detail/structs/utilities.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,20 @@ std::tuple<cudf::table_view, std::vector<rmm::device_buffer>> superimpose_parent
table_view const& table,
rmm::cuda_stream_view stream = rmm::cuda_stream_default,
rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource());

/**
* @brief Checks if a column or any of its children is a struct column with structs that are null.
*
* This function searches for structs that are null -- differentiating between structs that are null
* and structs containing null values. Null structs add a column to the result of the flatten column
* utility and necessitates column_nullability::FORCE when flattening the column for comparison
* operations.
*
* @param col Column to check for null structs
* @return A boolean indicating if the column is or contains a struct column that contains a null
* struct.
*/
bool contains_null_structs(column_view const& col);
} // namespace detail
} // namespace structs
} // namespace cudf
2 changes: 1 addition & 1 deletion cpp/include/cudf/table/row_operators.cuh
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@ class row_equality_comparator {
row_equality_comparator(Nullate has_nulls,
table_device_view lhs,
table_device_view rhs,
null_equality nulls_are_equal = true)
null_equality nulls_are_equal = null_equality::EQUAL)
: lhs{lhs}, rhs{rhs}, nulls{has_nulls}, nulls_are_equal{nulls_are_equal}
{
CUDF_EXPECTS(lhs.num_columns() == rhs.num_columns(), "Mismatched number of columns.");
Expand Down
31 changes: 31 additions & 0 deletions cpp/include/cudf/utilities/traits.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -674,6 +674,37 @@ constexpr inline bool is_nested(data_type type)
return cudf::type_dispatcher(type, is_nested_impl{});
}

/**
* @brief Indicates whether `T` is a struct type.
*
* @param T The type to verify
* @return A boolean indicating if T is a struct type
*/
template <typename T>
constexpr inline bool is_struct()
{
return std::is_same_v<T, cudf::struct_view>;
}

struct is_struct_impl {
template <typename T>
constexpr bool operator()()
{
return is_struct<T>();
}
};

/**
* @brief Indicates whether `type` is a struct type.
*
* @param type The `data_type` to verify
* @return A boolean indicating if `type` is a struct type
*/
constexpr inline bool is_struct(data_type type)
{
return cudf::type_dispatcher(type, is_struct_impl{});
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wait, why not just return type.id() == type_id::STRUCT;

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The other functions are necessary for doing the type_dispatch cleanly. Seems reasonable to add this in with them, if not I can remove.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As for the others, you can just use std::is_same_v<T, cudf::struct_view> directly.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#9452 (comment) -- I'm not sure which solution is correct at this point.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From my observation, the type dispatching here can be removed completely. So we just need to keep the constexpr inline bool is_struct() and this function just does return type.id() == type_id::STRUCT;. Correct me if this breaks the code.

}

template <typename FromType>
struct is_bit_castable_to_impl {
template <typename ToType, typename std::enable_if_t<is_compound<ToType>()>* = nullptr>
Expand Down
8 changes: 4 additions & 4 deletions cpp/src/binaryop/compiled/ATan2.cu
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@
* limitations under the License.
*/

#include "binary_ops.cuh"
#include <binaryop/compiled/binary_ops.cuh>

namespace cudf::binops::compiled {
template void apply_binary_op<ops::ATan2>(mutable_column_device_view&,
column_device_view const&,
column_device_view const&,
template void apply_binary_op<ops::ATan2>(mutable_column_view&,
column_view const&,
column_view const&,
bool is_lhs_scalar,
bool is_rhs_scalar,
rmm::cuda_stream_view);
Expand Down
8 changes: 4 additions & 4 deletions cpp/src/binaryop/compiled/Add.cu
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@
* limitations under the License.
*/

#include "binary_ops.cuh"
#include <binaryop/compiled/binary_ops.cuh>

namespace cudf::binops::compiled {
template void apply_binary_op<ops::Add>(mutable_column_device_view&,
column_device_view const&,
column_device_view const&,
template void apply_binary_op<ops::Add>(mutable_column_view&,
column_view const&,
column_view const&,
bool is_lhs_scalar,
bool is_rhs_scalar,
rmm::cuda_stream_view);
Expand Down
8 changes: 4 additions & 4 deletions cpp/src/binaryop/compiled/BitwiseAnd.cu
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@
* limitations under the License.
*/

#include "binary_ops.cuh"
#include <binaryop/compiled/binary_ops.cuh>

namespace cudf::binops::compiled {
template void apply_binary_op<ops::BitwiseAnd>(mutable_column_device_view&,
column_device_view const&,
column_device_view const&,
template void apply_binary_op<ops::BitwiseAnd>(mutable_column_view&,
column_view const&,
column_view const&,
bool is_lhs_scalar,
bool is_rhs_scalar,
rmm::cuda_stream_view);
Expand Down
8 changes: 4 additions & 4 deletions cpp/src/binaryop/compiled/BitwiseOr.cu
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@
* limitations under the License.
*/

#include "binary_ops.cuh"
#include <binaryop/compiled/binary_ops.cuh>

namespace cudf::binops::compiled {
template void apply_binary_op<ops::BitwiseOr>(mutable_column_device_view&,
column_device_view const&,
column_device_view const&,
template void apply_binary_op<ops::BitwiseOr>(mutable_column_view&,
column_view const&,
column_view const&,
bool is_lhs_scalar,
bool is_rhs_scalar,
rmm::cuda_stream_view);
Expand Down
8 changes: 4 additions & 4 deletions cpp/src/binaryop/compiled/BitwiseXor.cu
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@
* limitations under the License.
*/

#include "binary_ops.cuh"
#include <binaryop/compiled/binary_ops.cuh>

namespace cudf::binops::compiled {
template void apply_binary_op<ops::BitwiseXor>(mutable_column_device_view&,
column_device_view const&,
column_device_view const&,
template void apply_binary_op<ops::BitwiseXor>(mutable_column_view&,
column_view const&,
column_view const&,
bool is_lhs_scalar,
bool is_rhs_scalar,
rmm::cuda_stream_view);
Expand Down
8 changes: 4 additions & 4 deletions cpp/src/binaryop/compiled/Div.cu
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@
* limitations under the License.
*/

#include "binary_ops.cuh"
#include <binaryop/compiled/binary_ops.cuh>

namespace cudf::binops::compiled {
template void apply_binary_op<ops::Div>(mutable_column_device_view&,
column_device_view const&,
column_device_view const&,
template void apply_binary_op<ops::Div>(mutable_column_view&,
column_view const&,
column_view const&,
bool is_lhs_scalar,
bool is_rhs_scalar,
rmm::cuda_stream_view);
Expand Down
8 changes: 4 additions & 4 deletions cpp/src/binaryop/compiled/FloorDiv.cu
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@
* limitations under the License.
*/

#include "binary_ops.cuh"
#include <binaryop/compiled/binary_ops.cuh>

namespace cudf::binops::compiled {
template void apply_binary_op<ops::FloorDiv>(mutable_column_device_view&,
column_device_view const&,
column_device_view const&,
template void apply_binary_op<ops::FloorDiv>(mutable_column_view&,
column_view const&,
column_view const&,
bool is_lhs_scalar,
bool is_rhs_scalar,
rmm::cuda_stream_view);
Expand Down
8 changes: 4 additions & 4 deletions cpp/src/binaryop/compiled/Greater.cu
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@
* limitations under the License.
*/

#include "binary_ops.cuh"
#include <binaryop/compiled/binary_ops.cuh>

namespace cudf::binops::compiled {
template void apply_binary_op<ops::Greater>(mutable_column_device_view&,
column_device_view const&,
column_device_view const&,
template void apply_binary_op<ops::Greater>(mutable_column_view&,
column_view const&,
column_view const&,
bool is_lhs_scalar,
bool is_rhs_scalar,
rmm::cuda_stream_view);
Expand Down
8 changes: 4 additions & 4 deletions cpp/src/binaryop/compiled/GreaterEqual.cu
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@
* limitations under the License.
*/

#include "binary_ops.cuh"
#include <binaryop/compiled/binary_ops.cuh>

namespace cudf::binops::compiled {
template void apply_binary_op<ops::GreaterEqual>(mutable_column_device_view&,
column_device_view const&,
column_device_view const&,
template void apply_binary_op<ops::GreaterEqual>(mutable_column_view&,
column_view const&,
column_view const&,
bool is_lhs_scalar,
bool is_rhs_scalar,
rmm::cuda_stream_view);
Expand Down
8 changes: 4 additions & 4 deletions cpp/src/binaryop/compiled/Less.cu
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@
* limitations under the License.
*/

#include "binary_ops.cuh"
#include <binaryop/compiled/binary_ops.cuh>

namespace cudf::binops::compiled {
template void apply_binary_op<ops::Less>(mutable_column_device_view&,
column_device_view const&,
column_device_view const&,
template void apply_binary_op<ops::Less>(mutable_column_view&,
column_view const&,
column_view const&,
bool is_lhs_scalar,
bool is_rhs_scalar,
rmm::cuda_stream_view);
Expand Down
8 changes: 4 additions & 4 deletions cpp/src/binaryop/compiled/LessEqual.cu
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@
* limitations under the License.
*/

#include "binary_ops.cuh"
#include <binaryop/compiled/binary_ops.cuh>

namespace cudf::binops::compiled {
template void apply_binary_op<ops::LessEqual>(mutable_column_device_view&,
column_device_view const&,
column_device_view const&,
template void apply_binary_op<ops::LessEqual>(mutable_column_view&,
column_view const&,
column_view const&,
bool is_lhs_scalar,
bool is_rhs_scalar,
rmm::cuda_stream_view);
Expand Down
8 changes: 4 additions & 4 deletions cpp/src/binaryop/compiled/LogBase.cu
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@
* limitations under the License.
*/

#include "binary_ops.cuh"
#include <binaryop/compiled/binary_ops.cuh>

namespace cudf::binops::compiled {
template void apply_binary_op<ops::LogBase>(mutable_column_device_view&,
column_device_view const&,
column_device_view const&,
template void apply_binary_op<ops::LogBase>(mutable_column_view&,
column_view const&,
column_view const&,
bool is_lhs_scalar,
bool is_rhs_scalar,
rmm::cuda_stream_view);
Expand Down
8 changes: 4 additions & 4 deletions cpp/src/binaryop/compiled/LogicalAnd.cu
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@
* limitations under the License.
*/

#include "binary_ops.cuh"
#include <binaryop/compiled/binary_ops.cuh>

namespace cudf::binops::compiled {
template void apply_binary_op<ops::LogicalAnd>(mutable_column_device_view&,
column_device_view const&,
column_device_view const&,
template void apply_binary_op<ops::LogicalAnd>(mutable_column_view&,
column_view const&,
column_view const&,
bool is_lhs_scalar,
bool is_rhs_scalar,
rmm::cuda_stream_view);
Expand Down
8 changes: 4 additions & 4 deletions cpp/src/binaryop/compiled/LogicalOr.cu
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@
* limitations under the License.
*/

#include "binary_ops.cuh"
#include <binaryop/compiled/binary_ops.cuh>

namespace cudf::binops::compiled {
template void apply_binary_op<ops::LogicalOr>(mutable_column_device_view&,
column_device_view const&,
column_device_view const&,
template void apply_binary_op<ops::LogicalOr>(mutable_column_view&,
column_view const&,
column_view const&,
bool is_lhs_scalar,
bool is_rhs_scalar,
rmm::cuda_stream_view);
Expand Down
8 changes: 4 additions & 4 deletions cpp/src/binaryop/compiled/Mod.cu
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@
* limitations under the License.
*/

#include "binary_ops.cuh"
#include <binaryop/compiled/binary_ops.cuh>

namespace cudf::binops::compiled {
template void apply_binary_op<ops::Mod>(mutable_column_device_view&,
column_device_view const&,
column_device_view const&,
template void apply_binary_op<ops::Mod>(mutable_column_view&,
column_view const&,
column_view const&,
bool is_lhs_scalar,
bool is_rhs_scalar,
rmm::cuda_stream_view);
Expand Down
8 changes: 4 additions & 4 deletions cpp/src/binaryop/compiled/Mul.cu
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@
* limitations under the License.
*/

#include "binary_ops.cuh"
#include <binaryop/compiled/binary_ops.cuh>

namespace cudf::binops::compiled {
template void apply_binary_op<ops::Mul>(mutable_column_device_view&,
column_device_view const&,
column_device_view const&,
template void apply_binary_op<ops::Mul>(mutable_column_view&,
column_view const&,
column_view const&,
bool is_lhs_scalar,
bool is_rhs_scalar,
rmm::cuda_stream_view);
Expand Down
8 changes: 4 additions & 4 deletions cpp/src/binaryop/compiled/NullEquals.cu
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@
* limitations under the License.
*/

#include "binary_ops.cuh"
#include <binaryop/compiled/binary_ops.cuh>

namespace cudf::binops::compiled {
template void apply_binary_op<ops::NullEquals>(mutable_column_device_view&,
column_device_view const&,
column_device_view const&,
template void apply_binary_op<ops::NullEquals>(mutable_column_view&,
column_view const&,
column_view const&,
bool is_lhs_scalar,
bool is_rhs_scalar,
rmm::cuda_stream_view);
Expand Down
8 changes: 4 additions & 4 deletions cpp/src/binaryop/compiled/NullMax.cu
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@
* limitations under the License.
*/

#include "binary_ops.cuh"
#include <binaryop/compiled/binary_ops.cuh>

namespace cudf::binops::compiled {
template void apply_binary_op<ops::NullMax>(mutable_column_device_view&,
column_device_view const&,
column_device_view const&,
template void apply_binary_op<ops::NullMax>(mutable_column_view&,
column_view const&,
column_view const&,
bool is_lhs_scalar,
bool is_rhs_scalar,
rmm::cuda_stream_view);
Expand Down
8 changes: 4 additions & 4 deletions cpp/src/binaryop/compiled/NullMin.cu
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@
* limitations under the License.
*/

#include "binary_ops.cuh"
#include <binaryop/compiled/binary_ops.cuh>

namespace cudf::binops::compiled {
template void apply_binary_op<ops::NullMin>(mutable_column_device_view&,
column_device_view const&,
column_device_view const&,
template void apply_binary_op<ops::NullMin>(mutable_column_view&,
column_view const&,
column_view const&,
bool is_lhs_scalar,
bool is_rhs_scalar,
rmm::cuda_stream_view);
Expand Down
Loading