15 #include <cuda/stream>
31 namespace CUDF_EXPORT
cudf {
32 namespace io::parquet {
92 cudf::host_span<std::reference_wrapper<cudf::io::datasource>
const> datasources);
120 cudf::host_span<std::reference_wrapper<cudf::io::datasource>
const> datasources,
137 std::tuple<std::vector<rmm::device_buffer>,
138 std::vector<cudf::device_span<uint8_t const>>,
142 std::span<byte_range_info const> byte_ranges,
161 std::tuple<std::vector<rmm::device_buffer>,
162 std::vector<std::vector<cudf::device_span<uint8_t const>>>,
165 cudf::host_span<std::reference_wrapper<cudf::io::datasource>
const> datasources,
166 cudf::host_span<std::vector<byte_range_info>
const> byte_ranges_per_source,
186 std::pair<std::vector<rmm::device_buffer>, std::vector<cudf::device_span<uint8_t const>>>
208 std::pair<std::vector<rmm::device_buffer>,
209 std::vector<std::vector<cudf::device_span<uint8_t const>>>>
211 cudf::host_span<std::reference_wrapper<cudf::io::datasource>
const> datasources,
212 cudf::host_span<std::vector<byte_range_info>
const> bloom_filter_byte_ranges_per_source,
235 [[deprecated(
"Use the overload that takes io_submission_policy.")]]
236 std::tuple<std::vector<rmm::device_buffer>,
237 std::vector<cudf::device_span<uint8_t const>>,
241 std::span<byte_range_info const> byte_ranges,
263 [[deprecated(
"Use the overload that takes io_submission_policy.")]]
264 std::tuple<std::vector<rmm::device_buffer>,
265 std::vector<std::vector<cudf::device_span<uint8_t const>>>,
268 cudf::host_span<std::reference_wrapper<cudf::io::datasource>
const> datasources,
269 cudf::host_span<std::vector<byte_range_info>
const> byte_ranges_per_source,
292 [[deprecated(
"Use the overload that takes io_submission_policy.")]]
293 std::pair<std::vector<rmm::device_buffer>, std::vector<cudf::device_span<uint8_t const>>>
318 [[deprecated(
"Use the overload that takes io_submission_policy.")]]
319 std::pair<std::vector<rmm::device_buffer>,
320 std::vector<std::vector<cudf::device_span<uint8_t const>>>>
322 cudf::host_span<std::reference_wrapper<cudf::io::datasource>
const> datasources,
323 cudf::host_span<std::vector<byte_range_info>
const> bloom_filter_byte_ranges_per_source,
Class and helper functions for specifying a byte range within a data source.
Interface class for providing input data to the readers.
stores offset and size used to indicate a byte range
Non-owning references to the memory resources used by a cuDF operation.
Interface classes for providing input data to the readers from files, host memory,...
cuda::stream_ref const get_default_stream()
Get the current default stream.
std::unique_ptr< cudf::io::datasource::buffer > fetch_page_index_to_host(cudf::io::datasource &datasource, byte_range_info const page_index_bytes)
Fetches a host buffer of Parquet page index from the input data source.
std::size_t metadata_size_hint()
Returns the Parquet reader's footer speculative read size in bytes.
std::unique_ptr< cudf::io::datasource::buffer > fetch_footer_to_host(cudf::io::datasource &datasource)
Fetches a host buffer of Parquet footer bytes from the input data source.
std::pair< std::vector< rmm::device_buffer >, std::vector< std::vector< cudf::device_span< uint8_t const > > > > fetch_bloom_filters_to_device(cudf::host_span< std::reference_wrapper< cudf::io::datasource > const > datasources, cudf::host_span< std::vector< byte_range_info > const > bloom_filter_byte_ranges_per_source, cuda::stream_ref stream=cudf::get_default_stream(), cudf::memory_resources mr=cudf::get_current_device_resource_ref())
Fetches Parquet bloom filter bitsets from multiple datasources into device buffers.
io_submission_policy
Controls whether I/O submissions are serialized across callers.
std::vector< std::unique_ptr< cudf::io::datasource::buffer > > fetch_page_indexes_to_host(cudf::host_span< std::reference_wrapper< cudf::io::datasource > const > datasources, cudf::host_span< byte_range_info const > page_index_bytes_per_source)
Fetches host buffers of Parquet page index bytes from multiple input data sources.
std::tuple< std::vector< rmm::device_buffer >, std::vector< std::vector< cudf::device_span< uint8_t const > > >, std::future< void > > fetch_byte_ranges_to_device_async(cudf::host_span< std::reference_wrapper< cudf::io::datasource > const > datasources, cudf::host_span< std::vector< byte_range_info > const > byte_ranges_per_source, cuda::stream_ref stream=cudf::get_default_stream(), cudf::memory_resources mr=cudf::get_current_device_resource_ref())
Fetches lists of byte ranges from multiple datasources into device buffers.
std::vector< std::unique_ptr< cudf::io::datasource::buffer > > fetch_footers_to_host(cudf::host_span< std::reference_wrapper< cudf::io::datasource > const > datasources)
Fetches host buffers of Parquet footer bytes from multiple input data sources.
@ SERIALIZE
Serialize submissions across callers that use this policy.
@ INTERLEAVE
Allow submissions from different callers to interleave.
rmm::device_async_resource_ref get_current_device_resource_ref()
Get the current device memory resource reference.
APIs for getting and setting the current device memory resource.
Host span, a non-owning view over a contiguous sequence of host-accessible elements.