Shuffle functions#
-
template<typename vertex_t>
std::tuple<rmm::device_uvector<vertex_t>, std::vector<cugraph::arithmetic_device_uvector_t>> shuffle_ext_vertices( - raft::handle_t const &handle,
- rmm::device_uvector<vertex_t> &&vertices,
- std::vector<cugraph::arithmetic_device_uvector_t> &&vertex_properties,
- std::optional<large_buffer_type_t> large_buffer_type = std::nullopt
Shuffle external vertex IDs to the owning GPUs (by vertex partitioning).
- Template Parameters:
vertex_t – Type of vertex identifiers. Needs to be an integral type.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
vertices – Vector of vertex ids
vertex_properties – Vector of vertex properties, each element is an arithmetic device vector
- Returns:
Vector of vertex ids mapped to this GPU.
-
template<typename vertex_t>
std::tuple<rmm::device_uvector<vertex_t>, std::vector<cugraph::arithmetic_device_uvector_t>> shuffle_int_vertices( - raft::handle_t const &handle,
- rmm::device_uvector<vertex_t> &&vertices,
- std::vector<cugraph::arithmetic_device_uvector_t> &&vertex_properties,
- raft::host_span<vertex_t const> vertex_partition_range_lasts,
- std::optional<large_buffer_type_t> large_buffer_type = std::nullopt
Shuffle internal vertex IDs to the owning GPUs (by vertex partitioning).
- Template Parameters:
vertex_t – Type of vertex identifiers. Needs to be an integral type.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
vertices – Vector of vertex ids
vertex_properties – Vector of vertex properties, each element is an arithmetic device vector
vertex_partition_range_lasts – Span of vertex partition range lasts (size = number of GPUs)
- Returns:
Vector of vertex ids mapped to this GPU.