13 #include <cudf/utilities/export.hpp>
29 namespace CUDF_EXPORT
cudf {
37 namespace hashing::detail {
98 cuda::mr::any_resource<cuda::mr::device_accessible> mr =
124 cuda::mr::any_resource<cuda::mr::device_accessible> mr =
145 [[nodiscard]] std::pair<std::unique_ptr<rmm::device_uvector<size_type>>,
146 std::unique_ptr<rmm::device_uvector<size_type>>>
148 std::optional<std::size_t> output_size = {},
170 [[nodiscard]] std::pair<std::unique_ptr<rmm::device_uvector<size_type>>,
171 std::unique_ptr<rmm::device_uvector<size_type>>>
173 std::optional<std::size_t> output_size = {},
195 [[nodiscard]] std::pair<std::unique_ptr<rmm::device_uvector<size_type>>,
196 std::unique_ptr<rmm::device_uvector<size_type>>>
198 std::optional<std::size_t> output_size = {},
350 [[nodiscard]] std::pair<std::unique_ptr<rmm::device_uvector<size_type>>,
351 std::unique_ptr<rmm::device_uvector<size_type>>>
376 [[nodiscard]] std::pair<std::unique_ptr<rmm::device_uvector<size_type>>,
377 std::unique_ptr<rmm::device_uvector<size_type>>>
406 [[nodiscard]] std::pair<std::unique_ptr<rmm::device_uvector<size_type>>,
407 std::unique_ptr<rmm::device_uvector<size_type>>>
432 [[nodiscard]]
static std::pair<std::unique_ptr<rmm::device_uvector<size_type>>,
433 std::unique_ptr<rmm::device_uvector<size_type>>>
443 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, null_equality compare_nulls, rmm::cuda_stream_view stream=cudf::get_default_stream(), cuda::mr::any_resource< cuda::mr::device_accessible > mr=cudf::get_current_device_resource_ref())
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.
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(), cuda::mr::any_resource< cuda::mr::device_accessible > mr=cudf::get_current_device_resource_ref())
Construct a hash join object for subsequent probe calls.
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
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.
APIs for querying the default CUDA stream and per-thread default stream status.
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.
APIs for computing hash values of columns and tables using various hash algorithms.
Common types and utilities shared by cuDF's join APIs.
APIs for getting and setting the current device memory resource.
bool has_nulls(table_view const &view)
Returns True if the table has nulls in any of its columns.
Host span, a non-owning view over a contiguous sequence of host-accessible elements.
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.