Namespaces | Enumerations | Functions
binaryop.hpp File Reference

Column APIs for binary ops. More...

#include <cudf/column/column.hpp>
#include <cudf/scalar/scalar.hpp>
#include <rmm/mr/device/per_device_resource.hpp>
#include <memory>

Go to the source code of this file.

Namespaces

 cudf
 cuDF interfaces
 

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_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::mr::device_memory_resource *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::mr::device_memory_resource *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::mr::device_memory_resource *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::mr::device_memory_resource *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...
 
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::mr::device_memory_resource *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...
 

Detailed Description

Column APIs for binary ops.

Definition in file binaryop.hpp.

Function Documentation

◆ apply_sorting_struct_binary_op()

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

Parameters
outmutable view of output column
lhsview of left operand column
rhsview of right operand column
is_lhs_scalartrue if lhs is a single element column representing a scalar
is_rhs_scalartrue if rhs is a single element column representing a scalar
opbinary operator identifier
streamCUDA stream used for device memory operations

◆ scalar_col_valid_mask_and()

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::mr::device_memory_resource mr = rmm::mr::get_current_device_resource() 
)

Computes output valid mask for op between a column and a scalar.

Parameters
colColumn to compute the valid mask from
sScalar to compute the valid mask from
streamCUDA stream used for device memory operations and kernel launches
mrDevice memory resource used to allocate the returned valid mask
Returns
Computed validity mask