Column APIs for binary ops. More...
#include <cudf/column/column.hpp>
#include <cudf/scalar/scalar.hpp>
#include <cudf/utilities/export.hpp>
#include <rmm/mr/device/per_device_resource.hpp>
#include <rmm/resource_ref.hpp>
#include <memory>
Go to the source code of this file.
Classes | |
struct | cudf::binary_op_common_type< L, R, typename > |
Binary operation common type default. More... | |
struct | cudf::binary_op_common_type< L, R, std::enable_if_t< has_common_type_v< L, R > > > |
Binary operation common type specialization. More... | |
Namespaces | |
cudf | |
cuDF interfaces | |
Typedefs | |
template<typename L , typename R > | |
using | cudf::binary_op_common_type_t = typename binary_op_common_type< L, R >::type |
Binary operation common type helper. | |
Enumerations | |
enum class | cudf::binary_operator : int32_t { cudf::ADD , cudf::SUB , cudf::MUL , cudf::DIV , cudf::TRUE_DIV , cudf::FLOOR_DIV , cudf::MOD , cudf::PMOD , cudf::PYMOD , cudf::POW , cudf::INT_POW , cudf::LOG_BASE , cudf::ATAN2 , cudf::SHIFT_LEFT , cudf::SHIFT_RIGHT , cudf::SHIFT_RIGHT_UNSIGNED , cudf::BITWISE_AND , cudf::BITWISE_OR , cudf::BITWISE_XOR , cudf::LOGICAL_AND , cudf::LOGICAL_OR , cudf::EQUAL , cudf::NOT_EQUAL , cudf::LESS , cudf::GREATER , cudf::LESS_EQUAL , cudf::GREATER_EQUAL , cudf::NULL_EQUALS , cudf::NULL_NOT_EQUALS , cudf::NULL_MAX , cudf::NULL_MIN , cudf::GENERIC_BINARY , cudf::NULL_LOGICAL_AND , cudf::NULL_LOGICAL_OR , cudf::INVALID_BINARY } |
Types of binary operations that can be performed on data. More... | |
Functions | |
std::unique_ptr< column > | cudf::binary_operation (scalar const &lhs, column_view const &rhs, binary_operator op, data_type output_type, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=rmm::mr::get_current_device_resource()) |
Performs a binary operation between a scalar and a column. More... | |
std::unique_ptr< column > | cudf::binary_operation (column_view const &lhs, scalar const &rhs, binary_operator op, data_type output_type, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=rmm::mr::get_current_device_resource()) |
Performs a binary operation between a column and a scalar. More... | |
std::unique_ptr< column > | cudf::binary_operation (column_view const &lhs, column_view const &rhs, binary_operator op, data_type output_type, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=rmm::mr::get_current_device_resource()) |
Performs a binary operation between two columns. More... | |
std::unique_ptr< column > | cudf::binary_operation (column_view const &lhs, column_view const &rhs, std::string const &ptx, data_type output_type, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=rmm::mr::get_current_device_resource()) |
Performs a binary operation between two columns using a user-defined PTX function. More... | |
int32_t | cudf::binary_operation_fixed_point_scale (binary_operator op, int32_t left_scale, int32_t right_scale) |
Computes the scale for a fixed_point number based on given binary operator op More... | |
cudf::data_type | cudf::binary_operation_fixed_point_output_type (binary_operator op, cudf::data_type const &lhs, cudf::data_type const &rhs) |
Computes the data_type for a fixed_point number based on given binary operator op More... | |
bool | cudf::binops::is_supported_operation (data_type out, data_type lhs, data_type rhs, binary_operator op) |
Returns true if the binary operator is supported for the given input types. More... | |
std::pair< rmm::device_buffer, size_type > | cudf::binops::scalar_col_valid_mask_and (column_view const &col, scalar const &s, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=rmm::mr::get_current_device_resource()) |
Computes output valid mask for op between a column and a scalar. More... | |
void | cudf::binops::compiled::detail::apply_sorting_struct_binary_op (mutable_column_view &out, column_view const &lhs, column_view const &rhs, bool is_lhs_scalar, bool is_rhs_scalar, binary_operator op, rmm::cuda_stream_view stream) |
struct binary operation using NaN aware sorting physical element comparators More... | |
Variables | |
template<typename L , typename R > | |
constexpr bool | cudf::binary_op_has_common_type_v |
Checks if binary operation types have a common type. More... | |
Column APIs for binary ops.
Definition in file binaryop.hpp.
void cudf::binops::compiled::detail::apply_sorting_struct_binary_op | ( | mutable_column_view & | out, |
column_view const & | lhs, | ||
column_view const & | rhs, | ||
bool | is_lhs_scalar, | ||
bool | is_rhs_scalar, | ||
binary_operator | op, | ||
rmm::cuda_stream_view | stream | ||
) |
struct binary operation using NaN
aware sorting physical element comparators
out | mutable view of output column |
lhs | view of left operand column |
rhs | view of right operand column |
is_lhs_scalar | true if lhs is a single element column representing a scalar |
is_rhs_scalar | true if rhs is a single element column representing a scalar |
op | binary operator identifier |
stream | CUDA stream used for device memory operations |
bool cudf::binops::is_supported_operation | ( | data_type | out, |
data_type | lhs, | ||
data_type | rhs, | ||
binary_operator | op | ||
) |
Returns true if the binary operator is supported for the given input types.
out | The output data type |
lhs | The left-hand cudf::data_type |
rhs | The right-hand cudf::data_type |
op | The binary operator |
std::pair<rmm::device_buffer, size_type> cudf::binops::scalar_col_valid_mask_and | ( | column_view const & | col, |
scalar const & | s, | ||
rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
||
rmm::device_async_resource_ref | mr = rmm::mr::get_current_device_resource() |
||
) |
Computes output valid mask for op between a column and a scalar.
col | Column to compute the valid mask from |
s | Scalar to compute the valid mask from |
stream | CUDA stream used for device memory operations and kernel launches |
mr | Device memory resource used to allocate the returned valid mask |