13 #include <cudf/utilities/export.hpp>
23 namespace CUDF_EXPORT
cudf {
32 namespace hashing::detail {
127 [[nodiscard]] std::pair<std::unique_ptr<rmm::device_uvector<size_type>>,
128 std::unique_ptr<rmm::device_uvector<size_type>>>
130 std::optional<std::size_t> output_size = {},
152 [[nodiscard]] std::pair<std::unique_ptr<rmm::device_uvector<size_type>>,
153 std::unique_ptr<rmm::device_uvector<size_type>>>
155 std::optional<std::size_t> output_size = {},
177 [[nodiscard]] std::pair<std::unique_ptr<rmm::device_uvector<size_type>>,
178 std::unique_ptr<rmm::device_uvector<size_type>>>
180 std::optional<std::size_t> output_size = {},
332 [[nodiscard]] std::pair<std::unique_ptr<rmm::device_uvector<size_type>>,
333 std::unique_ptr<rmm::device_uvector<size_type>>>
358 [[nodiscard]] std::pair<std::unique_ptr<rmm::device_uvector<size_type>>,
359 std::unique_ptr<rmm::device_uvector<size_type>>>
388 [[nodiscard]] std::pair<std::unique_ptr<rmm::device_uvector<size_type>>,
389 std::unique_ptr<rmm::device_uvector<size_type>>>
414 [[nodiscard]]
static std::pair<std::unique_ptr<rmm::device_uvector<size_type>>,
415 std::unique_ptr<rmm::device_uvector<size_type>>>
425 std::unique_ptr<impl_type const> _impl;
Forward declaration for our hash join.
Hash join that builds a hash table with the right table on construction and probes results in subsequ...
hash_join(cudf::table_view const &right, nullable_join has_nulls, null_equality compare_nulls, double load_factor, rmm::cuda_stream_view stream=cudf::get_default_stream())
Construct a hash join object for subsequent probe calls.
std::pair< std::unique_ptr< rmm::device_uvector< size_type > >, std::unique_ptr< rmm::device_uvector< size_type > > > partitioned_full_join(cudf::join_partition_context const &context, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref()) const
Performs a full join probe on a partition of the probe table.
std::size_t inner_join_size(cudf::table_view const &left, rmm::cuda_stream_view stream=cudf::get_default_stream()) const
typename cudf::detail::hash_join< cudf::hashing::detail::MurmurHash3_x86_32< cudf::hash_value_type > > impl_type
Implementation type.
cudf::join_match_context inner_join_match_context(cudf::table_view const &left, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref()) const
Returns context information about matches between the left and right tables.
std::pair< std::unique_ptr< rmm::device_uvector< size_type > >, std::unique_ptr< rmm::device_uvector< size_type > > > inner_join(cudf::table_view const &left, std::optional< std::size_t > output_size={}, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref()) const
std::size_t full_join_size(cudf::table_view const &left, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref()) const
static std::pair< std::unique_ptr< rmm::device_uvector< size_type > >, std::unique_ptr< rmm::device_uvector< size_type > > > finalize_partitioned_full_join(cudf::host_span< cudf::device_span< size_type const > const > left_partials, cudf::host_span< cudf::device_span< size_type const > const > right_partials, size_type left_table_num_rows, size_type right_table_num_rows, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
Finalizes a partitioned full join by concatenating all per-partition results and appending the unmatc...
std::size_t left_join_size(cudf::table_view const &left, rmm::cuda_stream_view stream=cudf::get_default_stream()) const
hash_join(cudf::table_view const &right, null_equality compare_nulls, rmm::cuda_stream_view stream=cudf::get_default_stream())
Construct a hash join object for subsequent probe calls.
cudf::join_match_context full_join_match_context(cudf::table_view const &left, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref()) const
Returns context information about matches between the left and right tables.
std::pair< std::unique_ptr< rmm::device_uvector< size_type > >, std::unique_ptr< rmm::device_uvector< size_type > > > left_join(cudf::table_view const &left, std::optional< std::size_t > output_size={}, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref()) const
std::pair< std::unique_ptr< rmm::device_uvector< size_type > >, std::unique_ptr< rmm::device_uvector< size_type > > > full_join(cudf::table_view const &left, std::optional< std::size_t > output_size={}, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref()) const
std::pair< std::unique_ptr< rmm::device_uvector< size_type > >, std::unique_ptr< rmm::device_uvector< size_type > > > partitioned_inner_join(cudf::join_partition_context const &context, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref()) const
Performs an inner join on a partition of the probe table.
cudf::join_match_context left_join_match_context(cudf::table_view const &left, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref()) const
Returns context information about matches between the left and right tables.
std::pair< std::unique_ptr< rmm::device_uvector< size_type > >, std::unique_ptr< rmm::device_uvector< size_type > > > partitioned_left_join(cudf::join_partition_context const &context, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref()) const
Performs a left join on a partition of the probe table.
Forward declaration for our Murmur Hash 3 implementation.
A set of cudf::column_view's of the same size.
nullable_join
The enum class to specify if any of the input join tables (right table and any later left table) has ...
rmm::cuda_stream_view const get_default_stream()
Get the current default stream.
rmm::device_async_resource_ref get_current_device_resource_ref()
Get the current device memory resource reference.
cuda::mr::resource_ref< cuda::mr::device_accessible > device_async_resource_ref
cuda::std::span< T, Extent > device_span
Device span is an alias of cuda::std::span.
null_equality
Enum to consider two nulls as equal or unequal.
int32_t size_type
Row index type for columns and tables.
bool has_nulls(table_view const &view)
Returns True if the table has nulls in any of its columns.
C++20 std::span with reduced feature set.
Holds context information about matches between tables during a join operation.
Stores context information for partitioned join operations.
Class definitions for (mutable)_table_view
Type declarations for libcudf.