libcudf
23.12.00
|
Files | |
file | contiguous_split.hpp |
Table APIs for contiguous_split, pack, unpack, and metadata. | |
file | copying.hpp |
Column APIs for gather, scatter, split, slice, etc. | |
Classes | |
struct | cudf::packed_columns |
Column data in a serialized format. More... | |
struct | cudf::packed_table |
The result(s) of a cudf::contiguous_split. More... | |
Functions | |
std::vector< packed_table > | cudf::contiguous_split (cudf::table_view const &input, std::vector< size_type > const &splits, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource()) |
Performs a deep-copy split of a table_view into a vector of packed_table where each packed_table is using a single contiguous block of memory for all of the split's column data. More... | |
std::vector< column_view > | cudf::split (column_view const &input, host_span< size_type const > splits, rmm::cuda_stream_view stream=cudf::get_default_stream()) |
Splits a column_view into a set of column_view s according to a set of indices derived from expected splits. More... | |
std::vector< column_view > | cudf::split (column_view const &input, std::initializer_list< size_type > splits, rmm::cuda_stream_view stream=cudf::get_default_stream()) |
Splits a column_view into a set of column_view s according to a set of indices derived from expected splits. More... | |
std::vector< table_view > | cudf::split (table_view const &input, host_span< size_type const > splits, rmm::cuda_stream_view stream=cudf::get_default_stream()) |
Splits a table_view into a set of table_view s according to a set of indices derived from expected splits. More... | |
std::vector< table_view > | cudf::split (table_view const &input, std::initializer_list< size_type > splits, rmm::cuda_stream_view stream=cudf::get_default_stream()) |
Splits a table_view into a set of table_view s according to a set of indices derived from expected splits. More... | |
std::vector<packed_table> cudf::contiguous_split | ( | cudf::table_view const & | input, |
std::vector< size_type > const & | splits, | ||
rmm::mr::device_memory_resource * | mr = rmm::mr::get_current_device_resource() |
||
) |
Performs a deep-copy split of a table_view
into a vector of packed_table
where each packed_table
is using a single contiguous block of memory for all of the split's column data.
The memory for the output views is allocated in a single contiguous rmm::device_buffer
returned in the packed_table
. There is no top-level owning table.
The returned views of input
are constructed from a vector of indices, that indicate where each split should occur. The i
th returned table_view
is sliced as [0, splits[i])
if i
=0, else [splits[i], input.size())
if i
is the last view and [splits[i-1], splits[i]]
otherwise.
For all i
it is expected splits[i] <= splits[i+1] <= input.size()
. For a splits
size N, there will always be N+1 splits in the output.
all_data
field of the returned packed_table.cudf::logic_error | if splits has end index > size of input . |
cudf::logic_error | When the value in splits is not in the range [0, input.size()). |
cudf::logic_error | When the values in the splits are 'strictly decreasing'. |
input | View of a table to split |
splits | A vector of indices where the view will be split |
mr | An optional memory resource to use for all returned device allocations |
input
indicated by the splits
and the viewed memory buffer std::vector<column_view> cudf::split | ( | column_view const & | input, |
host_span< size_type const > | splits, | ||
rmm::cuda_stream_view | stream = cudf::get_default_stream() |
||
) |
Splits a column_view
into a set of column_view
s according to a set of indices derived from expected splits.
The returned view's of input
are constructed from vector of splits, which indicates where the split should occur. The i
th returned column_view
is sliced as [0, splits[i])
if i
=0, else [splits[i], input.size())
if i
is the last view and [splits[i-1], splits[i]]
otherwise.
For all i
it is expected splits[i] <= splits[i+1] <= input.size()
For a splits
size N, there will always be N+1 splits in the output
cudf::logic_error | if splits has end index > size of input . |
cudf::logic_error | When the value in splits is not in the range [0, input.size()). |
cudf::logic_error | When the values in the splits are 'strictly decreasing'. |
input | View of column to split |
splits | Indices where the view will be split |
stream | CUDA stream used for device memory operations and kernel launches |
input
indicated by the splits
std::vector<column_view> cudf::split | ( | column_view const & | input, |
std::initializer_list< size_type > | splits, | ||
rmm::cuda_stream_view | stream = cudf::get_default_stream() |
||
) |
Splits a column_view
into a set of column_view
s according to a set of indices derived from expected splits.
The returned view's of input
are constructed from vector of splits, which indicates where the split should occur. The i
th returned column_view
is sliced as [0, splits[i])
if i
=0, else [splits[i], input.size())
if i
is the last view and [splits[i-1], splits[i]]
otherwise.
For all i
it is expected splits[i] <= splits[i+1] <= input.size()
For a splits
size N, there will always be N+1 splits in the output
cudf::logic_error | if splits has end index > size of input . |
cudf::logic_error | When the value in splits is not in the range [0, input.size()). |
cudf::logic_error | When the values in the splits are 'strictly decreasing'. |
input | View of column to split |
splits | Indices where the view will be split |
stream | CUDA stream used for device memory operations and kernel launches |
input
indicated by the splits
std::vector<table_view> cudf::split | ( | table_view const & | input, |
host_span< size_type const > | splits, | ||
rmm::cuda_stream_view | stream = cudf::get_default_stream() |
||
) |
Splits a table_view
into a set of table_view
s according to a set of indices derived from expected splits.
The returned views of input
are constructed from vector of splits, which indicates where the split should occur. The i
th returned table_view
is sliced as [0, splits[i])
if i
=0, else [splits[i], input.size())
if i
is the last view and [splits[i-1], splits[i]]
otherwise.
For all i
it is expected splits[i] <= splits[i+1] <= input.size()
For a splits
size N, there will always be N+1 splits in the output
cudf::logic_error | if splits has end index > size of input . |
cudf::logic_error | When the value in splits is not in the range [0, input.size()). |
cudf::logic_error | When the values in the splits are 'strictly decreasing'. |
input | View of a table to split |
splits | Indices where the view will be split |
stream | CUDA stream used for device memory operations and kernel launches |
input
indicated by the splits
std::vector<table_view> cudf::split | ( | table_view const & | input, |
std::initializer_list< size_type > | splits, | ||
rmm::cuda_stream_view | stream = cudf::get_default_stream() |
||
) |
Splits a table_view
into a set of table_view
s according to a set of indices derived from expected splits.
The returned views of input
are constructed from vector of splits, which indicates where the split should occur. The i
th returned table_view
is sliced as [0, splits[i])
if i
=0, else [splits[i], input.size())
if i
is the last view and [splits[i-1], splits[i]]
otherwise.
For all i
it is expected splits[i] <= splits[i+1] <= input.size()
For a splits
size N, there will always be N+1 splits in the output
cudf::logic_error | if splits has end index > size of input . |
cudf::logic_error | When the value in splits is not in the range [0, input.size()). |
cudf::logic_error | When the values in the splits are 'strictly decreasing'. |
input | View of a table to split |
splits | Indices where the view will be split |
stream | CUDA stream used for device memory operations and kernel launches |
input
indicated by the splits