基于主机端的 UDF 实现用于分段归约的接口。更多...
#include <host_udf.hpp>
公共成员函数 | |
virtual std::unique_ptr< column > | operator() (column_view const &input, device_span< size_type const > offsets, data_type output_dtype, null_policy null_handling, std::optional< std::reference_wrapper< scalar const >> init, rmm::cuda_stream_view stream, rmm::device_async_resource_ref mr) const =0 |
执行分段归约操作。更多... | |
![]() | |
virtual | ~host_udf_base ()=default |
默认析构函数。 | |
virtual std::size_t | do_hash () const |
计算实例的哈希值。更多... | |
virtual bool | is_equal (host_udf_base const &other) const =0 |
比较派生类的两个实例是否相等。更多... | |
virtual std::unique_ptr< host_udf_base > | clone () const =0 |
克隆实例。更多... | |
基于主机端的 UDF 实现用于分段归约的接口。
用于分段归约的主机端 UDF 实现需要派生自此结构体。除了实现基类 host_udf_base
中声明的虚函数外,此类派生类还必须定义 operator()
函数以执行分段归约。
示例
定义于文件 host_udf.hpp 的第 189 行。
|
纯虚函数 |
执行分段归约操作。
input | 用于归约的输入列 |
offsets | 定义归约分段的偏移量列表 |
output_dtype | 最终输出列的数据类型 |
null_handling | 如果为 INCLUDE,则仅当分段中的所有元素都有效时归约结果才有效;如果为 EXCLUDE,则分段中只要有任何一个元素有效,归约结果就有效 |
init | 归约的初始值 |
stream | 用于任何内核启动的 CUDA 流 |
mr | 用于任何内存分配的设备内存资源 |