12 #include <cudf/types.hpp>
14 #include <rapidsmpf/streaming/core/message.hpp>
48 enum class Type : std::uint8_t {
55 std::optional<HashScheme>
hash;
Type-erased message wrapper around a payload.
Message to_message(std::uint64_t sequence_number, std::unique_ptr< PackedData > chunk)
Wrap PackedData into a Message.
Hash partitioning scheme.
std::vector< cudf::size_type > column_indices
Column indices to hash on.
bool operator==(HashScheme const &) const =default
Equality comparison.
int modulus
Hash modulus (number of partitions).
Partitioning specification for a single hierarchical level.
Type
Type tag for PartitioningSpec.
@ NONE
No partitioning information at this level.
@ INHERIT
Partitioning is inherited from parent level unchanged.
static PartitioningSpec inherit()
Create a spec indicating partitioning passes through from parent.
bool operator==(PartitioningSpec const &) const =default
Equality comparison.
Type type
The type of partitioning.
std::optional< HashScheme > hash
Valid only when type == HASH.
static PartitioningSpec none()
Create a spec indicating no partitioning information.
static PartitioningSpec from_hash(HashScheme h)
Create a spec for hash partitioning.
Hierarchical partitioning metadata for a data stream.
PartitioningSpec inter_rank
Distribution across ranks (corresponds to primary communicator).
bool operator==(Partitioning const &) const =default
Equality comparison.
PartitioningSpec local
Distribution within a rank (corresponds to local/single communicator).