用于二元操作的列 API。 更多...
#include <cudf/column/column.hpp>
#include <cudf/scalar/scalar.hpp>
#include <cudf/utilities/export.hpp>
#include <cudf/utilities/memory_resource.hpp>
#include <memory>
类 | |
结构体 | cudf::binary_op_common_type< L, R, typename > |
二元操作通用类型的默认实现。 更多... | |
结构体 | cudf::binary_op_common_type< L, R, std::enable_if_t< has_common_type_v< L, R > > > |
二元操作通用类型的特化实现。 更多... | |
命名空间 | |
cudf | |
cuDF 接口 | |
类型定义 | |
template<typename L , typename R > | |
使用 | cudf::binary_op_common_type_t = typename binary_op_common_type< L, R >::type |
二元操作通用类型辅助工具。 | |
枚举 | |
枚举类 | 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 } |
可在数据上执行的二元操作类型。 更多... | |
函数 | |
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=cudf::get_current_device_resource_ref()) |
对标量和列执行二元操作。 更多... | |
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=cudf::get_current_device_resource_ref()) |
对列和标量执行二元操作。 更多... | |
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=cudf::get_current_device_resource_ref()) |
对两个列执行二元操作。 更多... | |
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=cudf::get_current_device_resource_ref()) |
使用用户定义的 PTX 函数对两个列执行二元操作。 更多... | |
int32_t | cudf::binary_operation_fixed_point_scale (binary_operator op, int32_t left_scale, int32_t right_scale) |
根据给定的二元操作符 op 计算 fixed_point 数字的 scale 。 更多... | |
cudf::data_type | cudf::binary_operation_fixed_point_output_type (binary_operator op, cudf::data_type const &lhs, cudf::data_type const &rhs) |
根据给定的二元操作符 op 计算 fixed_point 数字的 `data_type`。 更多... | |
bool | cudf::binops::is_supported_operation (data_type out, data_type lhs, data_type rhs, binary_operator op) |
如果二元操作符支持给定的输入类型,则返回 true。 更多... | |
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=cudf::get_current_device_resource_ref()) |
计算列和标量之间操作的输出有效掩码。 更多... | |
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) |
使用感知 NaN 的排序物理元素比较器执行结构体二元操作 更多... | |
变量 | |
template<typename L , typename R > | |
constexpr bool | cudf::binary_op_has_common_type_v |
检查二元操作类型是否具有通用类型。 更多... | |
用于二元操作的列 API。
定义于文件 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 | ||
) |
使用感知 NaN
的排序物理元素比较器执行结构体二元操作
out | 输出列的可变视图 |
lhs | 左操作数列视图 |
rhs | 右操作数列视图 |
is_lhs_scalar | 如果 lhs 是表示标量的单元素列,则为 true |
is_rhs_scalar | 如果 rhs 是表示标量的单元素列,则为 true |
op | 二元操作符标识符 |
流 | 用于设备内存操作的 CUDA 流 |
bool cudf::binops::is_supported_operation | ( | data_type | out, |
data_type | lhs, | ||
data_type | rhs, | ||
binary_operator | op | ||
) |
如果二元操作符支持给定的输入类型,则返回 true。
out | 输出数据类型 |
lhs | 左侧的 cudf::data_type |
rhs | 右侧的 cudf::data_type |
op | 二元操作符 |
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 = cudf::get_current_device_resource_ref() |
||
) |
计算列和标量之间操作的输出有效掩码。
col | 用于计算有效掩码的列 |
s | 用于计算有效掩码的标量 |
流 | 用于设备内存操作和内核启动的 CUDA 流 |
mr | 用于分配返回的有效掩码的设备内存资源 |