Complete C++ namespace reference#
This complete namespace view is provided for symbol discovery. For task-based navigation, use the categorized C++ pages or the dedicated primitives reference.
-
namespace cugraph#
Unnamed Group
-
template<typename VT, typename ET, typename WT>
std::unique_ptr<legacy::GraphCSR<VT, ET, WT>> coo_to_csr( - legacy::GraphCOOView<VT, ET, WT> const &graph,
- rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource_ref()
Convert COO to CSR.
Takes a list of edges in COOrdinate format and generates a CSR format.
Note
Synchronizes the internal CUDA stream before returning so callers may use the returned CSR on a different stream without additional ordering.
- Throws:
cugraph::logic_error – when an error occurs.
- Template Parameters:
VT – type of vertex index
ET – type of edge index
WT – type of the edge weight
- Parameters:
graph – [in] cuGraph graph in coordinate format
mr – [in] Memory resource used to allocate the returned graph
- Returns:
Unique pointer to generate Compressed Sparse Row graph
-
template<typename value_t>
void comms_bcast( - const raft::handle_t &handle,
- value_t *value,
- size_t count
Broadcast using handle communicator.
Use handle’s communicator to operate broadcasting.
- Throws:
cugraph::logic_error – when an error occurs.
- Template Parameters:
value_t – Type of the data to broadcast
- Parameters:
value – [out] Point to the data
count – [in] Number of elements to broadcast
Typedefs
-
using arithmetic_type_t = std::variant<std::monostate, float, double, int8_t, int16_t, int32_t, int64_t, size_t>#
-
using arithmetic_device_uvector_t = std::variant<std::monostate, rmm::device_uvector<float>, rmm::device_uvector<double>, rmm::device_uvector<int8_t>, rmm::device_uvector<int16_t>, rmm::device_uvector<int32_t>, rmm::device_uvector<int64_t>, rmm::device_uvector<size_t>>#
-
using arithmetic_device_span_t = std::variant<std::monostate, raft::device_span<float>, raft::device_span<double>, raft::device_span<int8_t>, raft::device_span<int16_t>, raft::device_span<int32_t>, raft::device_span<int64_t>, raft::device_span<size_t>>#
-
using const_arithmetic_device_span_t = std::variant<std::monostate, raft::device_span<float const>, raft::device_span<double const>, raft::device_span<int8_t const>, raft::device_span<int16_t const>, raft::device_span<int32_t const>, raft::device_span<int64_t const>, raft::device_span<size_t const>>#
-
template<typename edge_t>
using edge_arithmetic_property_t = std::variant<std::monostate, cugraph::edge_property_t<edge_t, float>, cugraph::edge_property_t<edge_t, double>, cugraph::edge_property_t<edge_t, int8_t>, cugraph::edge_property_t<edge_t, int16_t>, cugraph::edge_property_t<edge_t, int32_t>, cugraph::edge_property_t<edge_t, int64_t>, cugraph::edge_property_t<edge_t, size_t>>#
-
template<typename edge_t>
using edge_arithmetic_property_view_t = std::variant<std::monostate, cugraph::edge_property_view_t<edge_t, float const*>, cugraph::edge_property_view_t<edge_t, double const*>, cugraph::edge_property_view_t<edge_t, int8_t const*>, cugraph::edge_property_view_t<edge_t, int16_t const*>, cugraph::edge_property_view_t<edge_t, int32_t const*>, cugraph::edge_property_view_t<edge_t, int64_t const*>, cugraph::edge_property_view_t<edge_t, size_t const*>>#
-
template<typename edge_t>
using edge_arithmetic_property_mutable_view_t = std::variant<std::monostate, cugraph::edge_property_view_t<edge_t, float*>, cugraph::edge_property_view_t<edge_t, double*>, cugraph::edge_property_view_t<edge_t, int8_t*>, cugraph::edge_property_view_t<edge_t, int16_t*>, cugraph::edge_property_view_t<edge_t, int32_t*>, cugraph::edge_property_view_t<edge_t, int64_t*>, cugraph::edge_property_view_t<edge_t, size_t*>>#
-
template<typename GraphViewType, typename EdgeValueType>
using edge_property_view_type_t = typename edge_property_view_type<GraphViewType, EdgeValueType>::value#
-
using sampling_flags_t = sampling_options_t#
- Deprecated:
Use sampling_options_t.
-
template<typename T>
using dataframe_buffer_type_t = typename dataframe_buffer_type<T>::type#
-
template<typename T>
using dataframe_buffer_iterator_type_t = typename dataframe_buffer_iterator_type<T>::type#
-
template<typename T>
using dataframe_buffer_const_iterator_type_t = typename dataframe_buffer_const_iterator_type<T>::type#
Enums
-
enum class k_core_degree_type_t#
Identify whether the core number computation should be based off incoming edges, outgoing edges or both.
.*
Values:
-
enumerator IN#
-
enumerator OUT#
-
enumerator INOUT#
-
enumerator IN#
-
enum class sampling_strategy_t : int#
Values:
-
enumerator UNIFORM#
-
enumerator BIASED#
-
enumerator NODE2VEC#
-
enumerator UNIFORM#
-
enum class large_buffer_type_t#
Values:
-
enumerator MEMORY#
-
enumerator STORAGE#
-
enumerator NUM_TYPES#
-
enumerator MEMORY#
-
enum class temporal_sampling_comparison_t#
Values:
-
enumerator STRICTLY_INCREASING#
-
enumerator MONOTONICALLY_INCREASING#
Time strictly increasing (each time is after the previous one)
-
enumerator STRICTLY_DECREASING#
Time monotonically increasing (could have multiple edges with same time)
-
enumerator MONOTONICALLY_DECREASING#
Time strictly decreasing (each time is before the previous one)
-
enumerator LAST#
Time monotonically decreasing (could have multiple edges with same time) Deprecated Value, we moved last-n to a different parameter
-
enumerator STRICTLY_INCREASING#
-
enum class neighbor_selection_t#
Selects neighbors from the set that satisfies the sampling filters.
Values:
-
enumerator RANDOM#
-
enumerator LAST#
Random selection. Uniform if no bias view is supplied, biased otherwise. Select the last-n eligible edges (temporal only). Named to match PyTorch Geometric’s temporal_strategy=’last’. “Last” is relative to the temporal walk order in
temporal_sampling_comparison, not unconditionally the latest timestamp: among edges that pass the temporal window and disjoint unvisited-destination filter, keep fanout K (per edge type when heterogeneous) ranked by edge start time — later times for STRICTLY_INCREASING and MONOTONICALLY_INCREASING (same as PyG); earlier times for STRICTLY_DECREASING and MONOTONICALLY_DECREASING (the last elements in decreasing time order). An edge time equal to numeric_limits<time_stamp_t>::lowest() is ranked by a uniform key in [1, 2) instead, so a heterogeneous edge type stored entirely as that sentinel is a uniform sample of size K. Does not accept edge biases or with_replacement. Start times are ranked via double conversion: int32 ranks exactly over the full signed range; int64 ranks exactly on [-2^52, 2^52 - 1] (typical unix seconds/milliseconds/microseconds). Beyond that, ordering is preserved but values may tie, so fanout edges are still returned yet the chosen set may be wrong when more than fanout K eligible edges on one source share the same rank. Equal timestamps always tie.
-
enumerator RANDOM#
Functions
- template rmm::device_uvector< float > betweenness_centrality (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< raft::device_span< int32_t const > > vertices, bool const normalized, bool const include_endpoints, bool do_expensive_check)
- template rmm::device_uvector< double > betweenness_centrality (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< raft::device_span< int32_t const > > vertices, bool const normalized, bool const include_endpoints, bool do_expensive_check)
- template edge_property_t< int32_t, float > edge_betweenness_centrality (const raft::handle_t &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< raft::device_span< int32_t const > > vertices, bool const normalized, bool const do_expensive_check)
- template edge_property_t< int32_t, double > edge_betweenness_centrality (const raft::handle_t &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< raft::device_span< int32_t const > > vertices, bool const normalized, bool const do_expensive_check)
- template rmm::device_uvector< float > betweenness_centrality (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< raft::device_span< int64_t const > > vertices, bool const normalized, bool const include_endpoints, bool do_expensive_check)
- template rmm::device_uvector< double > betweenness_centrality (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< raft::device_span< int64_t const > > vertices, bool const normalized, bool const include_endpoints, bool do_expensive_check)
- template edge_property_t< int64_t, float > edge_betweenness_centrality (const raft::handle_t &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< raft::device_span< int64_t const > > vertices, bool const normalized, bool const do_expensive_check)
- template edge_property_t< int64_t, double > edge_betweenness_centrality (const raft::handle_t &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< raft::device_span< int64_t const > > vertices, bool const normalized, bool const do_expensive_check)
- template rmm::device_uvector< float > betweenness_centrality (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< raft::device_span< int32_t const > > vertices, bool const normalized, bool const include_endpoints, bool do_expensive_check)
- template rmm::device_uvector< double > betweenness_centrality (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< raft::device_span< int32_t const > > vertices, bool const normalized, bool const include_endpoints, bool do_expensive_check)
- template edge_property_t< int32_t, float > edge_betweenness_centrality (const raft::handle_t &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< raft::device_span< int32_t const > > vertices, bool const normalized, bool const do_expensive_check)
- template edge_property_t< int32_t, double > edge_betweenness_centrality (const raft::handle_t &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< raft::device_span< int32_t const > > vertices, bool const normalized, bool const do_expensive_check)
- template rmm::device_uvector< float > betweenness_centrality (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< raft::device_span< int64_t const > > vertices, bool const normalized, bool const include_endpoints, bool do_expensive_check)
- template rmm::device_uvector< double > betweenness_centrality (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< raft::device_span< int64_t const > > vertices, bool const normalized, bool const include_endpoints, bool do_expensive_check)
- template edge_property_t< int64_t, float > edge_betweenness_centrality (const raft::handle_t &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< raft::device_span< int64_t const > > vertices, bool const normalized, bool const do_expensive_check)
- template edge_property_t< int64_t, double > edge_betweenness_centrality (const raft::handle_t &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< raft::device_span< int64_t const > > vertices, bool const normalized, bool const do_expensive_check)
- template rmm::device_uvector< float > eigenvector_centrality (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< raft::device_span< float const > > initial_centralities, float epsilon, size_t max_iterations, bool do_expensive_check)
- template rmm::device_uvector< double > eigenvector_centrality (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< raft::device_span< double const > > initial_centralities, double epsilon, size_t max_iterations, bool do_expensive_check)
- template rmm::device_uvector< float > eigenvector_centrality (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< raft::device_span< float const > > initial_centralities, float epsilon, size_t max_iterations, bool do_expensive_check)
- template rmm::device_uvector< double > eigenvector_centrality (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< raft::device_span< double const > > initial_centralities, double epsilon, size_t max_iterations, bool do_expensive_check)
- template rmm::device_uvector< float > eigenvector_centrality (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< raft::device_span< float const > > initial_centralities, float epsilon, size_t max_iterations, bool do_expensive_check)
- template rmm::device_uvector< double > eigenvector_centrality (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< raft::device_span< double const > > initial_centralities, double epsilon, size_t max_iterations, bool do_expensive_check)
- template rmm::device_uvector< float > eigenvector_centrality (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< raft::device_span< float const > > initial_centralities, float epsilon, size_t max_iterations, bool do_expensive_check)
- template rmm::device_uvector< double > eigenvector_centrality (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< raft::device_span< double const > > initial_centralities, double epsilon, size_t max_iterations, bool do_expensive_check)
- template void katz_centrality (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, float const *betas, float *katz_centralities, float alpha, float beta, float epsilon, size_t max_iterations, bool has_initial_guess, bool normalize, bool do_expensive_check)
- template void katz_centrality (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, double const *betas, double *katz_centralities, double alpha, double beta, double epsilon, size_t max_iterations, bool has_initial_guess, bool normalize, bool do_expensive_check)
- template void katz_centrality (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, float const *betas, float *katz_centralities, float alpha, float beta, float epsilon, size_t max_iterations, bool has_initial_guess, bool normalize, bool do_expensive_check)
- template void katz_centrality (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, double const *betas, double *katz_centralities, double alpha, double beta, double epsilon, size_t max_iterations, bool has_initial_guess, bool normalize, bool do_expensive_check)
- template void katz_centrality (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, float const *betas, float *katz_centralities, float alpha, float beta, float epsilon, size_t max_iterations, bool has_initial_guess, bool normalize, bool do_expensive_check)
- template void katz_centrality (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, double const *betas, double *katz_centralities, double alpha, double beta, double epsilon, size_t max_iterations, bool has_initial_guess, bool normalize, bool do_expensive_check)
- template void katz_centrality (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, float const *betas, float *katz_centralities, float alpha, float beta, float epsilon, size_t max_iterations, bool has_initial_guess, bool normalize, bool do_expensive_check)
- template void katz_centrality (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, double const *betas, double *katz_centralities, double alpha, double beta, double epsilon, size_t max_iterations, bool has_initial_guess, bool normalize, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, float > approximate_weighted_matching (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, edge_property_view_t< int32_t, float const * > edge_weight_view)
- template std::tuple< rmm::device_uvector< int32_t >, double > approximate_weighted_matching (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, edge_property_view_t< int32_t, double const * > edge_weight_view)
- template std::tuple< rmm::device_uvector< int64_t >, float > approximate_weighted_matching (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, edge_property_view_t< int64_t, float const * > edge_weight_view)
- template std::tuple< rmm::device_uvector< int64_t >, double > approximate_weighted_matching (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, edge_property_view_t< int64_t, double const * > edge_weight_view)
- template std::tuple< rmm::device_uvector< int32_t >, float > approximate_weighted_matching (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, edge_property_view_t< int32_t, float const * > edge_weight_view)
- template std::tuple< rmm::device_uvector< int32_t >, double > approximate_weighted_matching (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, edge_property_view_t< int32_t, double const * > edge_weight_view)
- template std::tuple< rmm::device_uvector< int64_t >, float > approximate_weighted_matching (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, edge_property_view_t< int64_t, float const * > edge_weight_view)
- template std::tuple< rmm::device_uvector< int64_t >, double > approximate_weighted_matching (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, edge_property_view_t< int64_t, double const * > edge_weight_view)
- template std::tuple< rmm::device_uvector< int32_t >, size_t, float > ecg (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, float min_weight, size_t ensemble_size, size_t max_level, float threshold, float resolution)
- template std::tuple< rmm::device_uvector< int32_t >, size_t, double > ecg (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, double min_weight, size_t ensemble_size, size_t max_level, double threshold, double resolution)
- template std::tuple< rmm::device_uvector< int64_t >, size_t, float > ecg (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, float min_weight, size_t ensemble_size, size_t max_level, float threshold, float resolution)
- template std::tuple< rmm::device_uvector< int64_t >, size_t, double > ecg (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, double min_weight, size_t ensemble_size, size_t max_level, double threshold, double resolution)
- template std::tuple< rmm::device_uvector< int32_t >, size_t, float > ecg (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, float min_weight, size_t ensemble_size, size_t max_level, float threshold, float resolution)
- template std::tuple< rmm::device_uvector< int32_t >, size_t, double > ecg (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, double min_weight, size_t ensemble_size, size_t max_level, double threshold, double resolution)
- template std::tuple< rmm::device_uvector< int64_t >, size_t, float > ecg (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, float min_weight, size_t ensemble_size, size_t max_level, float threshold, float resolution)
- template std::tuple< rmm::device_uvector< int64_t >, size_t, double > ecg (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, double min_weight, size_t ensemble_size, size_t max_level, double threshold, double resolution)
- template edge_property_t< int32_t, int32_t > edge_triangle_count (raft::handle_t const &handle, cugraph::graph_view_t< int32_t, int32_t, false, true > const &graph_view, bool do_expensive_check)
- template edge_property_t< int64_t, int64_t > edge_triangle_count (raft::handle_t const &handle, cugraph::graph_view_t< int64_t, int64_t, false, true > const &graph_view, bool do_expensive_check)
- template edge_property_t< int32_t, int32_t > edge_triangle_count (raft::handle_t const &handle, cugraph::graph_view_t< int32_t, int32_t, false, false > const &graph_view, bool do_expensive_check)
- template edge_property_t< int64_t, int64_t > edge_triangle_count (raft::handle_t const &handle, cugraph::graph_view_t< int64_t, int64_t, false, false > const &graph_view, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, rmm::device_uvector< size_t > > extract_ego (raft::handle_t const &, graph_view_t< int32_t, int32_t, false, true > const &, std::optional< edge_property_view_t< int32_t, float const * > >, int32_t *, int32_t, int32_t)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, rmm::device_uvector< size_t > > extract_ego (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > >, raft::device_span< int32_t const > source_vertex, int32_t radius, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, rmm::device_uvector< size_t > > extract_ego (raft::handle_t const &, graph_view_t< int32_t, int32_t, false, true > const &, std::optional< edge_property_view_t< int32_t, double const * > >, int32_t *, int32_t, int32_t)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, rmm::device_uvector< size_t > > extract_ego (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > >, raft::device_span< int32_t const > source_vertex, int32_t radius, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, rmm::device_uvector< size_t > > extract_ego (raft::handle_t const &, graph_view_t< int64_t, int64_t, false, true > const &, std::optional< edge_property_view_t< int64_t, float const * > >, int64_t *, int64_t, int64_t)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, rmm::device_uvector< size_t > > extract_ego (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > >, raft::device_span< int64_t const > source_vertex, int64_t radius, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, rmm::device_uvector< size_t > > extract_ego (raft::handle_t const &, graph_view_t< int64_t, int64_t, false, true > const &, std::optional< edge_property_view_t< int64_t, double const * > >, int64_t *, int64_t, int64_t)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, rmm::device_uvector< size_t > > extract_ego (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > >, raft::device_span< int64_t const > source_vertex, int64_t radius, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, rmm::device_uvector< size_t > > extract_ego (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > >, int32_t *source_vertex, int32_t n_subgraphs, int32_t radius)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, rmm::device_uvector< size_t > > extract_ego (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > >, raft::device_span< int32_t const > source_vertex, int32_t radius, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, rmm::device_uvector< size_t > > extract_ego (raft::handle_t const &, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > >, int32_t *source_vertex, int32_t n_subgraphs, int32_t radius)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, rmm::device_uvector< size_t > > extract_ego (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > >, raft::device_span< int32_t const > source_vertex, int32_t radius, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, rmm::device_uvector< size_t > > extract_ego (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > >, int64_t *source_vertex, int64_t n_subgraphs, int64_t radius)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, rmm::device_uvector< size_t > > extract_ego (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > >, raft::device_span< int64_t const > source_vertex, int64_t radius, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, rmm::device_uvector< size_t > > extract_ego (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > >, int64_t *source_vertex, int64_t n_subgraphs, int64_t radius)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, rmm::device_uvector< size_t > > extract_ego (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > >, raft::device_span< int64_t const > source_vertex, int64_t radius, bool do_expensive_check)
-
template<typename vertex_t, bool multi_gpu>
void partition_at_level( - raft::handle_t const &handle,
- Dendrogram<vertex_t> const &dendrogram,
- vertex_t const *d_vertex_ids,
- vertex_t *d_partition,
- size_t level
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > > > k_truss (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, int32_t k, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > > > k_truss (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, int32_t k, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > > > k_truss (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, int64_t k, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > > > k_truss (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, int64_t k, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > > > k_truss (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, int32_t k, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > > > k_truss (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, int32_t k, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > > > k_truss (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, int64_t k, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > > > k_truss (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, int64_t k, bool do_expensive_check)
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
void flatten_leiden_dendrogram( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- Dendrogram<vertex_t> const &dendrogram,
- vertex_t *clustering
- template std::pair< std::unique_ptr< Dendrogram< int32_t > >, float > leiden (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, size_t max_level, float resolution, float theta)
- template std::pair< std::unique_ptr< Dendrogram< int32_t > >, double > leiden (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, size_t max_level, double resolution, double theta)
- template std::pair< size_t, float > leiden (raft::handle_t const &, raft::random::RngState &, graph_view_t< int32_t, int32_t, false, true > const &, std::optional< edge_property_view_t< int32_t, float const * > >, int32_t *, size_t, float, float)
- template std::pair< size_t, double > leiden (raft::handle_t const &, raft::random::RngState &, graph_view_t< int32_t, int32_t, false, true > const &, std::optional< edge_property_view_t< int32_t, double const * > >, int32_t *, size_t, double, double)
- template std::pair< std::unique_ptr< Dendrogram< int64_t > >, float > leiden (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, size_t max_level, float resolution, float theta)
- template std::pair< std::unique_ptr< Dendrogram< int64_t > >, double > leiden (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, size_t max_level, double resolution, double theta)
- template std::pair< size_t, float > leiden (raft::handle_t const &, raft::random::RngState &, graph_view_t< int64_t, int64_t, false, true > const &, std::optional< edge_property_view_t< int64_t, float const * > >, int64_t *, size_t, float, float)
- template std::pair< size_t, double > leiden (raft::handle_t const &, raft::random::RngState &, graph_view_t< int64_t, int64_t, false, true > const &, std::optional< edge_property_view_t< int64_t, double const * > >, int64_t *, size_t, double, double)
- template std::pair< std::unique_ptr< Dendrogram< int32_t > >, float > leiden (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, size_t max_level, float resolution, float theta)
- template std::pair< std::unique_ptr< Dendrogram< int32_t > >, double > leiden (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, size_t max_level, double resolution, double theta)
- template std::pair< size_t, float > leiden (raft::handle_t const &, raft::random::RngState &, graph_view_t< int32_t, int32_t, false, false > const &, std::optional< edge_property_view_t< int32_t, float const * > >, int32_t *, size_t, float, float)
- template std::pair< size_t, double > leiden (raft::handle_t const &, raft::random::RngState &, graph_view_t< int32_t, int32_t, false, false > const &, std::optional< edge_property_view_t< int32_t, double const * > >, int32_t *, size_t, double, double)
- template std::pair< std::unique_ptr< Dendrogram< int64_t > >, float > leiden (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, size_t max_level, float resolution, float theta)
- template std::pair< std::unique_ptr< Dendrogram< int64_t > >, double > leiden (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, size_t max_level, double resolution, double theta)
- template std::pair< size_t, float > leiden (raft::handle_t const &, raft::random::RngState &, graph_view_t< int64_t, int64_t, false, false > const &, std::optional< edge_property_view_t< int64_t, float const * > >, int64_t *, size_t, float, float)
- template std::pair< size_t, double > leiden (raft::handle_t const &, raft::random::RngState &, graph_view_t< int64_t, int64_t, false, false > const &, std::optional< edge_property_view_t< int64_t, double const * > >, int64_t *, size_t, double, double)
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
void flatten_dendrogram( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- Dendrogram<vertex_t> const &dendrogram,
- vertex_t *clustering
- template std::pair< std::unique_ptr< Dendrogram< int32_t > >, float > louvain (raft::handle_t const &, std::optional< std::reference_wrapper< raft::random::RngState > >, graph_view_t< int32_t, int32_t, false, true > const &, std::optional< edge_property_view_t< int32_t, float const * > >, size_t, float, float)
- template std::pair< std::unique_ptr< Dendrogram< int32_t > >, double > louvain (raft::handle_t const &, std::optional< std::reference_wrapper< raft::random::RngState > >, graph_view_t< int32_t, int32_t, false, true > const &, std::optional< edge_property_view_t< int32_t, double const * > >, size_t, double, double)
- template std::pair< size_t, float > louvain (raft::handle_t const &, std::optional< std::reference_wrapper< raft::random::RngState > >, graph_view_t< int32_t, int32_t, false, true > const &, std::optional< edge_property_view_t< int32_t, float const * > >, int32_t *, size_t, float, float)
- template std::pair< size_t, double > louvain (raft::handle_t const &, std::optional< std::reference_wrapper< raft::random::RngState > >, graph_view_t< int32_t, int32_t, false, true > const &, std::optional< edge_property_view_t< int32_t, double const * > >, int32_t *, size_t, double, double)
- template std::pair< std::unique_ptr< Dendrogram< int64_t > >, float > louvain (raft::handle_t const &, std::optional< std::reference_wrapper< raft::random::RngState > >, graph_view_t< int64_t, int64_t, false, true > const &, std::optional< edge_property_view_t< int64_t, float const * > >, size_t, float, float)
- template std::pair< std::unique_ptr< Dendrogram< int64_t > >, double > louvain (raft::handle_t const &, std::optional< std::reference_wrapper< raft::random::RngState > >, graph_view_t< int64_t, int64_t, false, true > const &, std::optional< edge_property_view_t< int64_t, double const * > >, size_t, double, double)
- template std::pair< size_t, float > louvain (raft::handle_t const &, std::optional< std::reference_wrapper< raft::random::RngState > >, graph_view_t< int64_t, int64_t, false, true > const &, std::optional< edge_property_view_t< int64_t, float const * > >, int64_t *, size_t, float, float)
- template std::pair< size_t, double > louvain (raft::handle_t const &, std::optional< std::reference_wrapper< raft::random::RngState > >, graph_view_t< int64_t, int64_t, false, true > const &, std::optional< edge_property_view_t< int64_t, double const * > >, int64_t *, size_t, double, double)
- template std::pair< std::unique_ptr< Dendrogram< int32_t > >, float > louvain (raft::handle_t const &, std::optional< std::reference_wrapper< raft::random::RngState > >, graph_view_t< int32_t, int32_t, false, false > const &, std::optional< edge_property_view_t< int32_t, float const * > >, size_t, float, float)
- template std::pair< std::unique_ptr< Dendrogram< int32_t > >, double > louvain (raft::handle_t const &, std::optional< std::reference_wrapper< raft::random::RngState > >, graph_view_t< int32_t, int32_t, false, false > const &, std::optional< edge_property_view_t< int32_t, double const * > >, size_t, double, double)
- template std::pair< size_t, float > louvain (raft::handle_t const &, std::optional< std::reference_wrapper< raft::random::RngState > >, graph_view_t< int32_t, int32_t, false, false > const &, std::optional< edge_property_view_t< int32_t, float const * > >, int32_t *, size_t, float, float)
- template std::pair< size_t, double > louvain (raft::handle_t const &, std::optional< std::reference_wrapper< raft::random::RngState > >, graph_view_t< int32_t, int32_t, false, false > const &, std::optional< edge_property_view_t< int32_t, double const * > >, int32_t *, size_t, double, double)
- template std::pair< std::unique_ptr< Dendrogram< int64_t > >, float > louvain (raft::handle_t const &, std::optional< std::reference_wrapper< raft::random::RngState > >, graph_view_t< int64_t, int64_t, false, false > const &, std::optional< edge_property_view_t< int64_t, float const * > >, size_t, float, float)
- template std::pair< std::unique_ptr< Dendrogram< int64_t > >, double > louvain (raft::handle_t const &, std::optional< std::reference_wrapper< raft::random::RngState > >, graph_view_t< int64_t, int64_t, false, false > const &, std::optional< edge_property_view_t< int64_t, double const * > >, size_t, double, double)
- template std::pair< size_t, float > louvain (raft::handle_t const &, std::optional< std::reference_wrapper< raft::random::RngState > >, graph_view_t< int64_t, int64_t, false, false > const &, std::optional< edge_property_view_t< int64_t, float const * > >, int64_t *, size_t, float, float)
- template std::pair< size_t, double > louvain (raft::handle_t const &, std::optional< std::reference_wrapper< raft::random::RngState > >, graph_view_t< int64_t, int64_t, false, false > const &, std::optional< edge_property_view_t< int64_t, double const * > >, int64_t *, size_t, double, double)
- template void triangle_count (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< raft::device_span< int32_t const > > vertices, raft::device_span< int32_t > counts, bool do_expensive_check)
- template void triangle_count (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< raft::device_span< int64_t const > > vertices, raft::device_span< int64_t > counts, bool do_expensive_check)
- template void triangle_count (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< raft::device_span< int32_t const > > vertices, raft::device_span< int32_t > counts, bool do_expensive_check)
- template void triangle_count (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< raft::device_span< int64_t const > > vertices, raft::device_span< int64_t > counts, bool do_expensive_check)
- template rmm::device_uvector< int32_t > maximal_independent_set (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, raft::random::RngState &rng_state)
- template rmm::device_uvector< int64_t > maximal_independent_set (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, raft::random::RngState &rng_state)
- template rmm::device_uvector< int32_t > maximal_independent_set (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, raft::random::RngState &rng_state)
- template rmm::device_uvector< int64_t > maximal_independent_set (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, raft::random::RngState &rng_state)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< size_t > > simple_cycles (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< raft::device_span< int32_t const > > seed_vertices, int32_t length_bound, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< size_t > > simple_cycles (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< raft::device_span< int64_t const > > seed_vertices, int64_t length_bound, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< size_t > > simple_cycles (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< raft::device_span< int32_t const > > seed_vertices, int32_t length_bound, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< size_t > > simple_cycles (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< raft::device_span< int64_t const > > seed_vertices, int64_t length_bound, bool do_expensive_check)
- template rmm::device_uvector< int32_t > strongly_connected_components (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, bool do_expensive_check)
- template rmm::device_uvector< int64_t > strongly_connected_components (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, bool do_expensive_check)
- template rmm::device_uvector< int32_t > strongly_connected_components (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, bool do_expensive_check)
- template rmm::device_uvector< int64_t > strongly_connected_components (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, bool do_expensive_check)
- template rmm::device_uvector< int32_t > vertex_coloring (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, raft::random::RngState &rng_state)
- template rmm::device_uvector< int64_t > vertex_coloring (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, raft::random::RngState &rng_state)
- template rmm::device_uvector< int32_t > vertex_coloring (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, raft::random::RngState &rng_state)
- template rmm::device_uvector< int64_t > vertex_coloring (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, raft::random::RngState &rng_state)
- template void weakly_connected_components (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, int32_t *components, bool do_expensive_check)
- template void weakly_connected_components (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, int64_t *components, bool do_expensive_check)
- template void weakly_connected_components (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, int32_t *components, bool do_expensive_check)
- template void weakly_connected_components (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, int64_t *components, bool do_expensive_check)
- template std::unique_ptr< legacy::GraphCSR< uint32_t, uint32_t, float > > coo_to_csr< uint32_t, uint32_t, float > (legacy::GraphCOOView< uint32_t, uint32_t, float > const &graph, rmm::device_async_resource_ref)
- template std::unique_ptr< legacy::GraphCSR< uint32_t, uint32_t, double > > coo_to_csr< uint32_t, uint32_t, double > (legacy::GraphCOOView< uint32_t, uint32_t, double > const &graph, rmm::device_async_resource_ref)
- template std::unique_ptr< legacy::GraphCSR< int32_t, int32_t, float > > coo_to_csr< int32_t, int32_t, float > (legacy::GraphCOOView< int32_t, int32_t, float > const &graph, rmm::device_async_resource_ref)
- template std::unique_ptr< legacy::GraphCSR< int32_t, int32_t, double > > coo_to_csr< int32_t, int32_t, double > (legacy::GraphCOOView< int32_t, int32_t, double > const &graph, rmm::device_async_resource_ref)
- template std::unique_ptr< legacy::GraphCSR< int64_t, int64_t, float > > coo_to_csr< int64_t, int64_t, float > (legacy::GraphCOOView< int64_t, int64_t, float > const &graph, rmm::device_async_resource_ref)
- template std::unique_ptr< legacy::GraphCSR< int64_t, int64_t, double > > coo_to_csr< int64_t, int64_t, double > (legacy::GraphCOOView< int64_t, int64_t, double > const &graph, rmm::device_async_resource_ref)
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
void core_number( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- edge_t *core_numbers,
- k_core_degree_type_t degree_type,
- size_t k_first = 0,
- size_t k_last = std::numeric_limits<size_t>::max(),
- bool do_expensive_check = false
Compute core numbers of individual vertices from K-Core decomposition.
.*
This algorithms does not support multi-graphs. Self-loops are excluded in computing core nuumbers.
- Template Parameters:
vertex_t – Type of vertex identifiers. Needs to be an integral type.
edge_t – Type of edge identifiers. Needs to be an integral type.
multi_gpu – Flag indicating whether template instantiation should target single-GPU (false) or multi-GPU (true).
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Graph view object.
core_numbers – Pointer to the output core number array.
degree_type – Dictate whether to compute the K-Core decomposition based on in-degrees, out-degrees, or in-degrees + out_degrees.
k_first – Find K-Cores from K = k_first. Any vertices that do not belong to k_first-core will have core numbers of 0.
k_last – Find K-Cores to K = k_last. Any vertices that belong to (k_last)-core will have their core numbers set to their degrees on k_last-core.
do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- template void core_number (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, int32_t *core_numbers, k_core_degree_type_t degree_type, size_t k_first, size_t k_last, bool do_expensive_check)
- template void core_number (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, int64_t *core_numbers, k_core_degree_type_t degree_type, size_t k_first, size_t k_last, bool do_expensive_check)
- template void core_number (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, int32_t *core_numbers, k_core_degree_type_t degree_type, size_t k_first, size_t k_last, bool do_expensive_check)
- template void core_number (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, int64_t *core_numbers, k_core_degree_type_t degree_type, size_t k_first, size_t k_last, bool do_expensive_check)
-
template<typename vertex_t, typename edge_t, typename weight_t, bool multi_gpu>
std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>, std::optional<rmm::device_uvector<weight_t>>> k_core( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- std::optional<edge_property_view_t<edge_t, weight_t const*>> edge_weight_view,
- size_t k,
- std::optional<k_core_degree_type_t> degree_type,
- std::optional<raft::device_span<edge_t const>> core_numbers,
- bool do_expensive_check = false
Extract K-Core of a graph.
.*
This function internally calls core_number (if
core_numbers.has_value()is false). core_number does not support multi-graphs. Self-loops are excluded in computing core nuumbers. Note that the extracted K-Core can still include self-loops.- Template Parameters:
vertex_t – Type of vertex identifiers. Needs to be an integral type.
edge_t – Type of edge identifiers. Needs to be an integral type.
weight_t – Type of edge weights. Needs to be a floating point type.
multi_gpu – Flag indicating whether template instantiation should target single-GPU (false)
- Parameters:
graph_view – Graph view object.
edge_weight_view – Optional view object holding edge weights for
graph_view.k – Order of the core. This value must not be negative.
degree_type – Optional parameter to dictate whether to compute the K-Core decomposition based on in-degrees, out-degrees, or in-degrees + out_degrees. One of
degree_typeandcore_numbersmust be specified.core_numbers – Optional output from core_number algorithm. If not specified then k_core will call core_number itself using
degree_typedo_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
edge list for the graph
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > > > k_core (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, size_t k, std::optional< k_core_degree_type_t > degree_type, std::optional< raft::device_span< int32_t const > > core_numbers, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > > > k_core (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, size_t k, std::optional< k_core_degree_type_t > degree_type, std::optional< raft::device_span< int32_t const > > core_numbers, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > > > k_core (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, size_t k, std::optional< k_core_degree_type_t > degree_type, std::optional< raft::device_span< int64_t const > > core_numbers, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > > > k_core (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, size_t k, std::optional< k_core_degree_type_t > degree_type, std::optional< raft::device_span< int64_t const > > core_numbers, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > > > k_core (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, size_t k, std::optional< k_core_degree_type_t > degree_type, std::optional< raft::device_span< int32_t const > > core_numbers, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > > > k_core (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, size_t k, std::optional< k_core_degree_type_t > degree_type, std::optional< raft::device_span< int32_t const > > core_numbers, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > > > k_core (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, size_t k, std::optional< k_core_degree_type_t > degree_type, std::optional< raft::device_span< int64_t const > > core_numbers, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > > > k_core (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, size_t k, std::optional< k_core_degree_type_t > degree_type, std::optional< raft::device_span< int64_t const > > core_numbers, bool do_expensive_check)
- template rmm::device_uvector< int32_t > topological_sort (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, bool do_expensive_check)
- template rmm::device_uvector< int64_t > topological_sort (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, bool do_expensive_check)
- template rmm::device_uvector< int32_t > topological_sort (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, bool do_expensive_check)
- template rmm::device_uvector< int64_t > topological_sort (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, bool do_expensive_check)
- std::vector<arithmetic_device_uvector_t> shuffle_properties(
- raft::handle_t const &handle,
- rmm::device_uvector<int> &&gpus,
- std::vector<arithmetic_device_uvector_t> &&properties,
- std::optional<large_buffer_type_t> large_buffer_type = std::nullopt
Shuffle properties to the proper GPU *.
- Parameters:
handle – [in] RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
gpu – [in] Device vector of gpu ids
properties – [in] Vector of device vectors of properties
large_buffer_type – [in] Flag indicating the large buffer type to use when we need to create a large device-accessible vector object (if the value is std::nullopt, the default RMM per-device memory resource is used). The shuffled property values will also be stored in the buffer type dictated by this parameter.
- Returns:
vector of device vector of properties shuffled to the proper GPU
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t > > generate_erdos_renyi_graph_edgelist_gnp (raft::handle_t const &handle, int32_t num_vertices, float p, int32_t base_vertex_id, uint64_t seed)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t > > generate_erdos_renyi_graph_edgelist_gnm (raft::handle_t const &handle, int32_t num_vertices, size_t m, int32_t base_vertex_id, uint64_t seed)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t > > generate_erdos_renyi_graph_edgelist_gnp (raft::handle_t const &handle, int64_t num_vertices, float p, int64_t base_vertex_id, uint64_t seed)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t > > generate_erdos_renyi_graph_edgelist_gnm (raft::handle_t const &handle, int64_t num_vertices, size_t m, int64_t base_vertex_id, uint64_t seed)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t > > generate_bipartite_rmat_edgelist< int32_t > (raft::handle_t const &handle, raft::random::RngState &rng_state, size_t src_scale, size_t dst_scale, size_t num_edges, double a, double b, double c)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t > > generate_bipartite_rmat_edgelist< int64_t > (raft::handle_t const &handle, raft::random::RngState &rng_state, size_t src_scale, size_t dst_scale, size_t num_edges, double a, double b, double c)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t > > generate_rmat_edgelist< int32_t > (raft::handle_t const &handle, raft::random::RngState &rng_state, size_t scale, size_t num_edges, double a, double b, double c, bool clip_and_flip, bool scramble_vertex_ids, std::optional< large_buffer_type_t > large_buffer_type)
- template std::vector< std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t > > > generate_rmat_edgelists< int32_t > (raft::handle_t const &handle, raft::random::RngState &rng_state, size_t n_edgelists, size_t min_scale, size_t max_scale, size_t edge_factor, generator_distribution_t size_distribution, generator_distribution_t edge_distribution, bool clip_and_flip, bool scramble_vertex_ids, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t > > generate_rmat_edgelist< int64_t > (raft::handle_t const &handle, raft::random::RngState &rng_state, size_t scale, size_t num_edges, double a, double b, double c, bool clip_and_flip, bool scramble_vertex_ids, std::optional< large_buffer_type_t > large_buffer_type)
- template std::vector< std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t > > > generate_rmat_edgelists< int64_t > (raft::handle_t const &handle, raft::random::RngState &rng_state, size_t n_edgelists, size_t min_scale, size_t max_scale, size_t edge_factor, generator_distribution_t size_distribution, generator_distribution_t edge_distribution, bool clip_and_flip, bool scramble_vertex_ids, std::optional< large_buffer_type_t > large_buffer_type)
- template rmm::device_uvector< int32_t > scramble_vertex_ids (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&vertices, size_t lgN)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > > > combine_edgelists (raft::handle_t const &handle, std::vector< rmm::device_uvector< int32_t > > &&sources, std::vector< rmm::device_uvector< int32_t > > &&dests, std::optional< std::vector< rmm::device_uvector< float > > > &&optional_d_weights, bool remove_multi_edges)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > > > combine_edgelists (raft::handle_t const &handle, std::vector< rmm::device_uvector< int32_t > > &&sources, std::vector< rmm::device_uvector< int32_t > > &&dests, std::optional< std::vector< rmm::device_uvector< double > > > &&optional_d_weights, bool remove_multi_edges)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > > > symmetrize_edgelist_from_triangular (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&d_src_v, rmm::device_uvector< int32_t > &&d_dst_v, std::optional< rmm::device_uvector< float > > &&d_weight_v, bool check_diagonal, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > > > symmetrize_edgelist_from_triangular (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&d_src_v, rmm::device_uvector< int32_t > &&d_dst_v, std::optional< rmm::device_uvector< double > > &&d_weight_v, bool check_diagonal, std::optional< large_buffer_type_t > large_buffer_type)
- template rmm::device_uvector< int64_t > scramble_vertex_ids (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&vertices, size_t lgN)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > > > combine_edgelists (raft::handle_t const &handle, std::vector< rmm::device_uvector< int64_t > > &&sources, std::vector< rmm::device_uvector< int64_t > > &&dests, std::optional< std::vector< rmm::device_uvector< float > > > &&optional_d_weights, bool remove_multi_edges)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > > > combine_edgelists (raft::handle_t const &handle, std::vector< rmm::device_uvector< int64_t > > &&sources, std::vector< rmm::device_uvector< int64_t > > &&dests, std::optional< std::vector< rmm::device_uvector< double > > > &&optional_d_weights, bool remove_multi_edges)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > > > symmetrize_edgelist_from_triangular (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&d_src_v, rmm::device_uvector< int64_t > &&d_dst_v, std::optional< rmm::device_uvector< float > > &&d_weight_v, bool check_diagonal, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > > > symmetrize_edgelist_from_triangular (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&d_src_v, rmm::device_uvector< int64_t > &&d_dst_v, std::optional< rmm::device_uvector< double > > &&d_weight_v, bool check_diagonal, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t > > generate_path_graph_edgelist (raft::handle_t const &handle, std::vector< std::tuple< int32_t, int32_t > > const &component_parms_v)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t > > generate_2d_mesh_graph_edgelist (raft::handle_t const &handle, std::vector< std::tuple< int32_t, int32_t, int32_t > > const &component_parms_v)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t > > generate_3d_mesh_graph_edgelist (raft::handle_t const &handle, std::vector< std::tuple< int32_t, int32_t, int32_t, int32_t > > const &component_parms_v)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t > > generate_complete_graph_edgelist (raft::handle_t const &handle, std::vector< std::tuple< int32_t, int32_t > > const &component_parms_v)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t > > generate_path_graph_edgelist (raft::handle_t const &handle, std::vector< std::tuple< int64_t, int64_t > > const &component_parms_v)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t > > generate_2d_mesh_graph_edgelist (raft::handle_t const &handle, std::vector< std::tuple< int64_t, int64_t, int64_t > > const &component_parms_v)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t > > generate_3d_mesh_graph_edgelist (raft::handle_t const &handle, std::vector< std::tuple< int64_t, int64_t, int64_t, int64_t > > const &component_parms_v)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t > > generate_complete_graph_edgelist (raft::handle_t const &handle, std::vector< std::tuple< int64_t, int64_t > > const &component_parms_v)
- template void force_atlas2< int32_t, int32_t, float > (raft::handle_t const &handle, raft::random::RngState &rng_state, legacy::GraphCOOView< int32_t, int32_t, float > &graph, float *pos, const int max_iter, float *x_start, float *y_start, bool outbound_attraction_distribution, bool lin_log_mode, bool prevent_overlapping, float *vertex_radius, const float overlap_scaling_ratio, const float edge_weight_influence, const float jitter_tolerance, bool barnes_hut_optimize, const float barnes_hut_theta, const float scaling_ratio, bool strong_gravity_mode, const float gravity, float *vertex_mobility, float *vertex_mass, bool verbose, internals::GraphBasedDimRedCallback *callback)
- template void force_atlas2< int32_t, int32_t, double > (raft::handle_t const &handle, raft::random::RngState &rng_state, legacy::GraphCOOView< int32_t, int32_t, double > &graph, float *pos, const int max_iter, float *x_start, float *y_start, bool outbound_attraction_distribution, bool lin_log_mode, bool prevent_overlapping, float *vertex_radius, const float overlap_scaling_ratio, const float edge_weight_influence, const float jitter_tolerance, bool barnes_hut_optimize, const float barnes_hut_theta, const float scaling_ratio, bool strong_gravity_mode, const float gravity, float *vertex_mobility, float *vertex_mass, bool verbose, internals::GraphBasedDimRedCallback *callback)
- template void force_atlas2< int64_t, int64_t, float > (raft::handle_t const &handle, raft::random::RngState &rng_state, legacy::GraphCOOView< int64_t, int64_t, float > &graph, float *pos, const int max_iter, float *x_start, float *y_start, bool outbound_attraction_distribution, bool lin_log_mode, bool prevent_overlapping, float *vertex_radius, const float overlap_scaling_ratio, const float edge_weight_influence, const float jitter_tolerance, bool barnes_hut_optimize, const float barnes_hut_theta, const float scaling_ratio, bool strong_gravity_mode, const float gravity, float *vertex_mobility, float *vertex_mass, bool verbose, internals::GraphBasedDimRedCallback *callback)
- template void force_atlas2< int64_t, int64_t, double > (raft::handle_t const &handle, raft::random::RngState &rng_state, legacy::GraphCOOView< int64_t, int64_t, double > &graph, float *pos, const int max_iter, float *x_start, float *y_start, bool outbound_attraction_distribution, bool lin_log_mode, bool prevent_overlapping, float *vertex_radius, const float overlap_scaling_ratio, const float edge_weight_influence, const float jitter_tolerance, bool barnes_hut_optimize, const float barnes_hut_theta, const float scaling_ratio, bool strong_gravity_mode, const float gravity, float *vertex_mobility, float *vertex_mass, bool verbose, internals::GraphBasedDimRedCallback *callback)
- template int32_t hungarian< int32_t, int32_t, int32_t > (raft::handle_t const &, legacy::GraphCOOView< int32_t, int32_t, int32_t > const &, int32_t, int32_t const *, int32_t *, int32_t)
- template float hungarian< int32_t, int32_t, float > (raft::handle_t const &, legacy::GraphCOOView< int32_t, int32_t, float > const &, int32_t, int32_t const *, int32_t *, float)
- template double hungarian< int32_t, int32_t, double > (raft::handle_t const &, legacy::GraphCOOView< int32_t, int32_t, double > const &, int32_t, int32_t const *, int32_t *, double)
- template int32_t hungarian< int32_t, int32_t, int32_t > (raft::handle_t const &, legacy::GraphCOOView< int32_t, int32_t, int32_t > const &, int32_t, int32_t const *, int32_t *)
- template float hungarian< int32_t, int32_t, float > (raft::handle_t const &, legacy::GraphCOOView< int32_t, int32_t, float > const &, int32_t, int32_t const *, int32_t *)
- template double hungarian< int32_t, int32_t, double > (raft::handle_t const &, legacy::GraphCOOView< int32_t, int32_t, double > const &, int32_t, int32_t const *, int32_t *)
- template std::tuple< float, size_t > hits (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, true > const &graph_view, float *const hubs, float *const authorities, float epsilon, size_t max_iterations, bool has_initial_hubs_guess, bool normalize, bool do_expensive_check)
- template std::tuple< double, size_t > hits (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, true > const &graph_view, double *const hubs, double *const authorities, double epsilon, size_t max_iterations, bool has_initial_hubs_guess, bool normalize, bool do_expensive_check)
- template std::tuple< float, size_t > hits (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, true > const &graph_view, float *const hubs, float *const authorities, float epsilon, size_t max_iterations, bool has_initial_hubs_guess, bool normalize, bool do_expensive_check)
- template std::tuple< double, size_t > hits (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, true > const &graph_view, double *const hubs, double *const authorities, double epsilon, size_t max_iterations, bool has_initial_hubs_guess, bool normalize, bool do_expensive_check)
- template std::tuple< float, size_t > hits (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, false > const &graph_view, float *const hubs, float *const authorities, float epsilon, size_t max_iterations, bool has_initial_hubs_guess, bool normalize, bool do_expensive_check)
- template std::tuple< double, size_t > hits (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, false > const &graph_view, double *const hubs, double *const authorities, double epsilon, size_t max_iterations, bool has_initial_hubs_guess, bool normalize, bool do_expensive_check)
- template std::tuple< float, size_t > hits (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, false > const &graph_view, float *const hubs, float *const authorities, float epsilon, size_t max_iterations, bool has_initial_hubs_guess, bool normalize, bool do_expensive_check)
- template std::tuple< double, size_t > hits (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, false > const &graph_view, double *const hubs, double *const authorities, double epsilon, size_t max_iterations, bool has_initial_hubs_guess, bool normalize, bool do_expensive_check)
- template void pagerank (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< float const * > precomputed_vertex_out_weight_sums, std::optional< int32_t const * > personalization_vertices, std::optional< float const * > personalization_values, std::optional< int32_t > personalization_vector_size, float *pageranks, float alpha, float epsilon, size_t max_iterations, bool has_initial_guess, bool do_expensive_check)
- template void pagerank (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< double const * > precomputed_vertex_out_weight_sums, std::optional< int32_t const * > personalization_vertices, std::optional< double const * > personalization_values, std::optional< int32_t > personalization_vector_size, double *pageranks, double alpha, double epsilon, size_t max_iterations, bool has_initial_guess, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< float >, centrality_algorithm_metadata_t > pagerank (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< raft::device_span< float const > > precomputed_vertex_out_weight_sums, std::optional< std::tuple< raft::device_span< int32_t const >, raft::device_span< float const > > > personalization, std::optional< raft::device_span< float const > > initial_pageranks, float alpha, float epsilon, size_t max_iterations, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< double >, centrality_algorithm_metadata_t > pagerank (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< raft::device_span< double const > > precomputed_vertex_out_weight_sums, std::optional< std::tuple< raft::device_span< int32_t const >, raft::device_span< double const > > > personalization, std::optional< raft::device_span< double const > > initial_pageranks, double alpha, double epsilon, size_t max_iterations, bool do_expensive_check)
- template void pagerank (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< float const * > precomputed_vertex_out_weight_sums, std::optional< int64_t const * > personalization_vertices, std::optional< float const * > personalization_values, std::optional< int64_t > personalization_vector_size, float *pageranks, float alpha, float epsilon, size_t max_iterations, bool has_initial_guess, bool do_expensive_check)
- template void pagerank (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< double const * > precomputed_vertex_out_weight_sums, std::optional< int64_t const * > personalization_vertices, std::optional< double const * > personalization_values, std::optional< int64_t > personalization_vector_size, double *pageranks, double alpha, double epsilon, size_t max_iterations, bool has_initial_guess, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< float >, centrality_algorithm_metadata_t > pagerank (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< raft::device_span< float const > > precomputed_vertex_out_weight_sums, std::optional< std::tuple< raft::device_span< int64_t const >, raft::device_span< float const > > > personalization, std::optional< raft::device_span< float const > > initial_pageranks, float alpha, float epsilon, size_t max_iterations, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< double >, centrality_algorithm_metadata_t > pagerank (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< raft::device_span< double const > > precomputed_vertex_out_weight_sums, std::optional< std::tuple< raft::device_span< int64_t const >, raft::device_span< double const > > > personalization, std::optional< raft::device_span< double const > > initial_pageranks, double alpha, double epsilon, size_t max_iterations, bool do_expensive_check)
- template void pagerank (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< float const * > precomputed_vertex_out_weight_sums, std::optional< int32_t const * > personalization_vertices, std::optional< float const * > personalization_values, std::optional< int32_t > personalization_vector_size, float *pageranks, float alpha, float epsilon, size_t max_iterations, bool has_initial_guess, bool do_expensive_check)
- template void pagerank (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< double const * > precomputed_vertex_out_weight_sums, std::optional< int32_t const * > personalization_vertices, std::optional< double const * > personalization_values, std::optional< int32_t > personalization_vector_size, double *pageranks, double alpha, double epsilon, size_t max_iterations, bool has_initial_guess, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< float >, centrality_algorithm_metadata_t > pagerank (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< raft::device_span< float const > > precomputed_vertex_out_weight_sums, std::optional< std::tuple< raft::device_span< int32_t const >, raft::device_span< float const > > > personalization, std::optional< raft::device_span< float const > > initial_pageranks, float alpha, float epsilon, size_t max_iterations, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< double >, centrality_algorithm_metadata_t > pagerank (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< raft::device_span< double const > > precomputed_vertex_out_weight_sums, std::optional< std::tuple< raft::device_span< int32_t const >, raft::device_span< double const > > > personalization, std::optional< raft::device_span< double const > > initial_pageranks, double alpha, double epsilon, size_t max_iterations, bool do_expensive_check)
- template void pagerank (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< float const * > precomputed_vertex_out_weight_sums, std::optional< int64_t const * > personalization_vertices, std::optional< float const * > personalization_values, std::optional< int64_t > personalization_vector_size, float *pageranks, float alpha, float epsilon, size_t max_iterations, bool has_initial_guess, bool do_expensive_check)
- template void pagerank (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< double const * > precomputed_vertex_out_weight_sums, std::optional< int64_t const * > personalization_vertices, std::optional< double const * > personalization_values, std::optional< int64_t > personalization_vector_size, double *pageranks, double alpha, double epsilon, size_t max_iterations, bool has_initial_guess, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< float >, centrality_algorithm_metadata_t > pagerank (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< raft::device_span< float const > > precomputed_vertex_out_weight_sums, std::optional< std::tuple< raft::device_span< int64_t const >, raft::device_span< float const > > > personalization, std::optional< raft::device_span< float const > > initial_pageranks, float alpha, float epsilon, size_t max_iterations, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< double >, centrality_algorithm_metadata_t > pagerank (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< raft::device_span< double const > > precomputed_vertex_out_weight_sums, std::optional< std::tuple< raft::device_span< int64_t const >, raft::device_span< double const > > > personalization, std::optional< raft::device_span< double const > > initial_pageranks, double alpha, double epsilon, size_t max_iterations, bool do_expensive_check)
- template rmm::device_uvector< float > cosine_similarity_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::tuple< raft::device_span< int32_t const >, raft::device_span< int32_t const > > vertex_pairs, bool do_expensive_check)
- template rmm::device_uvector< double > cosine_similarity_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::tuple< raft::device_span< int32_t const >, raft::device_span< int32_t const > > vertex_pairs, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, rmm::device_uvector< float > > cosine_similarity_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< raft::device_span< int32_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, rmm::device_uvector< double > > cosine_similarity_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< raft::device_span< int32_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template rmm::device_uvector< float > cosine_similarity_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::tuple< raft::device_span< int64_t const >, raft::device_span< int64_t const > > vertex_pairs, bool do_expensive_check)
- template rmm::device_uvector< double > cosine_similarity_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::tuple< raft::device_span< int64_t const >, raft::device_span< int64_t const > > vertex_pairs, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, rmm::device_uvector< float > > cosine_similarity_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< raft::device_span< int64_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, rmm::device_uvector< double > > cosine_similarity_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< raft::device_span< int64_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template rmm::device_uvector< float > cosine_similarity_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::tuple< raft::device_span< int32_t const >, raft::device_span< int32_t const > > vertex_pairs, bool do_expensive_check)
- template rmm::device_uvector< double > cosine_similarity_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::tuple< raft::device_span< int32_t const >, raft::device_span< int32_t const > > vertex_pairs, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, rmm::device_uvector< float > > cosine_similarity_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< raft::device_span< int32_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, rmm::device_uvector< double > > cosine_similarity_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< raft::device_span< int32_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template rmm::device_uvector< float > cosine_similarity_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::tuple< raft::device_span< int64_t const >, raft::device_span< int64_t const > > vertex_pairs, bool do_expensive_check)
- template rmm::device_uvector< double > cosine_similarity_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::tuple< raft::device_span< int64_t const >, raft::device_span< int64_t const > > vertex_pairs, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, rmm::device_uvector< float > > cosine_similarity_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< raft::device_span< int64_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, rmm::device_uvector< double > > cosine_similarity_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< raft::device_span< int64_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template rmm::device_uvector< float > jaccard_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::tuple< raft::device_span< int32_t const >, raft::device_span< int32_t const > > vertex_pairs, bool do_expensive_check)
- template rmm::device_uvector< double > jaccard_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::tuple< raft::device_span< int32_t const >, raft::device_span< int32_t const > > vertex_pairs, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, rmm::device_uvector< float > > jaccard_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< raft::device_span< int32_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, rmm::device_uvector< double > > jaccard_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< raft::device_span< int32_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template rmm::device_uvector< float > jaccard_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::tuple< raft::device_span< int64_t const >, raft::device_span< int64_t const > > vertex_pairs, bool do_expensive_check)
- template rmm::device_uvector< double > jaccard_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::tuple< raft::device_span< int64_t const >, raft::device_span< int64_t const > > vertex_pairs, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, rmm::device_uvector< float > > jaccard_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< raft::device_span< int64_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, rmm::device_uvector< double > > jaccard_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< raft::device_span< int64_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template rmm::device_uvector< float > jaccard_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::tuple< raft::device_span< int32_t const >, raft::device_span< int32_t const > > vertex_pairs, bool do_expensive_check)
- template rmm::device_uvector< double > jaccard_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::tuple< raft::device_span< int32_t const >, raft::device_span< int32_t const > > vertex_pairs, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, rmm::device_uvector< float > > jaccard_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< raft::device_span< int32_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, rmm::device_uvector< double > > jaccard_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< raft::device_span< int32_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template rmm::device_uvector< float > jaccard_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::tuple< raft::device_span< int64_t const >, raft::device_span< int64_t const > > vertex_pairs, bool do_expensive_check)
- template rmm::device_uvector< double > jaccard_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::tuple< raft::device_span< int64_t const >, raft::device_span< int64_t const > > vertex_pairs, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, rmm::device_uvector< float > > jaccard_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< raft::device_span< int64_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, rmm::device_uvector< double > > jaccard_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< raft::device_span< int64_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template rmm::device_uvector< float > overlap_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::tuple< raft::device_span< int32_t const >, raft::device_span< int32_t const > > vertex_pairs, bool do_expensive_check)
- template rmm::device_uvector< double > overlap_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::tuple< raft::device_span< int32_t const >, raft::device_span< int32_t const > > vertex_pairs, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, rmm::device_uvector< float > > overlap_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< raft::device_span< int32_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, rmm::device_uvector< double > > overlap_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< raft::device_span< int32_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template rmm::device_uvector< float > overlap_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::tuple< raft::device_span< int64_t const >, raft::device_span< int64_t const > > vertex_pairs, bool do_expensive_check)
- template rmm::device_uvector< double > overlap_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::tuple< raft::device_span< int64_t const >, raft::device_span< int64_t const > > vertex_pairs, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, rmm::device_uvector< float > > overlap_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< raft::device_span< int64_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, rmm::device_uvector< double > > overlap_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< raft::device_span< int64_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template rmm::device_uvector< float > overlap_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::tuple< raft::device_span< int32_t const >, raft::device_span< int32_t const > > vertex_pairs, bool do_expensive_check)
- template rmm::device_uvector< double > overlap_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::tuple< raft::device_span< int32_t const >, raft::device_span< int32_t const > > vertex_pairs, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, rmm::device_uvector< float > > overlap_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< raft::device_span< int32_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, rmm::device_uvector< double > > overlap_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< raft::device_span< int32_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template rmm::device_uvector< float > overlap_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::tuple< raft::device_span< int64_t const >, raft::device_span< int64_t const > > vertex_pairs, bool do_expensive_check)
- template rmm::device_uvector< double > overlap_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::tuple< raft::device_span< int64_t const >, raft::device_span< int64_t const > > vertex_pairs, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, rmm::device_uvector< float > > overlap_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< raft::device_span< int64_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, rmm::device_uvector< double > > overlap_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< raft::device_span< int64_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template rmm::device_uvector< float > sorensen_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::tuple< raft::device_span< int32_t const >, raft::device_span< int32_t const > > vertex_pairs, bool do_expensive_check)
- template rmm::device_uvector< double > sorensen_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::tuple< raft::device_span< int32_t const >, raft::device_span< int32_t const > > vertex_pairs, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, rmm::device_uvector< float > > sorensen_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< raft::device_span< int32_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, rmm::device_uvector< double > > sorensen_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< raft::device_span< int32_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template rmm::device_uvector< float > sorensen_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::tuple< raft::device_span< int64_t const >, raft::device_span< int64_t const > > vertex_pairs, bool do_expensive_check)
- template rmm::device_uvector< double > sorensen_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::tuple< raft::device_span< int64_t const >, raft::device_span< int64_t const > > vertex_pairs, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, rmm::device_uvector< float > > sorensen_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< raft::device_span< int64_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, rmm::device_uvector< double > > sorensen_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< raft::device_span< int64_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template rmm::device_uvector< float > sorensen_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::tuple< raft::device_span< int32_t const >, raft::device_span< int32_t const > > vertex_pairs, bool do_expensive_check)
- template rmm::device_uvector< double > sorensen_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::tuple< raft::device_span< int32_t const >, raft::device_span< int32_t const > > vertex_pairs, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, rmm::device_uvector< float > > sorensen_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< raft::device_span< int32_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, rmm::device_uvector< double > > sorensen_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< raft::device_span< int32_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template rmm::device_uvector< float > sorensen_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::tuple< raft::device_span< int64_t const >, raft::device_span< int64_t const > > vertex_pairs, bool do_expensive_check)
- template rmm::device_uvector< double > sorensen_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::tuple< raft::device_span< int64_t const >, raft::device_span< int64_t const > > vertex_pairs, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, rmm::device_uvector< float > > sorensen_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< raft::device_span< int64_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, rmm::device_uvector< double > > sorensen_all_pairs_coefficients (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< raft::device_span< int64_t const > > vertices, std::optional< size_t > topk, bool do_expensive_check)
-
template<typename vertex_t, typename edge_id_t, typename edge_type_t, bool multi_gpu>
std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>> lookup_endpoints_from_edge_ids_and_single_type( - raft::handle_t const &handle,
- lookup_container_t<edge_id_t, edge_type_t, vertex_t> const &search_container,
- raft::device_span<edge_id_t const> edge_ids_to_lookup,
- edge_type_t edge_type_to_lookup
-
template<typename vertex_t, typename edge_id_t, typename edge_type_t, bool multi_gpu>
std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>> lookup_endpoints_from_edge_ids_and_types( - raft::handle_t const &handle,
- lookup_container_t<edge_id_t, edge_type_t, vertex_t> const &search_container,
- raft::device_span<edge_id_t const> edge_ids_to_lookup,
- raft::device_span<edge_type_t const> edge_types_to_lookup
- template lookup_container_t< int32_t, int32_t, int32_t > build_edge_id_and_type_to_src_dst_lookup_map (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, edge_property_view_t< int32_t, int32_t const * > edge_id_view, edge_property_view_t< int32_t, int32_t const * > edge_type_view)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t > > lookup_endpoints_from_edge_ids_and_single_type< int32_t, int32_t, int32_t, true > (raft::handle_t const &handle, lookup_container_t< int32_t, int32_t, int32_t > const &search_container, raft::device_span< int32_t const > edge_ids_to_lookup, int32_t edge_type_to_lookup)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t > > lookup_endpoints_from_edge_ids_and_types< int32_t, int32_t, int32_t, true > (raft::handle_t const &handle, lookup_container_t< int32_t, int32_t, int32_t > const &search_container, raft::device_span< int32_t const > edge_ids_to_lookup, raft::device_span< int32_t const > edge_types_to_lookup)
- template lookup_container_t< int64_t, int32_t, int32_t > build_edge_id_and_type_to_src_dst_lookup_map (raft::handle_t const &handle, graph_view_t< int32_t, int64_t, false, true > const &graph_view, edge_property_view_t< int64_t, int64_t const * > edge_id_view, edge_property_view_t< int64_t, int32_t const * > edge_type_view)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t > > lookup_endpoints_from_edge_ids_and_single_type< int32_t, int64_t, int32_t, true > (raft::handle_t const &handle, lookup_container_t< int64_t, int32_t, int32_t > const &search_container, raft::device_span< int64_t const > edge_ids_to_lookup, int32_t edge_type_to_lookup)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t > > lookup_endpoints_from_edge_ids_and_types< int32_t, int64_t, int32_t, true > (raft::handle_t const &handle, lookup_container_t< int64_t, int32_t, int32_t > const &search_container, raft::device_span< int64_t const > edge_ids_to_lookup, raft::device_span< int32_t const > edge_types_to_lookup)
- template lookup_container_t< int64_t, int32_t, int64_t > build_edge_id_and_type_to_src_dst_lookup_map (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, edge_property_view_t< int64_t, int64_t const * > edge_id_view, edge_property_view_t< int64_t, int32_t const * > edge_type_view)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t > > lookup_endpoints_from_edge_ids_and_single_type< int64_t, int64_t, int32_t, true > (raft::handle_t const &handle, lookup_container_t< int64_t, int32_t, int64_t > const &search_container, raft::device_span< int64_t const > edge_ids_to_lookup, int32_t edge_type_to_lookup)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t > > lookup_endpoints_from_edge_ids_and_types< int64_t, int64_t, int32_t, true > (raft::handle_t const &handle, lookup_container_t< int64_t, int32_t, int64_t > const &search_container, raft::device_span< int64_t const > edge_ids_to_lookup, raft::device_span< int32_t const > edge_types_to_lookup)
- template lookup_container_t< int32_t, int32_t, int32_t > build_edge_id_and_type_to_src_dst_lookup_map (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, edge_property_view_t< int32_t, int32_t const * > edge_id_view, edge_property_view_t< int32_t, int32_t const * > edge_type_view)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t > > lookup_endpoints_from_edge_ids_and_single_type< int32_t, int32_t, int32_t, false > (raft::handle_t const &handle, lookup_container_t< int32_t, int32_t, int32_t > const &search_container, raft::device_span< int32_t const > edge_ids_to_lookup, int32_t const edge_type_to_lookup)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t > > lookup_endpoints_from_edge_ids_and_types< int32_t, int32_t, int32_t, false > (raft::handle_t const &handle, lookup_container_t< int32_t, int32_t, int32_t > const &search_container, raft::device_span< int32_t const > edge_ids_to_lookup, raft::device_span< int32_t const > edge_types_to_lookup)
- template lookup_container_t< int64_t, int32_t, int32_t > build_edge_id_and_type_to_src_dst_lookup_map (raft::handle_t const &handle, graph_view_t< int32_t, int64_t, false, false > const &graph_view, edge_property_view_t< int64_t, int64_t const * > edge_id_view, edge_property_view_t< int64_t, int32_t const * > edge_type_view)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t > > lookup_endpoints_from_edge_ids_and_single_type< int32_t, int64_t, int32_t, false > (raft::handle_t const &handle, lookup_container_t< int64_t, int32_t, int32_t > const &search_container, raft::device_span< int64_t const > edge_ids_to_lookup, int32_t edge_type_to_lookup)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t > > lookup_endpoints_from_edge_ids_and_types< int32_t, int64_t, int32_t, false > (raft::handle_t const &handle, lookup_container_t< int64_t, int32_t, int32_t > const &search_container, raft::device_span< int64_t const > edge_ids_to_lookup, raft::device_span< int32_t const > edge_types_to_lookup)
- template lookup_container_t< int64_t, int32_t, int64_t > build_edge_id_and_type_to_src_dst_lookup_map (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, edge_property_view_t< int64_t, int64_t const * > edge_id_view, edge_property_view_t< int64_t, int32_t const * > edge_type_view)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t > > lookup_endpoints_from_edge_ids_and_single_type< int64_t, int64_t, int32_t, false > (raft::handle_t const &handle, lookup_container_t< int64_t, int32_t, int64_t > const &search_container, raft::device_span< int64_t const > edge_ids_to_lookup, int32_t edge_type_to_lookup)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t > > lookup_endpoints_from_edge_ids_and_types< int64_t, int64_t, int32_t, false > (raft::handle_t const &handle, lookup_container_t< int64_t, int32_t, int64_t > const &search_container, raft::device_span< int64_t const > edge_ids_to_lookup, raft::device_span< int32_t const > edge_types_to_lookup)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t > > negative_sampling (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< raft::device_span< float const > > src_bias, std::optional< raft::device_span< float const > > dst_bias, size_t num_samples, bool remove_duplicates, bool remove_existing_edges, bool exact_number_of_samples, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t > > negative_sampling (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< raft::device_span< double const > > src_bias, std::optional< raft::device_span< double const > > dst_bias, size_t num_samples, bool remove_duplicates, bool remove_existing_edges, bool exact_number_of_samples, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t > > negative_sampling (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< raft::device_span< float const > > src_bias, std::optional< raft::device_span< float const > > dst_bias, size_t num_samples, bool remove_duplicates, bool remove_existing_edges, bool exact_number_of_samples, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t > > negative_sampling (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< raft::device_span< double const > > src_bias, std::optional< raft::device_span< double const > > dst_bias, size_t num_samples, bool remove_duplicates, bool remove_existing_edges, bool exact_number_of_samples, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t > > negative_sampling (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< raft::device_span< float const > > src_bias, std::optional< raft::device_span< float const > > dst_bias, size_t num_samples, bool remove_duplicates, bool remove_existing_edges, bool exact_number_of_samples, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t > > negative_sampling (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< raft::device_span< double const > > src_bias, std::optional< raft::device_span< double const > > dst_bias, size_t num_samples, bool remove_duplicates, bool remove_existing_edges, bool exact_number_of_samples, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t > > negative_sampling (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< raft::device_span< float const > > src_bias, std::optional< raft::device_span< float const > > dst_bias, size_t num_samples, bool remove_duplicates, bool remove_existing_edges, bool exact_number_of_samples, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t > > negative_sampling (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< raft::device_span< double const > > src_bias, std::optional< raft::device_span< double const > > dst_bias, size_t num_samples, bool remove_duplicates, bool remove_existing_edges, bool exact_number_of_samples, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_end_time_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, std::optional< int32_t > num_edge_types, sampling_options_t sampling_options, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, std::optional< edge_property_view_t< int32_t, int64_t const * > > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int64_t const * > > edge_end_time_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, std::optional< int32_t > num_edge_types, sampling_options_t sampling_options, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_end_time_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, std::optional< int32_t > num_edge_types, sampling_options_t sampling_options, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, std::optional< edge_property_view_t< int32_t, int64_t const * > > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int64_t const * > > edge_end_time_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, std::optional< int32_t > num_edge_types, sampling_options_t sampling_options, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_uniform_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, edge_property_view_t< int32_t, int32_t const * > edge_type_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_edge_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_uniform_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, edge_property_view_t< int32_t, int32_t const * > edge_type_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_edge_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_biased_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, edge_property_view_t< int32_t, int32_t const * > edge_type_view, edge_property_view_t< int32_t, double const * > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_edge_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_biased_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, edge_property_view_t< int32_t, int32_t const * > edge_type_view, edge_property_view_t< int32_t, float const * > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_edge_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_uniform_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_uniform_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_biased_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, edge_property_view_t< int32_t, double const * > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_biased_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, edge_property_view_t< int32_t, float const * > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_end_time_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, std::optional< int32_t > num_edge_types, sampling_options_t sampling_options, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_end_time_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, std::optional< int32_t > num_edge_types, sampling_options_t sampling_options, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_end_time_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, std::optional< int32_t > num_edge_types, sampling_options_t sampling_options, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_end_time_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, std::optional< int32_t > num_edge_types, sampling_options_t sampling_options, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_uniform_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, edge_property_view_t< int64_t, int32_t const * > edge_type_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_edge_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_uniform_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, edge_property_view_t< int64_t, int32_t const * > edge_type_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_edge_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_biased_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, edge_property_view_t< int64_t, int32_t const * > edge_type_view, edge_property_view_t< int64_t, double const * > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_edge_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_biased_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, edge_property_view_t< int64_t, int32_t const * > edge_type_view, edge_property_view_t< int64_t, float const * > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_edge_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_uniform_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_uniform_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_biased_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, edge_property_view_t< int64_t, double const * > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_biased_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, edge_property_view_t< int64_t, float const * > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_end_time_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, std::optional< int32_t > num_edge_types, sampling_options_t sampling_options, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, std::optional< edge_property_view_t< int32_t, int64_t const * > > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int64_t const * > > edge_end_time_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, std::optional< int32_t > num_edge_types, sampling_options_t sampling_options, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_end_time_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, std::optional< int32_t > num_edge_types, sampling_options_t sampling_options, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, std::optional< edge_property_view_t< int32_t, int64_t const * > > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int64_t const * > > edge_end_time_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, std::optional< int32_t > num_edge_types, sampling_options_t sampling_options, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_uniform_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, edge_property_view_t< int32_t, int32_t const * > edge_type_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_edge_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_uniform_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, edge_property_view_t< int32_t, int32_t const * > edge_type_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_edge_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_biased_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, edge_property_view_t< int32_t, int32_t const * > edge_type_view, edge_property_view_t< int32_t, double const * > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_edge_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_biased_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, edge_property_view_t< int32_t, int32_t const * > edge_type_view, edge_property_view_t< int32_t, float const * > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_edge_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_uniform_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_uniform_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_biased_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, edge_property_view_t< int32_t, double const * > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_biased_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, edge_property_view_t< int32_t, float const * > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_end_time_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, std::optional< int32_t > num_edge_types, sampling_options_t sampling_options, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_end_time_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, std::optional< int32_t > num_edge_types, sampling_options_t sampling_options, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_end_time_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, std::optional< int32_t > num_edge_types, sampling_options_t sampling_options, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_end_time_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, std::optional< int32_t > num_edge_types, sampling_options_t sampling_options, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_uniform_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, edge_property_view_t< int64_t, int32_t const * > edge_type_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_edge_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_uniform_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, edge_property_view_t< int64_t, int32_t const * > edge_type_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_edge_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_biased_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, edge_property_view_t< int64_t, int32_t const * > edge_type_view, edge_property_view_t< int64_t, double const * > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_edge_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_biased_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, edge_property_view_t< int64_t, int32_t const * > edge_type_view, edge_property_view_t< int64_t, float const * > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_edge_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_uniform_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_uniform_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_biased_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, edge_property_view_t< int64_t, double const * > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_biased_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, edge_property_view_t< int64_t, float const * > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > > > uniform_random_walks (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, raft::device_span< int32_t const > start_vertices, size_t max_length)
- template std::tuple< rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > > > uniform_random_walks (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, raft::device_span< int32_t const > start_vertices, size_t max_length)
- template std::tuple< rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > > > biased_random_walks (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, edge_property_view_t< int32_t, float const * > edge_weight_view, raft::device_span< int32_t const > start_vertices, size_t max_length)
- template std::tuple< rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > > > biased_random_walks (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, edge_property_view_t< int32_t, double const * > edge_weight_view, raft::device_span< int32_t const > start_vertices, size_t max_length)
- template std::tuple< rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > > > node2vec_random_walks (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, raft::device_span< int32_t const > start_vertices, size_t max_length, float p, float q)
- template std::tuple< rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > > > node2vec_random_walks (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, raft::device_span< int32_t const > start_vertices, size_t max_length, double p, double q)
- template std::tuple< rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > > > uniform_random_walks (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, raft::device_span< int64_t const > start_vertices, size_t max_length)
- template std::tuple< rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > > > uniform_random_walks (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, raft::device_span< int64_t const > start_vertices, size_t max_length)
- template std::tuple< rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > > > biased_random_walks (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, edge_property_view_t< int64_t, float const * > edge_weight_view, raft::device_span< int64_t const > start_vertices, size_t max_length)
- template std::tuple< rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > > > biased_random_walks (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, edge_property_view_t< int64_t, double const * > edge_weight_view, raft::device_span< int64_t const > start_vertices, size_t max_length)
- template std::tuple< rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > > > node2vec_random_walks (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, raft::device_span< int64_t const > start_vertices, size_t max_length, float p, float q)
- template std::tuple< rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > > > node2vec_random_walks (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, raft::device_span< int64_t const > start_vertices, size_t max_length, double p, double q)
- template std::tuple< rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > > > uniform_random_walks (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, raft::device_span< int32_t const > start_vertices, size_t max_length)
- template std::tuple< rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > > > uniform_random_walks (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, raft::device_span< int32_t const > start_vertices, size_t max_length)
- template std::tuple< rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > > > biased_random_walks (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, edge_property_view_t< int32_t, float const * > edge_weight_view, raft::device_span< int32_t const > start_vertices, size_t max_length)
- template std::tuple< rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > > > biased_random_walks (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, edge_property_view_t< int32_t, double const * > edge_weight_view, raft::device_span< int32_t const > start_vertices, size_t max_length)
- template std::tuple< rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > > > node2vec_random_walks (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, raft::device_span< int32_t const > start_vertices, size_t max_length, float p, float q)
- template std::tuple< rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > > > node2vec_random_walks (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, raft::device_span< int32_t const > start_vertices, size_t max_length, double p, double q)
- template std::tuple< rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > > > uniform_random_walks (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, raft::device_span< int64_t const > start_vertices, size_t max_length)
- template std::tuple< rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > > > uniform_random_walks (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, raft::device_span< int64_t const > start_vertices, size_t max_length)
- template std::tuple< rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > > > biased_random_walks (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, edge_property_view_t< int64_t, float const * > edge_weight_view, raft::device_span< int64_t const > start_vertices, size_t max_length)
- template std::tuple< rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > > > biased_random_walks (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, edge_property_view_t< int64_t, double const * > edge_weight_view, raft::device_span< int64_t const > start_vertices, size_t max_length)
- template std::tuple< rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > > > node2vec_random_walks (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, raft::device_span< int64_t const > start_vertices, size_t max_length, float p, float q)
- template std::tuple< rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > > > node2vec_random_walks (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, raft::device_span< int64_t const > start_vertices, size_t max_length, double p, double q)
- template std::tuple< std::optional< rmm::device_uvector< int32_t > >, rmm::device_uvector< size_t >, rmm::device_uvector< int32_t >, std::vector< arithmetic_device_uvector_t >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< size_t > > > renumber_and_compress_sampled_edgelist (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::vector< arithmetic_device_uvector_t > &&edgelist_edge_properties, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int32_t > > &&edgelist_hops, std::optional< raft::device_span< int32_t const > > seed_vertices, std::optional< raft::device_span< size_t const > > seed_vertex_label_offsets, std::optional< raft::device_span< size_t const > > edgelist_label_offsets, size_t num_labels, size_t num_hops, bool src_is_major, bool compress_per_hop, bool doubly_compress, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::vector< arithmetic_device_uvector_t >, std::optional< rmm::device_uvector< size_t > >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< size_t > > > renumber_and_sort_sampled_edgelist (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::vector< arithmetic_device_uvector_t > &&edgelist_edge_properties, std::optional< rmm::device_uvector< int32_t > > &&edgelist_hops, std::optional< raft::device_span< int32_t const > > seed_vertices, std::optional< raft::device_span< size_t const > > seed_vertex_label_offsets, std::optional< raft::device_span< size_t const > > edgelist_label_offsets, size_t num_labels, size_t num_hops, bool src_is_major, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::vector< arithmetic_device_uvector_t >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > >, rmm::device_uvector< int32_t >, rmm::device_uvector< size_t >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_renumber_and_sort_sampled_edgelist (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::vector< arithmetic_device_uvector_t > &&edgelist_edge_properties, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int32_t > > &&edgelist_hops, std::optional< raft::device_span< int32_t const > > seed_vertices, std::optional< raft::device_span< size_t const > > seed_vertex_label_offsets, std::optional< raft::device_span< size_t const > > edgelist_label_offsets, raft::device_span< int32_t const > vertex_type_offsets, size_t num_labels, size_t num_hops, size_t num_vertex_types, size_t num_edge_types, bool src_is_major, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::vector< arithmetic_device_uvector_t >, std::optional< rmm::device_uvector< size_t > > > sort_sampled_edgelist (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::vector< arithmetic_device_uvector_t > &&edgelist_edge_properties, std::optional< rmm::device_uvector< int32_t > > &&edgelist_hops, std::optional< raft::device_span< size_t const > > edgelist_label_offsets, size_t num_labels, size_t num_hops, bool src_is_major, bool do_expensive_check)
- template std::tuple< std::optional< rmm::device_uvector< int64_t > >, rmm::device_uvector< size_t >, rmm::device_uvector< int64_t >, std::vector< arithmetic_device_uvector_t >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< size_t > > > renumber_and_compress_sampled_edgelist (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::vector< arithmetic_device_uvector_t > &&edgelist_edge_properties, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int32_t > > &&edgelist_hops, std::optional< raft::device_span< int64_t const > > seed_vertices, std::optional< raft::device_span< size_t const > > seed_vertex_label_offsets, std::optional< raft::device_span< size_t const > > edgelist_label_offsets, size_t num_labels, size_t num_hops, bool src_is_major, bool compress_per_hop, bool doubly_compress, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::vector< arithmetic_device_uvector_t >, std::optional< rmm::device_uvector< size_t > >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< size_t > > > renumber_and_sort_sampled_edgelist (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::vector< arithmetic_device_uvector_t > &&edgelist_edge_properties, std::optional< rmm::device_uvector< int32_t > > &&edgelist_hops, std::optional< raft::device_span< int64_t const > > seed_vertices, std::optional< raft::device_span< size_t const > > seed_vertex_label_offsets, std::optional< raft::device_span< size_t const > > edgelist_label_offsets, size_t num_labels, size_t num_hops, bool src_is_major, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::vector< arithmetic_device_uvector_t >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< size_t > >, rmm::device_uvector< int64_t >, rmm::device_uvector< size_t >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_renumber_and_sort_sampled_edgelist (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::vector< arithmetic_device_uvector_t > &&edgelist_edge_properties, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int32_t > > &&edgelist_hops, std::optional< raft::device_span< int64_t const > > seed_vertices, std::optional< raft::device_span< size_t const > > seed_vertex_label_offsets, std::optional< raft::device_span< size_t const > > edgelist_label_offsets, raft::device_span< int64_t const > vertex_type_offsets, size_t num_labels, size_t num_hops, size_t num_vertex_types, size_t num_edge_types, bool src_is_major, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::vector< arithmetic_device_uvector_t >, std::optional< rmm::device_uvector< size_t > > > sort_sampled_edgelist (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::vector< arithmetic_device_uvector_t > &&edgelist_edge_properties, std::optional< rmm::device_uvector< int32_t > > &&edgelist_hops, std::optional< raft::device_span< size_t const > > edgelist_label_offsets, size_t num_labels, size_t num_hops, bool src_is_major, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, edge_property_view_t< int32_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_end_time_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, edge_property_view_t< int32_t, int32_t const * > edge_type_view, edge_property_view_t< int32_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_end_time_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, edge_property_view_t< int32_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_end_time_view, edge_property_view_t< int32_t, float const * > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, edge_property_view_t< int32_t, int32_t const * > edge_type_view, edge_property_view_t< int32_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_end_time_view, edge_property_view_t< int32_t, float const * > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, edge_property_view_t< int32_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int64_t const * > > edge_end_time_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, edge_property_view_t< int32_t, int32_t const * > edge_type_view, edge_property_view_t< int32_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int64_t const * > > edge_end_time_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, edge_property_view_t< int32_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int64_t const * > > edge_end_time_view, edge_property_view_t< int32_t, float const * > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, edge_property_view_t< int32_t, int32_t const * > edge_type_view, edge_property_view_t< int32_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int64_t const * > > edge_end_time_view, edge_property_view_t< int32_t, float const * > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, edge_property_view_t< int32_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_end_time_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, edge_property_view_t< int32_t, int32_t const * > edge_type_view, edge_property_view_t< int32_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_end_time_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, edge_property_view_t< int32_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_end_time_view, edge_property_view_t< int32_t, double const * > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, edge_property_view_t< int32_t, int32_t const * > edge_type_view, edge_property_view_t< int32_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_end_time_view, edge_property_view_t< int32_t, double const * > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, edge_property_view_t< int32_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int64_t const * > > edge_end_time_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, edge_property_view_t< int32_t, int32_t const * > edge_type_view, edge_property_view_t< int32_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int64_t const * > > edge_end_time_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, edge_property_view_t< int32_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int64_t const * > > edge_end_time_view, edge_property_view_t< int32_t, double const * > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, edge_property_view_t< int32_t, int32_t const * > edge_type_view, edge_property_view_t< int32_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int64_t const * > > edge_end_time_view, edge_property_view_t< int32_t, double const * > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, edge_property_view_t< int64_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_end_time_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, edge_property_view_t< int64_t, int32_t const * > edge_type_view, edge_property_view_t< int64_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_end_time_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, edge_property_view_t< int64_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_end_time_view, edge_property_view_t< int64_t, float const * > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, edge_property_view_t< int64_t, int32_t const * > edge_type_view, edge_property_view_t< int64_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_end_time_view, edge_property_view_t< int64_t, float const * > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, edge_property_view_t< int64_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_end_time_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, edge_property_view_t< int64_t, int32_t const * > edge_type_view, edge_property_view_t< int64_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_end_time_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, edge_property_view_t< int64_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_end_time_view, edge_property_view_t< int64_t, float const * > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, edge_property_view_t< int64_t, int32_t const * > edge_type_view, edge_property_view_t< int64_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_end_time_view, edge_property_view_t< int64_t, float const * > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, edge_property_view_t< int64_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_end_time_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, edge_property_view_t< int64_t, int32_t const * > edge_type_view, edge_property_view_t< int64_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_end_time_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, edge_property_view_t< int64_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_end_time_view, edge_property_view_t< int64_t, double const * > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, edge_property_view_t< int64_t, int32_t const * > edge_type_view, edge_property_view_t< int64_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_end_time_view, edge_property_view_t< int64_t, double const * > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, edge_property_view_t< int64_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_end_time_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, edge_property_view_t< int64_t, int32_t const * > edge_type_view, edge_property_view_t< int64_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_end_time_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, edge_property_view_t< int64_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_end_time_view, edge_property_view_t< int64_t, double const * > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, edge_property_view_t< int64_t, int32_t const * > edge_type_view, edge_property_view_t< int64_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_end_time_view, edge_property_view_t< int64_t, double const * > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, edge_property_view_t< int32_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_end_time_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, edge_property_view_t< int32_t, int32_t const * > edge_type_view, edge_property_view_t< int32_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_end_time_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, edge_property_view_t< int32_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_end_time_view, edge_property_view_t< int32_t, float const * > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, edge_property_view_t< int32_t, int32_t const * > edge_type_view, edge_property_view_t< int32_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_end_time_view, edge_property_view_t< int32_t, float const * > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, edge_property_view_t< int32_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int64_t const * > > edge_end_time_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, edge_property_view_t< int32_t, int32_t const * > edge_type_view, edge_property_view_t< int32_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int64_t const * > > edge_end_time_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, edge_property_view_t< int32_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int64_t const * > > edge_end_time_view, edge_property_view_t< int32_t, float const * > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, edge_property_view_t< int32_t, int32_t const * > edge_type_view, edge_property_view_t< int32_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int64_t const * > > edge_end_time_view, edge_property_view_t< int32_t, float const * > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, edge_property_view_t< int32_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_end_time_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, edge_property_view_t< int32_t, int32_t const * > edge_type_view, edge_property_view_t< int32_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_end_time_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, edge_property_view_t< int32_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_end_time_view, edge_property_view_t< int32_t, double const * > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, edge_property_view_t< int32_t, int32_t const * > edge_type_view, edge_property_view_t< int32_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_end_time_view, edge_property_view_t< int32_t, double const * > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, edge_property_view_t< int32_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int64_t const * > > edge_end_time_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, edge_property_view_t< int32_t, int32_t const * > edge_type_view, edge_property_view_t< int32_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int64_t const * > > edge_end_time_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, edge_property_view_t< int32_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int64_t const * > > edge_end_time_view, edge_property_view_t< int32_t, double const * > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, edge_property_view_t< int32_t, int32_t const * > edge_type_view, edge_property_view_t< int32_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int32_t, int64_t const * > > edge_end_time_view, edge_property_view_t< int32_t, double const * > edge_bias_view, raft::device_span< int32_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, edge_property_view_t< int64_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_end_time_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, edge_property_view_t< int64_t, int32_t const * > edge_type_view, edge_property_view_t< int64_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_end_time_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, edge_property_view_t< int64_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_end_time_view, edge_property_view_t< int64_t, float const * > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, edge_property_view_t< int64_t, int32_t const * > edge_type_view, edge_property_view_t< int64_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_end_time_view, edge_property_view_t< int64_t, float const * > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, edge_property_view_t< int64_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_end_time_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, edge_property_view_t< int64_t, int32_t const * > edge_type_view, edge_property_view_t< int64_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_end_time_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, edge_property_view_t< int64_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_end_time_view, edge_property_view_t< int64_t, float const * > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, edge_property_view_t< int64_t, int32_t const * > edge_type_view, edge_property_view_t< int64_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_end_time_view, edge_property_view_t< int64_t, float const * > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, edge_property_view_t< int64_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_end_time_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, edge_property_view_t< int64_t, int32_t const * > edge_type_view, edge_property_view_t< int64_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_end_time_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, edge_property_view_t< int64_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_end_time_view, edge_property_view_t< int64_t, double const * > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, edge_property_view_t< int64_t, int32_t const * > edge_type_view, edge_property_view_t< int64_t, int32_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_end_time_view, edge_property_view_t< int64_t, double const * > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int32_t const > > starting_vertex_start_times, std::optional< raft::device_span< int32_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, edge_property_view_t< int64_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_end_time_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_uniform_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, edge_property_view_t< int64_t, int32_t const * > edge_type_view, edge_property_view_t< int64_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_end_time_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > homogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, edge_property_view_t< int64_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_end_time_view, edge_property_view_t< int64_t, double const * > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< size_t > > > heterogeneous_biased_temporal_neighbor_sample (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, edge_property_view_t< int64_t, int32_t const * > edge_type_view, edge_property_view_t< int64_t, int64_t const * > edge_start_time_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_end_time_view, edge_property_view_t< int64_t, double const * > edge_bias_view, raft::device_span< int64_t const > starting_vertices, std::optional< raft::device_span< int64_t const > > starting_vertex_start_times, std::optional< raft::device_span< int64_t const > > starting_vertex_end_times, std::optional< raft::device_span< int32_t const > > starting_vertex_labels, std::optional< raft::device_span< int32_t const > > label_to_output_comm_rank, raft::host_span< int32_t const > fan_out, int32_t num_int32_types, sampling_flags_t sampling_flags, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, true, true >, std::optional< edge_property_t< int32_t, float > >, std::optional< rmm::device_uvector< int32_t > > > coarsen_graph (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, int32_t const *labels, bool renumber, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, false, true >, std::optional< edge_property_t< int32_t, float > >, std::optional< rmm::device_uvector< int32_t > > > coarsen_graph (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, int32_t const *labels, bool renumber, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, true, true >, std::optional< edge_property_t< int32_t, double > >, std::optional< rmm::device_uvector< int32_t > > > coarsen_graph (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, int32_t const *labels, bool renumber, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, false, true >, std::optional< edge_property_t< int32_t, double > >, std::optional< rmm::device_uvector< int32_t > > > coarsen_graph (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, int32_t const *labels, bool renumber, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, true, true >, std::optional< edge_property_t< int64_t, float > >, std::optional< rmm::device_uvector< int64_t > > > coarsen_graph (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, int64_t const *labels, bool renumber, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, false, true >, std::optional< edge_property_t< int64_t, float > >, std::optional< rmm::device_uvector< int64_t > > > coarsen_graph (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, int64_t const *labels, bool renumber, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, true, true >, std::optional< edge_property_t< int64_t, double > >, std::optional< rmm::device_uvector< int64_t > > > coarsen_graph (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, int64_t const *labels, bool renumber, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, false, true >, std::optional< edge_property_t< int64_t, double > >, std::optional< rmm::device_uvector< int64_t > > > coarsen_graph (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, int64_t const *labels, bool renumber, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, true, false >, std::optional< edge_property_t< int32_t, float > >, std::optional< rmm::device_uvector< int32_t > > > coarsen_graph (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, int32_t const *labels, bool renumber, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, false, false >, std::optional< edge_property_t< int32_t, float > >, std::optional< rmm::device_uvector< int32_t > > > coarsen_graph (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, int32_t const *labels, bool renumber, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, true, false >, std::optional< edge_property_t< int32_t, double > >, std::optional< rmm::device_uvector< int32_t > > > coarsen_graph (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, int32_t const *labels, bool renumber, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, false, false >, std::optional< edge_property_t< int32_t, double > >, std::optional< rmm::device_uvector< int32_t > > > coarsen_graph (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, int32_t const *labels, bool renumber, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, true, false >, std::optional< edge_property_t< int64_t, float > >, std::optional< rmm::device_uvector< int64_t > > > coarsen_graph (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, int64_t const *labels, bool renumber, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, false, false >, std::optional< edge_property_t< int64_t, float > >, std::optional< rmm::device_uvector< int64_t > > > coarsen_graph (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, int64_t const *labels, bool renumber, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, true, false >, std::optional< edge_property_t< int64_t, double > >, std::optional< rmm::device_uvector< int64_t > > > coarsen_graph (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, int64_t const *labels, bool renumber, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, false, false >, std::optional< edge_property_t< int64_t, double > >, std::optional< rmm::device_uvector< int64_t > > > coarsen_graph (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, int64_t const *labels, bool renumber, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, false, true >, std::vector< edge_arithmetic_property_t< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > create_graph_from_edgelist< int32_t, int32_t, false, true > (raft::handle_t const &handle, std::optional< rmm::device_uvector< int32_t > > &&vertices, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::vector< arithmetic_device_uvector_t > &&edgelist_edge_properties, graph_properties_t graph_properties, bool renumber, std::optional< large_buffer_type_t > large_vertex_buffer_type, std::optional< large_buffer_type_t > large_edge_buffer_type, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, true, true >, std::vector< edge_arithmetic_property_t< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > create_graph_from_edgelist< int32_t, int32_t, true, true > (raft::handle_t const &handle, std::optional< rmm::device_uvector< int32_t > > &&vertices, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::vector< arithmetic_device_uvector_t > &&edgelist_edge_properties, graph_properties_t graph_properties, bool renumber, std::optional< large_buffer_type_t > large_vertex_buffer_type, std::optional< large_buffer_type_t > large_edge_buffer_type, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, false, true >, std::vector< edge_arithmetic_property_t< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > create_graph_from_edgelist< int32_t, int32_t, false, true > (raft::handle_t const &handle, std::optional< rmm::device_uvector< int32_t > > &&vertices, std::vector< rmm::device_uvector< int32_t > > &&edgelist_srcs, std::vector< rmm::device_uvector< int32_t > > &&edgelist_dsts, std::vector< std::vector< arithmetic_device_uvector_t > > &&edgelist_edge_properties, graph_properties_t graph_properties, bool renumber, std::optional< large_buffer_type_t > large_vertex_buffer_type, std::optional< large_buffer_type_t > large_edge_buffer_type, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, true, true >, std::vector< edge_arithmetic_property_t< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > create_graph_from_edgelist< int32_t, int32_t, true, true > (raft::handle_t const &handle, std::optional< rmm::device_uvector< int32_t > > &&vertices, std::vector< rmm::device_uvector< int32_t > > &&edgelist_srcs, std::vector< rmm::device_uvector< int32_t > > &&edgelist_dsts, std::vector< std::vector< arithmetic_device_uvector_t > > &&edgelist_edge_properties, graph_properties_t graph_properties, bool renumber, std::optional< large_buffer_type_t > large_vertex_buffer_type, std::optional< large_buffer_type_t > large_edge_buffer_type, bool do_expensive_check)
- template std::tuple< cugraph::graph_t< int64_t, int64_t, false, true >, std::vector< edge_arithmetic_property_t< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > create_graph_from_edgelist< int64_t, int64_t, false, true > (raft::handle_t const &handle, std::optional< rmm::device_uvector< int64_t > > &&vertices, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::vector< arithmetic_device_uvector_t > &&edgelist_edge_properties, graph_properties_t graph_properties, bool renumber, std::optional< large_buffer_type_t > large_vertex_buffer_type, std::optional< large_buffer_type_t > large_edge_buffer_type, bool do_expensive_check)
- template std::tuple< cugraph::graph_t< int64_t, int64_t, true, true >, std::vector< edge_arithmetic_property_t< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > create_graph_from_edgelist< int64_t, int64_t, true, true > (raft::handle_t const &handle, std::optional< rmm::device_uvector< int64_t > > &&vertices, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::vector< arithmetic_device_uvector_t > &&edgelist_edge_properties, graph_properties_t graph_properties, bool renumber, std::optional< large_buffer_type_t > large_vertex_buffer_type, std::optional< large_buffer_type_t > large_edge_buffer_type, bool do_expensive_check)
- template std::tuple< cugraph::graph_t< int64_t, int64_t, false, true >, std::vector< edge_arithmetic_property_t< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > create_graph_from_edgelist< int64_t, int64_t, false, true > (raft::handle_t const &handle, std::optional< rmm::device_uvector< int64_t > > &&vertices, std::vector< rmm::device_uvector< int64_t > > &&edgelist_srcs, std::vector< rmm::device_uvector< int64_t > > &&edgelist_dsts, std::vector< std::vector< arithmetic_device_uvector_t > > &&edgelist_edge_properties, graph_properties_t graph_properties, bool renumber, std::optional< large_buffer_type_t > large_vertex_buffer_type, std::optional< large_buffer_type_t > large_edge_buffer_type, bool do_expensive_check)
- template std::tuple< cugraph::graph_t< int64_t, int64_t, true, true >, std::vector< edge_arithmetic_property_t< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > create_graph_from_edgelist< int64_t, int64_t, true, true > (raft::handle_t const &handle, std::optional< rmm::device_uvector< int64_t > > &&vertices, std::vector< rmm::device_uvector< int64_t > > &&edgelist_srcs, std::vector< rmm::device_uvector< int64_t > > &&edgelist_dsts, std::vector< std::vector< arithmetic_device_uvector_t > > &&edgelist_edge_properties, graph_properties_t graph_properties, bool renumber, std::optional< large_buffer_type_t > large_vertex_buffer_type, std::optional< large_buffer_type_t > large_edge_buffer_type, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, false, false >, std::vector< edge_arithmetic_property_t< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > create_graph_from_edgelist< int32_t, int32_t, false, false > (raft::handle_t const &handle, std::optional< rmm::device_uvector< int32_t > > &&vertices, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::vector< arithmetic_device_uvector_t > &&edgelist_edge_properties, graph_properties_t graph_properties, bool renumber, std::optional< large_buffer_type_t > large_vertex_buffer_type, std::optional< large_buffer_type_t > large_edge_buffer_type, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, true, false >, std::vector< edge_arithmetic_property_t< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > create_graph_from_edgelist< int32_t, int32_t, true, false > (raft::handle_t const &handle, std::optional< rmm::device_uvector< int32_t > > &&vertices, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::vector< arithmetic_device_uvector_t > &&edgelist_edge_properties, graph_properties_t graph_properties, bool renumber, std::optional< large_buffer_type_t > large_vertex_buffer_type, std::optional< large_buffer_type_t > large_edge_buffer_type, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, false, false >, std::vector< edge_arithmetic_property_t< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > create_graph_from_edgelist< int32_t, int32_t, false, false > (raft::handle_t const &handle, std::optional< rmm::device_uvector< int32_t > > &&vertices, std::vector< rmm::device_uvector< int32_t > > &&edgelist_srcs, std::vector< rmm::device_uvector< int32_t > > &&edgelist_dsts, std::vector< std::vector< arithmetic_device_uvector_t > > &&edgelist_edge_properties, graph_properties_t graph_properties, bool renumber, std::optional< large_buffer_type_t > large_vertex_buffer_type, std::optional< large_buffer_type_t > large_edge_buffer_type, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, true, false >, std::vector< edge_arithmetic_property_t< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > create_graph_from_edgelist< int32_t, int32_t, true, false > (raft::handle_t const &handle, std::optional< rmm::device_uvector< int32_t > > &&vertices, std::vector< rmm::device_uvector< int32_t > > &&edgelist_srcs, std::vector< rmm::device_uvector< int32_t > > &&edgelist_dsts, std::vector< std::vector< arithmetic_device_uvector_t > > &&edgelist_edge_properties, graph_properties_t graph_properties, bool renumber, std::optional< large_buffer_type_t > large_vertex_buffer_type, std::optional< large_buffer_type_t > large_edge_buffer_type, bool do_expensive_check)
- template std::tuple< cugraph::graph_t< int64_t, int64_t, false, false >, std::vector< edge_arithmetic_property_t< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > create_graph_from_edgelist< int64_t, int64_t, false, false > (raft::handle_t const &handle, std::optional< rmm::device_uvector< int64_t > > &&vertices, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::vector< arithmetic_device_uvector_t > &&edgelist_edge_properties, graph_properties_t graph_properties, bool renumber, std::optional< large_buffer_type_t > large_vertex_buffer_type, std::optional< large_buffer_type_t > large_edge_buffer_type, bool do_expensive_check)
- template std::tuple< cugraph::graph_t< int64_t, int64_t, true, false >, std::vector< edge_arithmetic_property_t< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > create_graph_from_edgelist< int64_t, int64_t, true, false > (raft::handle_t const &handle, std::optional< rmm::device_uvector< int64_t > > &&vertices, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::vector< arithmetic_device_uvector_t > &&edgelist_edge_properties, graph_properties_t graph_properties, bool renumber, std::optional< large_buffer_type_t > large_vertex_buffer_type, std::optional< large_buffer_type_t > large_edge_buffer_type, bool do_expensive_check)
- template std::tuple< cugraph::graph_t< int64_t, int64_t, false, false >, std::vector< edge_arithmetic_property_t< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > create_graph_from_edgelist< int64_t, int64_t, false, false > (raft::handle_t const &handle, std::optional< rmm::device_uvector< int64_t > > &&vertices, std::vector< rmm::device_uvector< int64_t > > &&edgelist_srcs, std::vector< rmm::device_uvector< int64_t > > &&edgelist_dsts, std::vector< std::vector< arithmetic_device_uvector_t > > &&edgelist_edge_properties, graph_properties_t graph_properties, bool renumber, std::optional< large_buffer_type_t > large_vertex_buffer_type, std::optional< large_buffer_type_t > large_edge_buffer_type, bool do_expensive_check)
- template std::tuple< cugraph::graph_t< int64_t, int64_t, true, false >, std::vector< edge_arithmetic_property_t< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > create_graph_from_edgelist< int64_t, int64_t, true, false > (raft::handle_t const &handle, std::optional< rmm::device_uvector< int64_t > > &&vertices, std::vector< rmm::device_uvector< int64_t > > &&edgelist_srcs, std::vector< rmm::device_uvector< int64_t > > &&edgelist_dsts, std::vector< std::vector< arithmetic_device_uvector_t > > &&edgelist_edge_properties, graph_properties_t graph_properties, bool renumber, std::optional< large_buffer_type_t > large_vertex_buffer_type, std::optional< large_buffer_type_t > large_edge_buffer_type, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > decompress_to_edgelist< int32_t, int32_t, float, int32_t, false, true > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, std::optional< raft::device_span< int32_t const > > renumber_map, std::optional< large_buffer_type_t > large_buffer_type, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > decompress_to_edgelist< int32_t, int32_t, float, int32_t, true, true > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, std::optional< raft::device_span< int32_t const > > renumber_map, std::optional< large_buffer_type_t > large_buffer_type, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > decompress_to_edgelist< int32_t, int32_t, double, int32_t, false, true > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, std::optional< raft::device_span< int32_t const > > renumber_map, std::optional< large_buffer_type_t > large_buffer_type, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > decompress_to_edgelist< int32_t, int32_t, double, int32_t, true, true > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, std::optional< raft::device_span< int32_t const > > renumber_map, std::optional< large_buffer_type_t > large_buffer_type, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > > > decompress_to_edgelist< int64_t, int64_t, float, int32_t, false, true > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, std::optional< raft::device_span< int64_t const > > renumber_map, std::optional< large_buffer_type_t > large_buffer_type, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > > > decompress_to_edgelist< int64_t, int64_t, float, int32_t, true, true > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, std::optional< raft::device_span< int64_t const > > renumber_map, std::optional< large_buffer_type_t > large_buffer_type, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > > > decompress_to_edgelist< int64_t, int64_t, double, int32_t, false, true > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, std::optional< raft::device_span< int64_t const > > renumber_map, std::optional< large_buffer_type_t > large_buffer_type, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > > > decompress_to_edgelist< int64_t, int64_t, double, int32_t, true, true > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, std::optional< raft::device_span< int64_t const > > renumber_map, std::optional< large_buffer_type_t > large_buffer_type, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > decompress_to_edgelist< int32_t, int32_t, float, int32_t, false, false > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, std::optional< raft::device_span< int32_t const > > renumber_map, std::optional< large_buffer_type_t > large_buffer_type, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > decompress_to_edgelist< int32_t, int32_t, float, int32_t, true, false > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, std::optional< raft::device_span< int32_t const > > renumber_map, std::optional< large_buffer_type_t > large_buffer_type, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > decompress_to_edgelist< int32_t, int32_t, double, int32_t, false, false > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, std::optional< raft::device_span< int32_t const > > renumber_map, std::optional< large_buffer_type_t > large_buffer_type, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > decompress_to_edgelist< int32_t, int32_t, double, int32_t, true, false > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_id_view, std::optional< edge_property_view_t< int32_t, int32_t const * > > edge_type_view, std::optional< raft::device_span< int32_t const > > renumber_map, std::optional< large_buffer_type_t > large_buffer_type, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > > > decompress_to_edgelist< int64_t, int64_t, float, int32_t, false, false > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, std::optional< raft::device_span< int64_t const > > renumber_map, std::optional< large_buffer_type_t > large_buffer_type, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > > > decompress_to_edgelist< int64_t, int64_t, float, int32_t, true, false > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, std::optional< raft::device_span< int64_t const > > renumber_map, std::optional< large_buffer_type_t > large_buffer_type, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > > > decompress_to_edgelist< int64_t, int64_t, double, int32_t, false, false > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, std::optional< raft::device_span< int64_t const > > renumber_map, std::optional< large_buffer_type_t > large_buffer_type, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > > > decompress_to_edgelist< int64_t, int64_t, double, int32_t, true, false > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< edge_property_view_t< int64_t, int64_t const * > > edge_id_view, std::optional< edge_property_view_t< int64_t, int32_t const * > > edge_type_view, std::optional< raft::device_span< int64_t const > > renumber_map, std::optional< large_buffer_type_t > large_buffer_type, bool do_expensive_check)
- template rmm::device_uvector< float > compute_in_weight_sums< int32_t, int32_t, float, false, true > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, edge_property_view_t< int32_t, float const * > edge_weight_view)
- template rmm::device_uvector< float > compute_in_weight_sums< int32_t, int32_t, float, true, true > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, true > const &graph_view, edge_property_view_t< int32_t, float const * > edge_weight_view)
- template rmm::device_uvector< double > compute_in_weight_sums< int32_t, int32_t, double, false, true > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, edge_property_view_t< int32_t, double const * > edge_weight_view)
- template rmm::device_uvector< double > compute_in_weight_sums< int32_t, int32_t, double, true, true > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, true > const &graph_view, edge_property_view_t< int32_t, double const * > edge_weight_view)
- template rmm::device_uvector< float > compute_out_weight_sums< int32_t, int32_t, float, false, true > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, edge_property_view_t< int32_t, float const * > edge_weight_view)
- template rmm::device_uvector< float > compute_out_weight_sums< int32_t, int32_t, float, true, true > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, true > const &graph_view, edge_property_view_t< int32_t, float const * > edge_weight_view)
- template rmm::device_uvector< double > compute_out_weight_sums< int32_t, int32_t, double, false, true > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, edge_property_view_t< int32_t, double const * > edge_weight_view)
- template rmm::device_uvector< double > compute_out_weight_sums< int32_t, int32_t, double, true, true > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, true > const &graph_view, edge_property_view_t< int32_t, double const * > edge_weight_view)
- template float compute_max_in_weight_sum< int32_t, int32_t, float, false, true > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, edge_property_view_t< int32_t, float const * > edge_weight_view)
- template float compute_max_in_weight_sum< int32_t, int32_t, float, true, true > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, true > const &graph_view, edge_property_view_t< int32_t, float const * > edge_weight_view)
- template double compute_max_in_weight_sum< int32_t, int32_t, double, false, true > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, edge_property_view_t< int32_t, double const * > edge_weight_view)
- template double compute_max_in_weight_sum< int32_t, int32_t, double, true, true > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, true > const &graph_view, edge_property_view_t< int32_t, double const * > edge_weight_view)
- template float compute_max_out_weight_sum< int32_t, int32_t, float, false, true > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, edge_property_view_t< int32_t, float const * > edge_weight_view)
- template float compute_max_out_weight_sum< int32_t, int32_t, float, true, true > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, true > const &graph_view, edge_property_view_t< int32_t, float const * > edge_weight_view)
- template double compute_max_out_weight_sum< int32_t, int32_t, double, false, true > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, edge_property_view_t< int32_t, double const * > edge_weight_view)
- template double compute_max_out_weight_sum< int32_t, int32_t, double, true, true > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, true > const &graph_view, edge_property_view_t< int32_t, double const * > edge_weight_view)
- template float compute_total_edge_weight< int32_t, int32_t, float, false, true > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, edge_property_view_t< int32_t, float const * > edge_weight_view)
- template float compute_total_edge_weight< int32_t, int32_t, float, true, true > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, true > const &graph_view, edge_property_view_t< int32_t, float const * > edge_weight_view)
- template double compute_total_edge_weight< int32_t, int32_t, double, false, true > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, edge_property_view_t< int32_t, double const * > edge_weight_view)
- template double compute_total_edge_weight< int32_t, int32_t, double, true, true > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, true > const &graph_view, edge_property_view_t< int32_t, double const * > edge_weight_view)
- template rmm::device_uvector< float > compute_in_weight_sums< int64_t, int64_t, float, false, true > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, edge_property_view_t< int64_t, float const * > edge_weight_view)
- template rmm::device_uvector< float > compute_in_weight_sums< int64_t, int64_t, float, true, true > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, true > const &graph_view, edge_property_view_t< int64_t, float const * > edge_weight_view)
- template rmm::device_uvector< double > compute_in_weight_sums< int64_t, int64_t, double, false, true > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, edge_property_view_t< int64_t, double const * > edge_weight_view)
- template rmm::device_uvector< double > compute_in_weight_sums< int64_t, int64_t, double, true, true > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, true > const &graph_view, edge_property_view_t< int64_t, double const * > edge_weight_view)
- template rmm::device_uvector< float > compute_out_weight_sums< int64_t, int64_t, float, false, true > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, edge_property_view_t< int64_t, float const * > edge_weight_view)
- template rmm::device_uvector< float > compute_out_weight_sums< int64_t, int64_t, float, true, true > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, true > const &graph_view, edge_property_view_t< int64_t, float const * > edge_weight_view)
- template rmm::device_uvector< double > compute_out_weight_sums< int64_t, int64_t, double, false, true > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, edge_property_view_t< int64_t, double const * > edge_weight_view)
- template rmm::device_uvector< double > compute_out_weight_sums< int64_t, int64_t, double, true, true > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, true > const &graph_view, edge_property_view_t< int64_t, double const * > edge_weight_view)
- template float compute_max_in_weight_sum< int64_t, int64_t, float, false, true > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, edge_property_view_t< int64_t, float const * > edge_weight_view)
- template float compute_max_in_weight_sum< int64_t, int64_t, float, true, true > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, true > const &graph_view, edge_property_view_t< int64_t, float const * > edge_weight_view)
- template double compute_max_in_weight_sum< int64_t, int64_t, double, false, true > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, edge_property_view_t< int64_t, double const * > edge_weight_view)
- template double compute_max_in_weight_sum< int64_t, int64_t, double, true, true > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, true > const &graph_view, edge_property_view_t< int64_t, double const * > edge_weight_view)
- template float compute_max_out_weight_sum< int64_t, int64_t, float, false, true > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, edge_property_view_t< int64_t, float const * > edge_weight_view)
- template float compute_max_out_weight_sum< int64_t, int64_t, float, true, true > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, true > const &graph_view, edge_property_view_t< int64_t, float const * > edge_weight_view)
- template double compute_max_out_weight_sum< int64_t, int64_t, double, false, true > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, edge_property_view_t< int64_t, double const * > edge_weight_view)
- template double compute_max_out_weight_sum< int64_t, int64_t, double, true, true > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, true > const &graph_view, edge_property_view_t< int64_t, double const * > edge_weight_view)
- template float compute_total_edge_weight< int64_t, int64_t, float, false, true > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, edge_property_view_t< int64_t, float const * > edge_weight_view)
- template float compute_total_edge_weight< int64_t, int64_t, float, true, true > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, true > const &graph_view, edge_property_view_t< int64_t, float const * > edge_weight_view)
- template double compute_total_edge_weight< int64_t, int64_t, double, false, true > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, edge_property_view_t< int64_t, double const * > edge_weight_view)
- template double compute_total_edge_weight< int64_t, int64_t, double, true, true > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, true > const &graph_view, edge_property_view_t< int64_t, double const * > edge_weight_view)
- template rmm::device_uvector< float > compute_in_weight_sums< int32_t, int32_t, float, false, false > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, edge_property_view_t< int32_t, float const * > edge_weight_view)
- template rmm::device_uvector< float > compute_in_weight_sums< int32_t, int32_t, float, true, false > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, false > const &graph_view, edge_property_view_t< int32_t, float const * > edge_weight_view)
- template rmm::device_uvector< double > compute_in_weight_sums< int32_t, int32_t, double, false, false > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, edge_property_view_t< int32_t, double const * > edge_weight_view)
- template rmm::device_uvector< double > compute_in_weight_sums< int32_t, int32_t, double, true, false > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, false > const &graph_view, edge_property_view_t< int32_t, double const * > edge_weight_view)
- template rmm::device_uvector< float > compute_out_weight_sums< int32_t, int32_t, float, false, false > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, edge_property_view_t< int32_t, float const * > edge_weight_view)
- template rmm::device_uvector< float > compute_out_weight_sums< int32_t, int32_t, float, true, false > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, false > const &graph_view, edge_property_view_t< int32_t, float const * > edge_weight_view)
- template rmm::device_uvector< double > compute_out_weight_sums< int32_t, int32_t, double, false, false > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, edge_property_view_t< int32_t, double const * > edge_weight_view)
- template rmm::device_uvector< double > compute_out_weight_sums< int32_t, int32_t, double, true, false > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, false > const &graph_view, edge_property_view_t< int32_t, double const * > edge_weight_view)
- template float compute_max_in_weight_sum< int32_t, int32_t, float, false, false > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, edge_property_view_t< int32_t, float const * > edge_weight_view)
- template float compute_max_in_weight_sum< int32_t, int32_t, float, true, false > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, false > const &graph_view, edge_property_view_t< int32_t, float const * > edge_weight_view)
- template double compute_max_in_weight_sum< int32_t, int32_t, double, false, false > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, edge_property_view_t< int32_t, double const * > edge_weight_view)
- template double compute_max_in_weight_sum< int32_t, int32_t, double, true, false > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, false > const &graph_view, edge_property_view_t< int32_t, double const * > edge_weight_view)
- template float compute_max_out_weight_sum< int32_t, int32_t, float, false, false > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, edge_property_view_t< int32_t, float const * > edge_weight_view)
- template float compute_max_out_weight_sum< int32_t, int32_t, float, true, false > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, false > const &graph_view, edge_property_view_t< int32_t, float const * > edge_weight_view)
- template double compute_max_out_weight_sum< int32_t, int32_t, double, false, false > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, edge_property_view_t< int32_t, double const * > edge_weight_view)
- template double compute_max_out_weight_sum< int32_t, int32_t, double, true, false > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, false > const &graph_view, edge_property_view_t< int32_t, double const * > edge_weight_view)
- template float compute_total_edge_weight< int32_t, int32_t, float, false, false > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, edge_property_view_t< int32_t, float const * > edge_weight_view)
- template float compute_total_edge_weight< int32_t, int32_t, float, true, false > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, false > const &graph_view, edge_property_view_t< int32_t, float const * > edge_weight_view)
- template double compute_total_edge_weight< int32_t, int32_t, double, false, false > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, edge_property_view_t< int32_t, double const * > edge_weight_view)
- template double compute_total_edge_weight< int32_t, int32_t, double, true, false > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, false > const &graph_view, edge_property_view_t< int32_t, double const * > edge_weight_view)
- template rmm::device_uvector< float > compute_in_weight_sums< int64_t, int64_t, float, false, false > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, edge_property_view_t< int64_t, float const * > edge_weight_view)
- template rmm::device_uvector< float > compute_in_weight_sums< int64_t, int64_t, float, true, false > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, false > const &graph_view, edge_property_view_t< int64_t, float const * > edge_weight_view)
- template rmm::device_uvector< double > compute_in_weight_sums< int64_t, int64_t, double, false, false > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, edge_property_view_t< int64_t, double const * > edge_weight_view)
- template rmm::device_uvector< double > compute_in_weight_sums< int64_t, int64_t, double, true, false > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, false > const &graph_view, edge_property_view_t< int64_t, double const * > edge_weight_view)
- template rmm::device_uvector< float > compute_out_weight_sums< int64_t, int64_t, float, false, false > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, edge_property_view_t< int64_t, float const * > edge_weight_view)
- template rmm::device_uvector< float > compute_out_weight_sums< int64_t, int64_t, float, true, false > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, false > const &graph_view, edge_property_view_t< int64_t, float const * > edge_weight_view)
- template rmm::device_uvector< double > compute_out_weight_sums< int64_t, int64_t, double, false, false > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, edge_property_view_t< int64_t, double const * > edge_weight_view)
- template rmm::device_uvector< double > compute_out_weight_sums< int64_t, int64_t, double, true, false > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, false > const &graph_view, edge_property_view_t< int64_t, double const * > edge_weight_view)
- template float compute_max_in_weight_sum< int64_t, int64_t, float, false, false > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, edge_property_view_t< int64_t, float const * > edge_weight_view)
- template float compute_max_in_weight_sum< int64_t, int64_t, float, true, false > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, false > const &graph_view, edge_property_view_t< int64_t, float const * > edge_weight_view)
- template double compute_max_in_weight_sum< int64_t, int64_t, double, false, false > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, edge_property_view_t< int64_t, double const * > edge_weight_view)
- template double compute_max_in_weight_sum< int64_t, int64_t, double, true, false > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, false > const &graph_view, edge_property_view_t< int64_t, double const * > edge_weight_view)
- template float compute_max_out_weight_sum< int64_t, int64_t, float, false, false > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, edge_property_view_t< int64_t, float const * > edge_weight_view)
- template float compute_max_out_weight_sum< int64_t, int64_t, float, true, false > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, false > const &graph_view, edge_property_view_t< int64_t, float const * > edge_weight_view)
- template double compute_max_out_weight_sum< int64_t, int64_t, double, false, false > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, edge_property_view_t< int64_t, double const * > edge_weight_view)
- template double compute_max_out_weight_sum< int64_t, int64_t, double, true, false > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, false > const &graph_view, edge_property_view_t< int64_t, double const * > edge_weight_view)
- template float compute_total_edge_weight< int64_t, int64_t, float, false, false > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, edge_property_view_t< int64_t, float const * > edge_weight_view)
- template float compute_total_edge_weight< int64_t, int64_t, float, true, false > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, false > const &graph_view, edge_property_view_t< int64_t, float const * > edge_weight_view)
- template double compute_total_edge_weight< int64_t, int64_t, double, false, false > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, edge_property_view_t< int64_t, double const * > edge_weight_view)
- template double compute_total_edge_weight< int64_t, int64_t, double, true, false > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, false > const &graph_view, edge_property_view_t< int64_t, double const * > edge_weight_view)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, rmm::device_uvector< size_t > > extract_induced_subgraphs (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, raft::device_span< size_t const > subgraph_offsets, raft::device_span< int32_t const > subgraph_vertices, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, rmm::device_uvector< size_t > > extract_induced_subgraphs (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, raft::device_span< size_t const > subgraph_offsets, raft::device_span< int32_t const > subgraph_vertices, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, rmm::device_uvector< size_t > > extract_induced_subgraphs (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, raft::device_span< size_t const > subgraph_offsets, raft::device_span< int64_t const > subgraph_vertices, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, rmm::device_uvector< size_t > > extract_induced_subgraphs (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, raft::device_span< size_t const > subgraph_offsets, raft::device_span< int64_t const > subgraph_vertices, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, rmm::device_uvector< size_t > > extract_induced_subgraphs (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, raft::device_span< size_t const > subgraph_offsets, raft::device_span< int32_t const > subgraph_vertices, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, rmm::device_uvector< size_t > > extract_induced_subgraphs (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, raft::device_span< size_t const > subgraph_offsets, raft::device_span< int32_t const > subgraph_vertices, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, rmm::device_uvector< size_t > > extract_induced_subgraphs (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, raft::device_span< size_t const > subgraph_offsets, raft::device_span< int64_t const > subgraph_vertices, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, rmm::device_uvector< size_t > > extract_induced_subgraphs (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, raft::device_span< size_t const > subgraph_offsets, raft::device_span< int64_t const > subgraph_vertices, bool do_expensive_check)
- template void relabel< int32_t, true > (raft::handle_t const &handle, std::tuple< int32_t const *, int32_t const * > old_new_label_pairs, int32_t num_label_pairs, int32_t *labels, int32_t num_labels, bool skip_missing_labels, bool do_expensive_check)
- template void relabel< int64_t, true > (raft::handle_t const &handle, std::tuple< int64_t const *, int64_t const * > old_new_label_pairs, int64_t num_label_pairs, int64_t *labels, int64_t num_labels, bool skip_missing_labels, bool do_expensive_check)
- template void relabel< int32_t, false > (raft::handle_t const &handle, std::tuple< int32_t const *, int32_t const * > old_new_label_pairs, int32_t num_label_pairs, int32_t *labels, int32_t num_labels, bool skip_missing_labels, bool do_expensive_check)
- template void relabel< int64_t, false > (raft::handle_t const &handle, std::tuple< int64_t const *, int64_t const * > old_new_label_pairs, int64_t num_label_pairs, int64_t *labels, int64_t num_labels, bool skip_missing_labels, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > remove_multi_edges (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::optional< rmm::device_uvector< float > > &&edgelist_weights, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_end_times, bool keep_min_value_edge, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > remove_multi_edges (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::optional< rmm::device_uvector< double > > &&edgelist_weights, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_end_times, bool keep_min_value_edge, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > remove_multi_edges (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::optional< rmm::device_uvector< float > > &&edgelist_weights, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_end_times, bool keep_min_value_edge, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > remove_multi_edges (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::optional< rmm::device_uvector< double > > &&edgelist_weights, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_end_times, bool keep_min_value_edge, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< std::vector< rmm::device_uvector< int32_t > >, std::vector< rmm::device_uvector< int32_t > >, std::optional< std::vector< rmm::device_uvector< float > > >, std::optional< std::vector< rmm::device_uvector< int32_t > > >, std::optional< std::vector< rmm::device_uvector< int32_t > > >, std::optional< std::vector< rmm::device_uvector< int32_t > > >, std::optional< std::vector< rmm::device_uvector< int32_t > > > > remove_multi_edges (raft::handle_t const &handle, std::vector< rmm::device_uvector< int32_t > > &&edgelist_srcs, std::vector< rmm::device_uvector< int32_t > > &&edgelist_dsts, std::optional< std::vector< rmm::device_uvector< float > > > &&edgelist_weights, std::optional< std::vector< rmm::device_uvector< int32_t > > > &&edgelist_edge_ids, std::optional< std::vector< rmm::device_uvector< int32_t > > > &&edgelist_edge_types, std::optional< std::vector< rmm::device_uvector< int32_t > > > &&edgelist_edge_start_times, std::optional< std::vector< rmm::device_uvector< int32_t > > > &&edgelist_edge_end_times, bool keep_min_value_edge, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< std::vector< rmm::device_uvector< int32_t > >, std::vector< rmm::device_uvector< int32_t > >, std::optional< std::vector< rmm::device_uvector< double > > >, std::optional< std::vector< rmm::device_uvector< int32_t > > >, std::optional< std::vector< rmm::device_uvector< int32_t > > >, std::optional< std::vector< rmm::device_uvector< int32_t > > >, std::optional< std::vector< rmm::device_uvector< int32_t > > > > remove_multi_edges (raft::handle_t const &handle, std::vector< rmm::device_uvector< int32_t > > &&edgelist_srcs, std::vector< rmm::device_uvector< int32_t > > &&edgelist_dsts, std::optional< std::vector< rmm::device_uvector< double > > > &&edgelist_weights, std::optional< std::vector< rmm::device_uvector< int32_t > > > &&edgelist_edge_ids, std::optional< std::vector< rmm::device_uvector< int32_t > > > &&edgelist_edge_types, std::optional< std::vector< rmm::device_uvector< int32_t > > > &&edgelist_edge_start_times, std::optional< std::vector< rmm::device_uvector< int32_t > > > &&edgelist_edge_end_times, bool keep_min_value_edge, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< std::vector< rmm::device_uvector< int32_t > >, std::vector< rmm::device_uvector< int32_t > >, std::optional< std::vector< rmm::device_uvector< float > > >, std::optional< std::vector< rmm::device_uvector< int32_t > > >, std::optional< std::vector< rmm::device_uvector< int32_t > > >, std::optional< std::vector< rmm::device_uvector< int64_t > > >, std::optional< std::vector< rmm::device_uvector< int64_t > > > > remove_multi_edges (raft::handle_t const &handle, std::vector< rmm::device_uvector< int32_t > > &&edgelist_srcs, std::vector< rmm::device_uvector< int32_t > > &&edgelist_dsts, std::optional< std::vector< rmm::device_uvector< float > > > &&edgelist_weights, std::optional< std::vector< rmm::device_uvector< int32_t > > > &&edgelist_edge_ids, std::optional< std::vector< rmm::device_uvector< int32_t > > > &&edgelist_edge_types, std::optional< std::vector< rmm::device_uvector< int64_t > > > &&edgelist_edge_start_times, std::optional< std::vector< rmm::device_uvector< int64_t > > > &&edgelist_edge_end_times, bool keep_min_value_edge, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< std::vector< rmm::device_uvector< int32_t > >, std::vector< rmm::device_uvector< int32_t > >, std::optional< std::vector< rmm::device_uvector< double > > >, std::optional< std::vector< rmm::device_uvector< int32_t > > >, std::optional< std::vector< rmm::device_uvector< int32_t > > >, std::optional< std::vector< rmm::device_uvector< int64_t > > >, std::optional< std::vector< rmm::device_uvector< int64_t > > > > remove_multi_edges (raft::handle_t const &handle, std::vector< rmm::device_uvector< int32_t > > &&edgelist_srcs, std::vector< rmm::device_uvector< int32_t > > &&edgelist_dsts, std::optional< std::vector< rmm::device_uvector< double > > > &&edgelist_weights, std::optional< std::vector< rmm::device_uvector< int32_t > > > &&edgelist_edge_ids, std::optional< std::vector< rmm::device_uvector< int32_t > > > &&edgelist_edge_types, std::optional< std::vector< rmm::device_uvector< int64_t > > > &&edgelist_edge_start_times, std::optional< std::vector< rmm::device_uvector< int64_t > > > &&edgelist_edge_end_times, bool keep_min_value_edge, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > remove_multi_edges (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::optional< rmm::device_uvector< float > > &&edgelist_weights, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_end_times, bool keep_min_value_edge, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > remove_multi_edges (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::optional< rmm::device_uvector< double > > &&edgelist_weights, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_end_times, bool keep_min_value_edge, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > remove_multi_edges (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::optional< rmm::device_uvector< float > > &&edgelist_weights, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_end_times, bool keep_min_value_edge, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > remove_multi_edges (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::optional< rmm::device_uvector< double > > &&edgelist_weights, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_end_times, bool keep_min_value_edge, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< std::vector< rmm::device_uvector< int64_t > >, std::vector< rmm::device_uvector< int64_t > >, std::optional< std::vector< rmm::device_uvector< float > > >, std::optional< std::vector< rmm::device_uvector< int64_t > > >, std::optional< std::vector< rmm::device_uvector< int32_t > > >, std::optional< std::vector< rmm::device_uvector< int32_t > > >, std::optional< std::vector< rmm::device_uvector< int32_t > > > > remove_multi_edges (raft::handle_t const &handle, std::vector< rmm::device_uvector< int64_t > > &&edgelist_srcs, std::vector< rmm::device_uvector< int64_t > > &&edgelist_dsts, std::optional< std::vector< rmm::device_uvector< float > > > &&edgelist_weights, std::optional< std::vector< rmm::device_uvector< int64_t > > > &&edgelist_edge_ids, std::optional< std::vector< rmm::device_uvector< int32_t > > > &&edgelist_edge_types, std::optional< std::vector< rmm::device_uvector< int32_t > > > &&edgelist_edge_start_times, std::optional< std::vector< rmm::device_uvector< int32_t > > > &&edgelist_edge_end_times, bool keep_min_value_edge, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< std::vector< rmm::device_uvector< int64_t > >, std::vector< rmm::device_uvector< int64_t > >, std::optional< std::vector< rmm::device_uvector< double > > >, std::optional< std::vector< rmm::device_uvector< int64_t > > >, std::optional< std::vector< rmm::device_uvector< int32_t > > >, std::optional< std::vector< rmm::device_uvector< int32_t > > >, std::optional< std::vector< rmm::device_uvector< int32_t > > > > remove_multi_edges (raft::handle_t const &handle, std::vector< rmm::device_uvector< int64_t > > &&edgelist_srcs, std::vector< rmm::device_uvector< int64_t > > &&edgelist_dsts, std::optional< std::vector< rmm::device_uvector< double > > > &&edgelist_weights, std::optional< std::vector< rmm::device_uvector< int64_t > > > &&edgelist_edge_ids, std::optional< std::vector< rmm::device_uvector< int32_t > > > &&edgelist_edge_types, std::optional< std::vector< rmm::device_uvector< int32_t > > > &&edgelist_edge_start_times, std::optional< std::vector< rmm::device_uvector< int32_t > > > &&edgelist_edge_end_times, bool keep_min_value_edge, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< std::vector< rmm::device_uvector< int64_t > >, std::vector< rmm::device_uvector< int64_t > >, std::optional< std::vector< rmm::device_uvector< float > > >, std::optional< std::vector< rmm::device_uvector< int64_t > > >, std::optional< std::vector< rmm::device_uvector< int32_t > > >, std::optional< std::vector< rmm::device_uvector< int64_t > > >, std::optional< std::vector< rmm::device_uvector< int64_t > > > > remove_multi_edges (raft::handle_t const &handle, std::vector< rmm::device_uvector< int64_t > > &&edgelist_srcs, std::vector< rmm::device_uvector< int64_t > > &&edgelist_dsts, std::optional< std::vector< rmm::device_uvector< float > > > &&edgelist_weights, std::optional< std::vector< rmm::device_uvector< int64_t > > > &&edgelist_edge_ids, std::optional< std::vector< rmm::device_uvector< int32_t > > > &&edgelist_edge_types, std::optional< std::vector< rmm::device_uvector< int64_t > > > &&edgelist_edge_start_times, std::optional< std::vector< rmm::device_uvector< int64_t > > > &&edgelist_edge_end_times, bool keep_min_value_edge, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< std::vector< rmm::device_uvector< int64_t > >, std::vector< rmm::device_uvector< int64_t > >, std::optional< std::vector< rmm::device_uvector< double > > >, std::optional< std::vector< rmm::device_uvector< int64_t > > >, std::optional< std::vector< rmm::device_uvector< int32_t > > >, std::optional< std::vector< rmm::device_uvector< int64_t > > >, std::optional< std::vector< rmm::device_uvector< int64_t > > > > remove_multi_edges (raft::handle_t const &handle, std::vector< rmm::device_uvector< int64_t > > &&edgelist_srcs, std::vector< rmm::device_uvector< int64_t > > &&edgelist_dsts, std::optional< std::vector< rmm::device_uvector< double > > > &&edgelist_weights, std::optional< std::vector< rmm::device_uvector< int64_t > > > &&edgelist_edge_ids, std::optional< std::vector< rmm::device_uvector< int32_t > > > &&edgelist_edge_types, std::optional< std::vector< rmm::device_uvector< int64_t > > > &&edgelist_edge_start_times, std::optional< std::vector< rmm::device_uvector< int64_t > > > &&edgelist_edge_end_times, bool keep_min_value_edge, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > remove_self_loops (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::optional< rmm::device_uvector< float > > &&edgelist_weights, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_end_times, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > remove_self_loops (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::optional< rmm::device_uvector< double > > &&edgelist_weights, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_end_times, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > remove_self_loops (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::optional< rmm::device_uvector< float > > &&edgelist_weights, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_end_times, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > remove_self_loops (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::optional< rmm::device_uvector< double > > &&edgelist_weights, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_end_times, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > remove_self_loops (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::optional< rmm::device_uvector< float > > &&edgelist_weights, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_end_times, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > remove_self_loops (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::optional< rmm::device_uvector< double > > &&edgelist_weights, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_end_times, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > remove_self_loops (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::optional< rmm::device_uvector< float > > &&edgelist_weights, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_end_times, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > remove_self_loops (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::optional< rmm::device_uvector< double > > &&edgelist_weights, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_end_times, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< rmm::device_uvector< int32_t >, renumber_meta_t< int32_t, int32_t, true > > renumber_edgelist< int32_t, int32_t, true > (raft::handle_t const &handle, std::optional< rmm::device_uvector< int32_t > > &&local_vertices, std::vector< int32_t * > const &edgelist_srcs, std::vector< int32_t * > const &edgelist_dsts, std::vector< int32_t > const &edgelist_edge_counts, std::optional< std::vector< std::vector< int32_t > > > const &edgelist_intra_partition_segment_offsets, bool store_transposed, std::optional< large_buffer_type_t > large_vertex_buffer_type, std::optional< large_buffer_type_t > large_edge_buffer_type, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, renumber_meta_t< int64_t, int64_t, true > > renumber_edgelist< int64_t, int64_t, true > (raft::handle_t const &handle, std::optional< rmm::device_uvector< int64_t > > &&local_vertices, std::vector< int64_t * > const &edgelist_srcs, std::vector< int64_t * > const &edgelist_dsts, std::vector< int64_t > const &edgelist_edge_counts, std::optional< std::vector< std::vector< int64_t > > > const &edgelist_intra_partition_segment_offsets, bool store_transposed, std::optional< large_buffer_type_t > large_vertex_buffer_type, std::optional< large_buffer_type_t > large_edge_buffer_type, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, renumber_meta_t< int32_t, int32_t, false > > renumber_edgelist< int32_t, int32_t, false > (raft::handle_t const &handle, std::optional< rmm::device_uvector< int32_t > > &&vertices, int32_t *edgelist_srcs, int32_t *edgelist_dsts, int32_t num_edgelist_edges, bool store_transposed, std::optional< large_buffer_type_t > large_vertex_buffer_type, std::optional< large_buffer_type_t > large_edge_buffer_type, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, renumber_meta_t< int64_t, int64_t, false > > renumber_edgelist< int64_t, int64_t, false > (raft::handle_t const &handle, std::optional< rmm::device_uvector< int64_t > > &&vertices, int64_t *edgelist_srcs, int64_t *edgelist_dsts, int64_t num_edgelist_edges, bool store_transposed, std::optional< large_buffer_type_t > large_vertex_buffer_type, std::optional< large_buffer_type_t > large_edge_buffer_type, bool do_expensive_check)
- template void renumber_ext_vertices< int32_t, false > (raft::handle_t const &handle, int32_t *vertices, size_t num_vertices, int32_t const *renumber_map_labels, int32_t local_int_vertex_first, int32_t local_int_vertex_last, bool do_expensive_check)
- template void renumber_ext_vertices< int32_t, true > (raft::handle_t const &handle, int32_t *vertices, size_t num_vertices, int32_t const *renumber_map_labels, int32_t local_int_vertex_first, int32_t local_int_vertex_last, bool do_expensive_check)
- template void renumber_local_ext_vertices< int32_t, false > (raft::handle_t const &handle, int32_t *vertices, size_t num_vertices, int32_t const *renumber_map_labels, int32_t local_int_vertex_first, int32_t local_int_vertex_last, bool do_expensive_check)
- template void renumber_local_ext_vertices< int32_t, true > (raft::handle_t const &handle, int32_t *vertices, size_t num_vertices, int32_t const *renumber_map_labels, int32_t local_int_vertex_first, int32_t local_int_vertex_last, bool do_expensive_check)
- template void unrenumber_local_int_vertices< int32_t > (raft::handle_t const &handle, int32_t *vertices, size_t num_vertices, int32_t const *renumber_map_labels, int32_t local_int_vertex_first, int32_t local_int_vertex_last, bool do_expensive_check)
- template void unrenumber_int_vertices< int32_t, false > (raft::handle_t const &handle, int32_t *vertices, size_t num_vertices, int32_t const *renumber_map_labels, raft::host_span< int32_t const > vertex_partition_range_lasts, bool do_expensive_check)
- template void unrenumber_int_vertices< int32_t, true > (raft::handle_t const &handle, int32_t *vertices, size_t num_vertices, int32_t const *renumber_map_labels, raft::host_span< int32_t const > vertex_partition_range_lasts, bool do_expensive_check)
- template void renumber_ext_vertices< int64_t, false > (raft::handle_t const &handle, int64_t *vertices, size_t num_vertices, int64_t const *renumber_map_labels, int64_t local_int_vertex_first, int64_t local_int_vertex_last, bool do_expensive_check)
- template void renumber_ext_vertices< int64_t, true > (raft::handle_t const &handle, int64_t *vertices, size_t num_vertices, int64_t const *renumber_map_labels, int64_t local_int_vertex_first, int64_t local_int_vertex_last, bool do_expensive_check)
- template void renumber_local_ext_vertices< int64_t, false > (raft::handle_t const &handle, int64_t *vertices, size_t num_vertices, int64_t const *renumber_map_labels, int64_t local_int_vertex_first, int64_t local_int_vertex_last, bool do_expensive_check)
- template void renumber_local_ext_vertices< int64_t, true > (raft::handle_t const &handle, int64_t *vertices, size_t num_vertices, int64_t const *renumber_map_labels, int64_t local_int_vertex_first, int64_t local_int_vertex_last, bool do_expensive_check)
- template void unrenumber_local_int_vertices< int64_t > (raft::handle_t const &handle, int64_t *vertices, size_t num_vertices, int64_t const *renumber_map_labels, int64_t local_int_vertex_first, int64_t local_int_vertex_last, bool do_expensive_check)
- template void unrenumber_int_vertices< int64_t, false > (raft::handle_t const &handle, int64_t *vertices, size_t num_vertices, int64_t const *renumber_map_labels, raft::host_span< int64_t const > vertex_partition_range_lasts, bool do_expensive_check)
- template void unrenumber_int_vertices< int64_t, true > (raft::handle_t const &handle, int64_t *vertices, size_t num_vertices, int64_t const *renumber_map_labels, raft::host_span< int64_t const > vertex_partition_range_lasts, bool do_expensive_check)
- template void unrenumber_local_int_edges< int32_t, false, true > (raft::handle_t const &handle, std::vector< int32_t * > const &edgelist_srcs, std::vector< int32_t * > const &edgelist_dsts, std::vector< size_t > const &edgelist_edge_counts, int32_t const *renumber_map_labels, raft::host_span< int32_t const > vertex_partition_range_lasts, std::optional< std::vector< std::vector< size_t > > > const &edgelist_intra_partition_segment_offsets, bool do_expensive_check)
- template void unrenumber_local_int_edges< int32_t, true, true > (raft::handle_t const &handle, std::vector< int32_t * > const &edgelist_srcs, std::vector< int32_t * > const &edgelist_dsts, std::vector< size_t > const &edgelist_edge_counts, int32_t const *renumber_map_labels, raft::host_span< int32_t const > vertex_partition_range_lasts, std::optional< std::vector< std::vector< size_t > > > const &edgelist_intra_partition_segment_offsets, bool do_expensive_check)
- template void unrenumber_local_int_edges< int64_t, false, true > (raft::handle_t const &handle, std::vector< int64_t * > const &edgelist_srcs, std::vector< int64_t * > const &edgelist_dsts, std::vector< size_t > const &edgelist_edge_counts, int64_t const *renumber_map_labels, raft::host_span< int64_t const > vertex_partition_range_lasts, std::optional< std::vector< std::vector< size_t > > > const &edgelist_intra_partition_segment_offsets, bool do_expensive_check)
- template void unrenumber_local_int_edges< int64_t, true, true > (raft::handle_t const &handle, std::vector< int64_t * > const &edgelist_srcs, std::vector< int64_t * > const &edgelist_dsts, std::vector< size_t > const &edgelist_edge_counts, int64_t const *renumber_map_labels, raft::host_span< int64_t const > vertex_partition_range_lasts, std::optional< std::vector< std::vector< size_t > > > const &edgelist_intra_partition_segment_offsets, bool do_expensive_check)
- template void unrenumber_local_int_edges< int32_t, false, false > (raft::handle_t const &handle, int32_t *edgelist_srcs, int32_t *edgelist_dsts, size_t num_edgelist_edges, int32_t const *renumber_map_labels, int32_t num_vertices, bool do_expensive_check)
- template void unrenumber_local_int_edges< int32_t, true, false > (raft::handle_t const &handle, int32_t *edgelist_srcs, int32_t *edgelist_dsts, size_t num_edgelist_edges, int32_t const *renumber_map_labels, int32_t num_vertices, bool do_expensive_check)
- template void unrenumber_local_int_edges< int64_t, false, false > (raft::handle_t const &handle, int64_t *edgelist_srcs, int64_t *edgelist_dsts, size_t num_edgelist_edges, int64_t const *renumber_map_labels, int64_t num_vertices, bool do_expensive_check)
- template void unrenumber_local_int_edges< int64_t, true, false > (raft::handle_t const &handle, int64_t *edgelist_srcs, int64_t *edgelist_dsts, size_t num_edgelist_edges, int64_t const *renumber_map_labels, int64_t num_vertices, bool do_expensive_check)
- template rmm::device_uvector< int32_t > select_random_vertices (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< raft::device_span< int32_t const > > given_set, raft::random::RngState &rng_state, size_t select_count, bool with_replacement, bool sort_vertices, bool do_expensive_check)
- template rmm::device_uvector< int32_t > select_random_vertices (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, true > const &graph_view, std::optional< raft::device_span< int32_t const > > given_set, raft::random::RngState &rng_state, size_t select_count, bool with_replacement, bool sort_vertices, bool do_expensive_check)
- template rmm::device_uvector< int64_t > select_random_vertices (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< raft::device_span< int64_t const > > given_set, raft::random::RngState &rng_state, size_t select_count, bool with_replacement, bool sort_vertices, bool do_expensive_check)
- template rmm::device_uvector< int64_t > select_random_vertices (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, true > const &graph_view, std::optional< raft::device_span< int64_t const > > given_set, raft::random::RngState &rng_state, size_t select_count, bool with_replacement, bool sort_vertices, bool do_expensive_check)
- template rmm::device_uvector< int32_t > select_random_vertices (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< raft::device_span< int32_t const > > given_set, raft::random::RngState &rng_state, size_t select_count, bool with_replacement, bool sort_vertices, bool do_expensive_check)
- template rmm::device_uvector< int32_t > select_random_vertices (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, false > const &graph_view, std::optional< raft::device_span< int32_t const > > given_set, raft::random::RngState &rng_state, size_t select_count, bool with_replacement, bool sort_vertices, bool do_expensive_check)
- template rmm::device_uvector< int64_t > select_random_vertices (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< raft::device_span< int64_t const > > given_set, raft::random::RngState &rng_state, size_t select_count, bool with_replacement, bool sort_vertices, bool do_expensive_check)
- template rmm::device_uvector< int64_t > select_random_vertices (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, false > const &graph_view, std::optional< raft::device_span< int64_t const > > given_set, raft::random::RngState &rng_state, size_t select_count, bool with_replacement, bool sort_vertices, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > symmetrize_edgelist< int32_t, int32_t, float, int32_t, int32_t, false, true > (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::optional< rmm::device_uvector< float > > &&edgelist_weights, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > symmetrize_edgelist< int32_t, int32_t, float, int32_t, int32_t, true, true > (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::optional< rmm::device_uvector< float > > &&edgelist_weights, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > symmetrize_edgelist< int32_t, int32_t, double, int32_t, int32_t, false, true > (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::optional< rmm::device_uvector< double > > &&edgelist_weights, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > symmetrize_edgelist< int32_t, int32_t, double, int32_t, int32_t, true, true > (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::optional< rmm::device_uvector< double > > &&edgelist_weights, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > symmetrize_edgelist< int32_t, int32_t, float, int32_t, int64_t, false, true > (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::optional< rmm::device_uvector< float > > &&edgelist_weights, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > symmetrize_edgelist< int32_t, int32_t, float, int32_t, int64_t, true, true > (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::optional< rmm::device_uvector< float > > &&edgelist_weights, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > symmetrize_edgelist< int32_t, int32_t, double, int32_t, int64_t, false, true > (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::optional< rmm::device_uvector< double > > &&edgelist_weights, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > symmetrize_edgelist< int32_t, int32_t, double, int32_t, int64_t, true, true > (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::optional< rmm::device_uvector< double > > &&edgelist_weights, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > symmetrize_edgelist< int64_t, int64_t, float, int32_t, int32_t, false, true > (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::optional< rmm::device_uvector< float > > &&edgelist_weights, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > symmetrize_edgelist< int64_t, int64_t, float, int32_t, int32_t, true, true > (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::optional< rmm::device_uvector< float > > &&edgelist_weights, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > symmetrize_edgelist< int64_t, int64_t, double, int32_t, int32_t, false, true > (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::optional< rmm::device_uvector< double > > &&edgelist_weights, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > symmetrize_edgelist< int64_t, int64_t, double, int32_t, int32_t, true, true > (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::optional< rmm::device_uvector< double > > &&edgelist_weights, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > symmetrize_edgelist< int64_t, int64_t, float, int32_t, int64_t, false, true > (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::optional< rmm::device_uvector< float > > &&edgelist_weights, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > symmetrize_edgelist< int64_t, int64_t, float, int32_t, int64_t, true, true > (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::optional< rmm::device_uvector< float > > &&edgelist_weights, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > symmetrize_edgelist< int64_t, int64_t, double, int32_t, int64_t, false, true > (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::optional< rmm::device_uvector< double > > &&edgelist_weights, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > symmetrize_edgelist< int64_t, int64_t, double, int32_t, int64_t, true, true > (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::optional< rmm::device_uvector< double > > &&edgelist_weights, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > symmetrize_edgelist< int32_t, int32_t, float, int32_t, int32_t, false, false > (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::optional< rmm::device_uvector< float > > &&edgelist_weights, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > symmetrize_edgelist< int32_t, int32_t, float, int32_t, int32_t, true, false > (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::optional< rmm::device_uvector< float > > &&edgelist_weights, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > symmetrize_edgelist< int32_t, int32_t, double, int32_t, int32_t, false, false > (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::optional< rmm::device_uvector< double > > &&edgelist_weights, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > symmetrize_edgelist< int32_t, int32_t, double, int32_t, int32_t, true, false > (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::optional< rmm::device_uvector< double > > &&edgelist_weights, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > symmetrize_edgelist< int32_t, int32_t, float, int32_t, int64_t, false, false > (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::optional< rmm::device_uvector< float > > &&edgelist_weights, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > symmetrize_edgelist< int32_t, int32_t, float, int32_t, int64_t, true, false > (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::optional< rmm::device_uvector< float > > &&edgelist_weights, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > symmetrize_edgelist< int32_t, int32_t, double, int32_t, int64_t, false, false > (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::optional< rmm::device_uvector< double > > &&edgelist_weights, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > symmetrize_edgelist< int32_t, int32_t, double, int32_t, int64_t, true, false > (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edgelist_srcs, rmm::device_uvector< int32_t > &&edgelist_dsts, std::optional< rmm::device_uvector< double > > &&edgelist_weights, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > symmetrize_edgelist< int64_t, int64_t, float, int32_t, int32_t, false, false > (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::optional< rmm::device_uvector< float > > &&edgelist_weights, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > symmetrize_edgelist< int64_t, int64_t, float, int32_t, int32_t, true, false > (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::optional< rmm::device_uvector< float > > &&edgelist_weights, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > symmetrize_edgelist< int64_t, int64_t, double, int32_t, int32_t, false, false > (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::optional< rmm::device_uvector< double > > &&edgelist_weights, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > symmetrize_edgelist< int64_t, int64_t, double, int32_t, int32_t, true, false > (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::optional< rmm::device_uvector< double > > &&edgelist_weights, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > symmetrize_edgelist< int64_t, int64_t, float, int32_t, int64_t, false, false > (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::optional< rmm::device_uvector< float > > &&edgelist_weights, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > symmetrize_edgelist< int64_t, int64_t, float, int32_t, int64_t, true, false > (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::optional< rmm::device_uvector< float > > &&edgelist_weights, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > symmetrize_edgelist< int64_t, int64_t, double, int32_t, int64_t, false, false > (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::optional< rmm::device_uvector< double > > &&edgelist_weights, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > symmetrize_edgelist< int64_t, int64_t, double, int32_t, int64_t, true, false > (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edgelist_srcs, rmm::device_uvector< int64_t > &&edgelist_dsts, std::optional< rmm::device_uvector< double > > &&edgelist_weights, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_ids, std::optional< rmm::device_uvector< int32_t > > &&edgelist_edge_types, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_start_times, std::optional< rmm::device_uvector< int64_t > > &&edgelist_edge_end_times, bool reciprocal)
- template std::tuple< graph_t< int32_t, int32_t, true, true >, std::optional< edge_property_t< int32_t, float > >, std::optional< rmm::device_uvector< int32_t > > > symmetrize_graph (raft::handle_t const &handle, graph_t< int32_t, int32_t, true, true > &&graph, std::optional< edge_property_t< int32_t, float > > &&edge_weights, std::optional< rmm::device_uvector< int32_t > > &&renumber_map, bool reciprocal, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, false, true >, std::optional< edge_property_t< int32_t, float > >, std::optional< rmm::device_uvector< int32_t > > > symmetrize_graph (raft::handle_t const &handle, graph_t< int32_t, int32_t, false, true > &&graph, std::optional< edge_property_t< int32_t, float > > &&edge_weights, std::optional< rmm::device_uvector< int32_t > > &&renumber_map, bool reciprocal, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, true, true >, std::optional< edge_property_t< int32_t, double > >, std::optional< rmm::device_uvector< int32_t > > > symmetrize_graph (raft::handle_t const &handle, graph_t< int32_t, int32_t, true, true > &&graph, std::optional< edge_property_t< int32_t, double > > &&edge_weights, std::optional< rmm::device_uvector< int32_t > > &&renumber_map, bool reciprocal, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, false, true >, std::optional< edge_property_t< int32_t, double > >, std::optional< rmm::device_uvector< int32_t > > > symmetrize_graph (raft::handle_t const &handle, graph_t< int32_t, int32_t, false, true > &&graph, std::optional< edge_property_t< int32_t, double > > &&edge_weights, std::optional< rmm::device_uvector< int32_t > > &&renumber_map, bool reciprocal, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, true, true >, std::optional< edge_property_t< int64_t, float > >, std::optional< rmm::device_uvector< int64_t > > > symmetrize_graph (raft::handle_t const &handle, graph_t< int64_t, int64_t, true, true > &&graph, std::optional< edge_property_t< int64_t, float > > &&edge_weights, std::optional< rmm::device_uvector< int64_t > > &&renumber_map, bool reciprocal, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, false, true >, std::optional< edge_property_t< int64_t, float > >, std::optional< rmm::device_uvector< int64_t > > > symmetrize_graph (raft::handle_t const &handle, graph_t< int64_t, int64_t, false, true > &&graph, std::optional< edge_property_t< int64_t, float > > &&edge_weights, std::optional< rmm::device_uvector< int64_t > > &&renumber_map, bool reciprocal, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, true, true >, std::optional< edge_property_t< int64_t, double > >, std::optional< rmm::device_uvector< int64_t > > > symmetrize_graph (raft::handle_t const &handle, graph_t< int64_t, int64_t, true, true > &&graph, std::optional< edge_property_t< int64_t, double > > &&edge_weights, std::optional< rmm::device_uvector< int64_t > > &&renumber_map, bool reciprocal, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, false, true >, std::optional< edge_property_t< int64_t, double > >, std::optional< rmm::device_uvector< int64_t > > > symmetrize_graph (raft::handle_t const &handle, graph_t< int64_t, int64_t, false, true > &&graph, std::optional< edge_property_t< int64_t, double > > &&edge_weights, std::optional< rmm::device_uvector< int64_t > > &&renumber_map, bool reciprocal, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, true, false >, std::optional< edge_property_t< int32_t, float > >, std::optional< rmm::device_uvector< int32_t > > > symmetrize_graph (raft::handle_t const &handle, graph_t< int32_t, int32_t, true, false > &&graph, std::optional< edge_property_t< int32_t, float > > &&edge_weights, std::optional< rmm::device_uvector< int32_t > > &&renumber_map, bool reciprocal, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, false, false >, std::optional< edge_property_t< int32_t, float > >, std::optional< rmm::device_uvector< int32_t > > > symmetrize_graph (raft::handle_t const &handle, graph_t< int32_t, int32_t, false, false > &&graph, std::optional< edge_property_t< int32_t, float > > &&edge_weights, std::optional< rmm::device_uvector< int32_t > > &&renumber_map, bool reciprocal, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, true, false >, std::optional< edge_property_t< int32_t, double > >, std::optional< rmm::device_uvector< int32_t > > > symmetrize_graph (raft::handle_t const &handle, graph_t< int32_t, int32_t, true, false > &&graph, std::optional< edge_property_t< int32_t, double > > &&edge_weights, std::optional< rmm::device_uvector< int32_t > > &&renumber_map, bool reciprocal, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, false, false >, std::optional< edge_property_t< int32_t, double > >, std::optional< rmm::device_uvector< int32_t > > > symmetrize_graph (raft::handle_t const &handle, graph_t< int32_t, int32_t, false, false > &&graph, std::optional< edge_property_t< int32_t, double > > &&edge_weights, std::optional< rmm::device_uvector< int32_t > > &&renumber_map, bool reciprocal, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, true, false >, std::optional< edge_property_t< int64_t, float > >, std::optional< rmm::device_uvector< int64_t > > > symmetrize_graph (raft::handle_t const &handle, graph_t< int64_t, int64_t, true, false > &&graph, std::optional< edge_property_t< int64_t, float > > &&edge_weights, std::optional< rmm::device_uvector< int64_t > > &&renumber_map, bool reciprocal, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, false, false >, std::optional< edge_property_t< int64_t, float > >, std::optional< rmm::device_uvector< int64_t > > > symmetrize_graph (raft::handle_t const &handle, graph_t< int64_t, int64_t, false, false > &&graph, std::optional< edge_property_t< int64_t, float > > &&edge_weights, std::optional< rmm::device_uvector< int64_t > > &&renumber_map, bool reciprocal, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, true, false >, std::optional< edge_property_t< int64_t, double > >, std::optional< rmm::device_uvector< int64_t > > > symmetrize_graph (raft::handle_t const &handle, graph_t< int64_t, int64_t, true, false > &&graph, std::optional< edge_property_t< int64_t, double > > &&edge_weights, std::optional< rmm::device_uvector< int64_t > > &&renumber_map, bool reciprocal, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, false, false >, std::optional< edge_property_t< int64_t, double > >, std::optional< rmm::device_uvector< int64_t > > > symmetrize_graph (raft::handle_t const &handle, graph_t< int64_t, int64_t, false, false > &&graph, std::optional< edge_property_t< int64_t, double > > &&edge_weights, std::optional< rmm::device_uvector< int64_t > > &&renumber_map, bool reciprocal, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, true, true >, std::optional< edge_property_t< int32_t, float > >, std::optional< rmm::device_uvector< int32_t > > > transpose_graph (raft::handle_t const &handle, graph_t< int32_t, int32_t, true, true > &&graph, std::optional< edge_property_t< int32_t, float > > &&edge_weights, std::optional< rmm::device_uvector< int32_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, false, true >, std::optional< edge_property_t< int32_t, float > >, std::optional< rmm::device_uvector< int32_t > > > transpose_graph (raft::handle_t const &handle, graph_t< int32_t, int32_t, false, true > &&graph, std::optional< edge_property_t< int32_t, float > > &&edge_weights, std::optional< rmm::device_uvector< int32_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, true, true >, std::optional< edge_property_t< int32_t, double > >, std::optional< rmm::device_uvector< int32_t > > > transpose_graph (raft::handle_t const &handle, graph_t< int32_t, int32_t, true, true > &&graph, std::optional< edge_property_t< int32_t, double > > &&edge_weights, std::optional< rmm::device_uvector< int32_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, false, true >, std::optional< edge_property_t< int32_t, double > >, std::optional< rmm::device_uvector< int32_t > > > transpose_graph (raft::handle_t const &handle, graph_t< int32_t, int32_t, false, true > &&graph, std::optional< edge_property_t< int32_t, double > > &&edge_weights, std::optional< rmm::device_uvector< int32_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, true, true >, std::optional< edge_property_t< int64_t, float > >, std::optional< rmm::device_uvector< int64_t > > > transpose_graph (raft::handle_t const &handle, graph_t< int64_t, int64_t, true, true > &&graph, std::optional< edge_property_t< int64_t, float > > &&edge_weights, std::optional< rmm::device_uvector< int64_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, false, true >, std::optional< edge_property_t< int64_t, float > >, std::optional< rmm::device_uvector< int64_t > > > transpose_graph (raft::handle_t const &handle, graph_t< int64_t, int64_t, false, true > &&graph, std::optional< edge_property_t< int64_t, float > > &&edge_weights, std::optional< rmm::device_uvector< int64_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, true, true >, std::optional< edge_property_t< int64_t, double > >, std::optional< rmm::device_uvector< int64_t > > > transpose_graph (raft::handle_t const &handle, graph_t< int64_t, int64_t, true, true > &&graph, std::optional< edge_property_t< int64_t, double > > &&edge_weights, std::optional< rmm::device_uvector< int64_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, false, true >, std::optional< edge_property_t< int64_t, double > >, std::optional< rmm::device_uvector< int64_t > > > transpose_graph (raft::handle_t const &handle, graph_t< int64_t, int64_t, false, true > &&graph, std::optional< edge_property_t< int64_t, double > > &&edge_weights, std::optional< rmm::device_uvector< int64_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, true, false >, std::optional< edge_property_t< int32_t, float > >, std::optional< rmm::device_uvector< int32_t > > > transpose_graph (raft::handle_t const &handle, graph_t< int32_t, int32_t, true, false > &&graph, std::optional< edge_property_t< int32_t, float > > &&edge_weights, std::optional< rmm::device_uvector< int32_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, false, false >, std::optional< edge_property_t< int32_t, float > >, std::optional< rmm::device_uvector< int32_t > > > transpose_graph (raft::handle_t const &handle, graph_t< int32_t, int32_t, false, false > &&graph, std::optional< edge_property_t< int32_t, float > > &&edge_weights, std::optional< rmm::device_uvector< int32_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, true, false >, std::optional< edge_property_t< int32_t, double > >, std::optional< rmm::device_uvector< int32_t > > > transpose_graph (raft::handle_t const &handle, graph_t< int32_t, int32_t, true, false > &&graph, std::optional< edge_property_t< int32_t, double > > &&edge_weights, std::optional< rmm::device_uvector< int32_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, false, false >, std::optional< edge_property_t< int32_t, double > >, std::optional< rmm::device_uvector< int32_t > > > transpose_graph (raft::handle_t const &handle, graph_t< int32_t, int32_t, false, false > &&graph, std::optional< edge_property_t< int32_t, double > > &&edge_weights, std::optional< rmm::device_uvector< int32_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, true, false >, std::optional< edge_property_t< int64_t, float > >, std::optional< rmm::device_uvector< int64_t > > > transpose_graph (raft::handle_t const &handle, graph_t< int64_t, int64_t, true, false > &&graph, std::optional< edge_property_t< int64_t, float > > &&edge_weights, std::optional< rmm::device_uvector< int64_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, false, false >, std::optional< edge_property_t< int64_t, float > >, std::optional< rmm::device_uvector< int64_t > > > transpose_graph (raft::handle_t const &handle, graph_t< int64_t, int64_t, false, false > &&graph, std::optional< edge_property_t< int64_t, float > > &&edge_weights, std::optional< rmm::device_uvector< int64_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, true, false >, std::optional< edge_property_t< int64_t, double > >, std::optional< rmm::device_uvector< int64_t > > > transpose_graph (raft::handle_t const &handle, graph_t< int64_t, int64_t, true, false > &&graph, std::optional< edge_property_t< int64_t, double > > &&edge_weights, std::optional< rmm::device_uvector< int64_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, false, false >, std::optional< edge_property_t< int64_t, double > >, std::optional< rmm::device_uvector< int64_t > > > transpose_graph (raft::handle_t const &handle, graph_t< int64_t, int64_t, false, false > &&graph, std::optional< edge_property_t< int64_t, double > > &&edge_weights, std::optional< rmm::device_uvector< int64_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, false, true >, std::optional< edge_property_t< int32_t, float > >, std::optional< rmm::device_uvector< int32_t > > > transpose_graph_storage (raft::handle_t const &handle, graph_t< int32_t, int32_t, true, true > &&graph, std::optional< edge_property_t< int32_t, float > > &&edge_weights, std::optional< rmm::device_uvector< int32_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, true, true >, std::optional< edge_property_t< int32_t, float > >, std::optional< rmm::device_uvector< int32_t > > > transpose_graph_storage (raft::handle_t const &handle, graph_t< int32_t, int32_t, false, true > &&graph, std::optional< edge_property_t< int32_t, float > > &&edge_weights, std::optional< rmm::device_uvector< int32_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, false, true >, std::optional< edge_property_t< int32_t, double > >, std::optional< rmm::device_uvector< int32_t > > > transpose_graph_storage (raft::handle_t const &handle, graph_t< int32_t, int32_t, true, true > &&graph, std::optional< edge_property_t< int32_t, double > > &&edge_weights, std::optional< rmm::device_uvector< int32_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, true, true >, std::optional< edge_property_t< int32_t, double > >, std::optional< rmm::device_uvector< int32_t > > > transpose_graph_storage (raft::handle_t const &handle, graph_t< int32_t, int32_t, false, true > &&graph, std::optional< edge_property_t< int32_t, double > > &&edge_weights, std::optional< rmm::device_uvector< int32_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, false, true >, std::optional< edge_property_t< int64_t, float > >, std::optional< rmm::device_uvector< int64_t > > > transpose_graph_storage (raft::handle_t const &handle, graph_t< int64_t, int64_t, true, true > &&graph, std::optional< edge_property_t< int64_t, float > > &&edge_weights, std::optional< rmm::device_uvector< int64_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, true, true >, std::optional< edge_property_t< int64_t, float > >, std::optional< rmm::device_uvector< int64_t > > > transpose_graph_storage (raft::handle_t const &handle, graph_t< int64_t, int64_t, false, true > &&graph, std::optional< edge_property_t< int64_t, float > > &&edge_weights, std::optional< rmm::device_uvector< int64_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, false, true >, std::optional< edge_property_t< int64_t, double > >, std::optional< rmm::device_uvector< int64_t > > > transpose_graph_storage (raft::handle_t const &handle, graph_t< int64_t, int64_t, true, true > &&graph, std::optional< edge_property_t< int64_t, double > > &&edge_weights, std::optional< rmm::device_uvector< int64_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, true, true >, std::optional< edge_property_t< int64_t, double > >, std::optional< rmm::device_uvector< int64_t > > > transpose_graph_storage (raft::handle_t const &handle, graph_t< int64_t, int64_t, false, true > &&graph, std::optional< edge_property_t< int64_t, double > > &&edge_weights, std::optional< rmm::device_uvector< int64_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, false, false >, std::optional< edge_property_t< int32_t, float > >, std::optional< rmm::device_uvector< int32_t > > > transpose_graph_storage (raft::handle_t const &handle, graph_t< int32_t, int32_t, true, false > &&graph, std::optional< edge_property_t< int32_t, float > > &&edge_weights, std::optional< rmm::device_uvector< int32_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, true, false >, std::optional< edge_property_t< int32_t, float > >, std::optional< rmm::device_uvector< int32_t > > > transpose_graph_storage (raft::handle_t const &handle, graph_t< int32_t, int32_t, false, false > &&graph, std::optional< edge_property_t< int32_t, float > > &&edge_weights, std::optional< rmm::device_uvector< int32_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, false, false >, std::optional< edge_property_t< int32_t, double > >, std::optional< rmm::device_uvector< int32_t > > > transpose_graph_storage (raft::handle_t const &handle, graph_t< int32_t, int32_t, true, false > &&graph, std::optional< edge_property_t< int32_t, double > > &&edge_weights, std::optional< rmm::device_uvector< int32_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int32_t, int32_t, true, false >, std::optional< edge_property_t< int32_t, double > >, std::optional< rmm::device_uvector< int32_t > > > transpose_graph_storage (raft::handle_t const &handle, graph_t< int32_t, int32_t, false, false > &&graph, std::optional< edge_property_t< int32_t, double > > &&edge_weights, std::optional< rmm::device_uvector< int32_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, false, false >, std::optional< edge_property_t< int64_t, float > >, std::optional< rmm::device_uvector< int64_t > > > transpose_graph_storage (raft::handle_t const &handle, graph_t< int64_t, int64_t, true, false > &&graph, std::optional< edge_property_t< int64_t, float > > &&edge_weights, std::optional< rmm::device_uvector< int64_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, true, false >, std::optional< edge_property_t< int64_t, float > >, std::optional< rmm::device_uvector< int64_t > > > transpose_graph_storage (raft::handle_t const &handle, graph_t< int64_t, int64_t, false, false > &&graph, std::optional< edge_property_t< int64_t, float > > &&edge_weights, std::optional< rmm::device_uvector< int64_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, false, false >, std::optional< edge_property_t< int64_t, double > >, std::optional< rmm::device_uvector< int64_t > > > transpose_graph_storage (raft::handle_t const &handle, graph_t< int64_t, int64_t, true, false > &&graph, std::optional< edge_property_t< int64_t, double > > &&edge_weights, std::optional< rmm::device_uvector< int64_t > > &&renumber_map, bool do_expensive_check)
- template std::tuple< graph_t< int64_t, int64_t, true, false >, std::optional< edge_property_t< int64_t, double > >, std::optional< rmm::device_uvector< int64_t > > > transpose_graph_storage (raft::handle_t const &handle, graph_t< int64_t, int64_t, false, false > &&graph, std::optional< edge_property_t< int64_t, double > > &&edge_weights, std::optional< rmm::device_uvector< int64_t > > &&renumber_map, bool do_expensive_check)
- template void bfs (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, int32_t *distances, int32_t *predecessors, int32_t const *sources, size_t n_sources, bool direction_optimizing, int32_t depth_limit, bool do_expensive_check)
- template void bfs (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, int64_t *distances, int64_t *predecessors, int64_t const *sources, size_t n_sources, bool direction_optimizing, int64_t depth_limit, bool do_expensive_check)
- template void bfs (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, int32_t *distances, int32_t *predecessors, int32_t const *sources, size_t n_sources, bool direction_optimizing, int32_t depth_limit, bool do_expensive_check)
- template void bfs (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, int64_t *distances, int64_t *predecessors, int64_t const *sources, size_t n_sources, bool direction_optimizing, int64_t depth_limit, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, int32_t > extract_bfs_paths (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, int32_t const *distances, int32_t const *predecessors, int32_t const *destinations, size_t n_destinations)
- template std::tuple< rmm::device_uvector< int64_t >, int64_t > extract_bfs_paths (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, int64_t const *distances, int64_t const *predecessors, int64_t const *destinations, size_t n_destinations)
- template std::tuple< rmm::device_uvector< int32_t >, int32_t > extract_bfs_paths (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, int32_t const *distances, int32_t const *predecessors, int32_t const *destinations, size_t n_destinations)
- template std::tuple< rmm::device_uvector< int64_t >, int64_t > extract_bfs_paths (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, int64_t const *distances, int64_t const *predecessors, int64_t const *destinations, size_t n_destinations)
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
std::tuple<rmm::device_uvector<size_t>, rmm::device_uvector<vertex_t>> k_hop_nbrs( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- raft::device_span<vertex_t const> start_vertices,
- size_t k,
- bool do_expensive_check
- template std::tuple< rmm::device_uvector< size_t >, rmm::device_uvector< int32_t > > k_hop_nbrs (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, raft::device_span< int32_t const > start_vertices, size_t k, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< size_t >, rmm::device_uvector< int64_t > > k_hop_nbrs (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, raft::device_span< int64_t const > start_vertices, size_t k, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< size_t >, rmm::device_uvector< int32_t > > k_hop_nbrs (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, raft::device_span< int32_t const > start_vertices, size_t k, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< size_t >, rmm::device_uvector< int64_t > > k_hop_nbrs (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, raft::device_span< int64_t const > start_vertices, size_t k, bool do_expensive_check)
- template rmm::device_uvector< float > od_shortest_distances (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, edge_property_view_t< int32_t, float const * > edge_weight_view, raft::device_span< int32_t const > origins, raft::device_span< int32_t const > destinations, float cutoff, bool do_expensive_check)
- template rmm::device_uvector< double > od_shortest_distances (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, edge_property_view_t< int32_t, double const * > edge_weight_view, raft::device_span< int32_t const > origins, raft::device_span< int32_t const > destinations, double cutoff, bool do_expensive_check)
- template rmm::device_uvector< float > od_shortest_distances (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, edge_property_view_t< int64_t, float const * > edge_weight_view, raft::device_span< int64_t const > origins, raft::device_span< int64_t const > destinations, float cutoff, bool do_expensive_check)
- template rmm::device_uvector< double > od_shortest_distances (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, edge_property_view_t< int64_t, double const * > edge_weight_view, raft::device_span< int64_t const > origins, raft::device_span< int64_t const > destinations, double cutoff, bool do_expensive_check)
- template void sssp (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, edge_property_view_t< int32_t, float const * > edge_weight_view, float *distances, int32_t *predecessors, int32_t source_vertex, float cutoff, bool do_expensive_check)
- template void sssp (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, edge_property_view_t< int32_t, double const * > edge_weight_view, double *distances, int32_t *predecessors, int32_t source_vertex, double cutoff, bool do_expensive_check)
- template void sssp (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, edge_property_view_t< int64_t, float const * > edge_weight_view, float *distances, int64_t *predecessors, int64_t source_vertex, float cutoff, bool do_expensive_check)
- template void sssp (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, edge_property_view_t< int64_t, double const * > edge_weight_view, double *distances, int64_t *predecessors, int64_t source_vertex, double cutoff, bool do_expensive_check)
- template void sssp (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, edge_property_view_t< int32_t, float const * > edge_weight_view, float *distances, int32_t *predecessors, int32_t source_vertex, float cutoff, bool do_expensive_check)
- template void sssp (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, edge_property_view_t< int32_t, double const * > edge_weight_view, double *distances, int32_t *predecessors, int32_t source_vertex, double cutoff, bool do_expensive_check)
- template void sssp (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, edge_property_view_t< int64_t, float const * > edge_weight_view, float *distances, int64_t *predecessors, int64_t source_vertex, float cutoff, bool do_expensive_check)
- template void sssp (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, edge_property_view_t< int64_t, double const * > edge_weight_view, double *distances, int64_t *predecessors, int64_t source_vertex, double cutoff, bool do_expensive_check)
- template std::unique_ptr< legacy::GraphCOO< int, int, float > > minimum_spanning_tree< int, int, float > (raft::handle_t const &handle, legacy::GraphCSRView< int, int, float > const &graph, rmm::device_async_resource_ref mr)
- template std::unique_ptr< legacy::GraphCOO< int, int, double > > minimum_spanning_tree< int, int, double > (raft::handle_t const &handle, legacy::GraphCSRView< int, int, double > const &graph, rmm::device_async_resource_ref mr)
- arithmetic_device_uvector_t concatenate_spans(
- raft::handle_t const &handle,
- std::vector<arithmetic_device_span_t> const &spans,
- size_t result_size
Concatenate same-typed device spans into a contiguous device vector.
The spans are concatenated in the order given. The element type is inferred from the first span, and every span must hold the same arithmetic variant alternative.
- Parameters:
handle – RAFT handle used to access the CUDA stream.
spans – Device spans to concatenate.
result_size – Total number of elements across all spans.
- Returns:
A device vector containing the concatenated elements, or a monostate variant if
spansis empty.
- size_t count_set_bits(
- rmm::exec_policy_nosync const &policy,
- uint32_t const *mask_first,
- size_t num_bits
-
template<typename vertex_t, typename weight_t>
void get_traversed_cost( - raft::handle_t const &handle,
- vertex_t const *vertices,
- vertex_t const *preds,
- weight_t const *info_weights,
- weight_t *out,
- vertex_t stop_vertex,
- vertex_t num_vertices
Takes the results of BFS or SSSP function call and sums the given weights along the path to the starting vertex.
- Template Parameters:
vertex_t – Type of vertex identifiers. Needs to be an integral type.
weight_t – Type of edge weights. Needs to be a floating point type.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms. Must have at least one worker stream.
vertices – Pointer to vertex ids.
preds – Pointer to predecessors.
info_weights – Secondary weights along the edge from predecessor to vertex.
out – Contains for each index the sum of weights along the path unfolding.
num_vertices – Number of vertices.
- template void get_traversed_cost< int32_t, float > (raft::handle_t const &handle, int32_t const *vertices, int32_t const *preds, float const *info_weights, float *out, int32_t stop_vertex, int32_t num_vertices)
- template void get_traversed_cost< int32_t, double > (raft::handle_t const &handle, int32_t const *vertices, int32_t const *preds, double const *info_weights, double *out, int32_t stop_vertex, int32_t num_vertices)
- template void get_traversed_cost< int64_t, float > (raft::handle_t const &handle, int64_t const *vertices, int64_t const *preds, float const *info_weights, float *out, int64_t stop_vertex, int64_t num_vertices)
- template void get_traversed_cost< int64_t, double > (raft::handle_t const &handle, int64_t const *vertices, int64_t const *preds, double const *info_weights, double *out, int64_t stop_vertex, int64_t num_vertices)
-
template<typename vertex_t>
std::tuple<rmm::device_uvector<vertex_t>, std::vector<cugraph::arithmetic_device_uvector_t>> shuffle_local_edge_srcs( - raft::handle_t const &handle,
- rmm::device_uvector<vertex_t> &&edge_srcs,
- std::vector<cugraph::arithmetic_device_uvector_t> &&edge_src_properties,
- raft::host_span<vertex_t const> vertex_partition_range_lasts,
- bool store_transposed
Shuffle local edge source & value pairs (already placed by edge partitioning) 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.
edge_srcs – Vector of local edge source IDs
edge_src_properties – Vector of local edge source properties, each element is an arithmetic device vector
vertex_partition_range_lasts – Span of vertex partition range lasts (size = number of GPUs)
store_transposed – Should be true if shuffled edges will be used with a cugraph::graph_t object with store_tranposed = true. Should be false otherwise.
- Returns:
Tuple of vectors storing shuffled edge source vertex IDs and values (shuffled by vertex partitioning).
-
template<typename vertex_t>
std::tuple<rmm::device_uvector<vertex_t>, std::vector<cugraph::arithmetic_device_uvector_t>> shuffle_local_edge_dsts( - raft::handle_t const &handle,
- rmm::device_uvector<vertex_t> &&edge_dsts,
- std::vector<cugraph::arithmetic_device_uvector_t> &&edge_dst_properties,
- raft::host_span<vertex_t const> vertex_partition_range_lasts,
- bool store_transposed
Shuffle local edge destination & value pairs (already placed by edge partitioning) 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.
edge_dsts – Vector of local edge destination IDs
edge_dst_properties – Vector of local edge destination properties, each element is an arithmetic device vector
vertex_partition_range_lasts – Span of vertex partition range lasts (size = number of GPUs)
store_transposed – Should be true if shuffled edges will be used with a cugraph::graph_t object with store_tranposed = true. Should be false otherwise.
- Returns:
Tuple of vectors storing shuffled edge destination vertex IDs and values (shuffled by vertex partitioning).
- template std::tuple< rmm::device_uvector< int32_t >, std::vector< cugraph::arithmetic_device_uvector_t > > shuffle_local_edge_srcs (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edge_srcs, std::vector< cugraph::arithmetic_device_uvector_t > &&edge_src_properties, raft::host_span< int32_t const > vertex_partition_range_lasts, bool store_transposed)
- template std::tuple< rmm::device_uvector< int32_t >, std::vector< cugraph::arithmetic_device_uvector_t > > shuffle_local_edge_dsts (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edge_dsts, std::vector< cugraph::arithmetic_device_uvector_t > &&edge_dst_properties, raft::host_span< int32_t const > vertex_partition_range_lasts, bool store_transposed)
- template std::tuple< rmm::device_uvector< int64_t >, std::vector< cugraph::arithmetic_device_uvector_t > > shuffle_local_edge_srcs (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edge_srcs, std::vector< cugraph::arithmetic_device_uvector_t > &&edge_src_properties, raft::host_span< int64_t const > vertex_partition_range_lasts, bool store_transposed)
- template std::tuple< rmm::device_uvector< int64_t >, std::vector< cugraph::arithmetic_device_uvector_t > > shuffle_local_edge_dsts (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edge_dsts, std::vector< cugraph::arithmetic_device_uvector_t > &&edge_dst_properties, raft::host_span< int64_t const > vertex_partition_range_lasts, bool store_transposed)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::vector< cugraph::arithmetic_device_uvector_t > > shuffle_ext_edges (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&edge_srcs, rmm::device_uvector< int32_t > &&edge_dsts, std::vector< cugraph::arithmetic_device_uvector_t > &&edge_properties, bool store_transposed, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::vector< cugraph::arithmetic_device_uvector_t > > shuffle_int_edges (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&majors, rmm::device_uvector< int32_t > &&minors, std::vector< cugraph::arithmetic_device_uvector_t > &&edge_properties, bool store_transposed, raft::host_span< int32_t const > vertex_partition_range_lasts, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::vector< cugraph::arithmetic_device_uvector_t > > shuffle_ext_edges (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&edge_srcs, rmm::device_uvector< int64_t > &&edge_dsts, std::vector< cugraph::arithmetic_device_uvector_t > &&edge_properties, bool store_transposed, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::vector< cugraph::arithmetic_device_uvector_t > > shuffle_int_edges (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&majors, rmm::device_uvector< int64_t > &&minors, std::vector< cugraph::arithmetic_device_uvector_t > &&edge_properties, bool store_transposed, raft::host_span< int64_t const > vertex_partition_range_lasts, std::optional< large_buffer_type_t > large_buffer_type)
-
template<typename vertex_t>
std::tuple<rmm::device_uvector<vertex_t>, std::vector<arithmetic_device_uvector_t>> shuffle_ext_vertices( - raft::handle_t const &handle,
- rmm::device_uvector<vertex_t> &&vertices,
- std::vector<arithmetic_device_uvector_t> &&vertex_properties,
- std::optional<large_buffer_type_t> large_buffer_type
-
template<typename vertex_t>
std::tuple<rmm::device_uvector<vertex_t>, std::vector<arithmetic_device_uvector_t>> shuffle_int_vertices( - raft::handle_t const &handle,
- rmm::device_uvector<vertex_t> &&vertices,
- std::vector<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
- template std::tuple< rmm::device_uvector< int32_t >, std::vector< arithmetic_device_uvector_t > > shuffle_ext_vertices (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&vertices, std::vector< arithmetic_device_uvector_t > &&vertex_properties, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< rmm::device_uvector< int32_t >, std::vector< arithmetic_device_uvector_t > > shuffle_int_vertices (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&vertices, std::vector< arithmetic_device_uvector_t > &&vertex_properties, raft::host_span< int32_t const > vertex_partition_range_last, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< rmm::device_uvector< int64_t >, std::vector< arithmetic_device_uvector_t > > shuffle_ext_vertices (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&vertices, std::vector< arithmetic_device_uvector_t > &&vertex_properties, std::optional< large_buffer_type_t > large_buffer_type)
- template std::tuple< rmm::device_uvector< int64_t >, std::vector< arithmetic_device_uvector_t > > shuffle_int_vertices (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&vertices, std::vector< arithmetic_device_uvector_t > &&vertex_properties, raft::host_span< int64_t const > vertex_partition_range_last, std::optional< large_buffer_type_t > large_buffer_type)
-
template<typename vertex_t, typename edge_t, bool store_transposed, bool multi_gpu>
size_t count_invalid_vertices( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, store_transposed, multi_gpu> const &graph_view,
- raft::device_span<vertex_t const> vertices
- template size_t count_invalid_vertices (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, raft::device_span< int32_t const > vertices)
- template size_t count_invalid_vertices (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, true > const &graph_view, raft::device_span< int32_t const > vertices)
- template size_t count_invalid_vertices (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, raft::device_span< int64_t const > vertices)
- template size_t count_invalid_vertices (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, true > const &graph_view, raft::device_span< int64_t const > vertices)
- template size_t count_invalid_vertices (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, raft::device_span< int32_t const > vertices)
- template size_t count_invalid_vertices (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, true, false > const &graph_view, raft::device_span< int32_t const > vertices)
- template size_t count_invalid_vertices (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, raft::device_span< int64_t const > vertices)
- template size_t count_invalid_vertices (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, true, false > const &graph_view, raft::device_span< int64_t const > vertices)
-
template<typename dispatched_type_t, typename func_t>
auto variant_type_dispatch( - dispatched_type_t &property,
- func_t func
- inline arithmetic_device_span_t make_arithmetic_device_span( )#
- inline std::vector<arithmetic_device_span_t> make_arithmetic_device_span_vector(
- std::vector<arithmetic_device_uvector_t> &v
- inline const_arithmetic_device_span_t make_const_arithmetic_device_span( )#
- inline std::vector<const_arithmetic_device_span_t> make_const_arithmetic_device_span_vector(
- std::vector<arithmetic_device_uvector_t> &v
-
template<typename edge_t, typename ...Iters, typename ...Types>
auto view_concat( - edge_property_view_t<edge_t, Iters, Types> const&... views
-
template<typename vertex_t, typename T, typename GraphViewType>
detail::edge_endpoint_property_view_t<vertex_t, typename edge_src_property_t<vertex_t, T>::const_value_iterator, T> make_edge_src_property_view( - GraphViewType const &graph_view,
- typename edge_src_property_t<vertex_t, T>::const_value_iterator value_first,
- size_t num_values
-
template<typename vertex_t, typename T, typename GraphViewType>
detail::edge_endpoint_property_view_t<vertex_t, typename edge_src_property_t<vertex_t, T>::value_iterator, T> make_edge_src_property_mutable_view( - GraphViewType const &graph_view,
- typename edge_src_property_t<vertex_t, T>::value_iterator value_first,
- size_t num_values
-
template<typename vertex_t, typename T, typename GraphViewType>
detail::edge_endpoint_property_view_t<vertex_t, typename edge_dst_property_t<vertex_t, T>::const_value_iterator, T> make_edge_dst_property_view( - GraphViewType const &graph_view,
- typename edge_dst_property_t<vertex_t, T>::const_value_iterator value_first,
- size_t num_values
-
template<typename vertex_t, typename T, typename GraphViewType>
detail::edge_endpoint_property_view_t<vertex_t, typename edge_dst_property_t<vertex_t, T>::value_iterator, T> make_edge_dst_property_mutable_view( - GraphViewType const &graph_view,
- typename edge_dst_property_t<vertex_t, T>::value_iterator value_first,
- size_t num_values
-
template<typename vertex_t, typename ...Iters, typename ...Types>
auto view_concat( - detail::edge_endpoint_property_view_t<vertex_t, Iters, Types> const&... views
- template<typename vertex_t> __host__ __device__ std::enable_if_t< std::is_signed< vertex_t >::value, bool > is_valid_vertex (vertex_t num_vertices, vertex_t v)
- template<typename vertex_t> __host__ __device__ std::enable_if_t< std::is_unsigned< vertex_t >::value, bool > is_valid_vertex (vertex_t num_vertices, vertex_t v)
-
template<typename GraphViewType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp>
GraphViewType::edge_type count_if_e( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeOp e_op,
- bool do_expensive_check = false
Count the number of edges that satisfies the given predicate.
This function is inspired by thrust::count_if().
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
EdgeValueInputWrapper – Type of the wrapper for edge property values.
EdgeOp – Type of the quinary edge operator.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
e_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). Use either cugraph::edge_dst_property_t::view() (if
e_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes edge source, edge destination, property values for the source, destination, and edge and returns true if this edge should be included in the returned count.
do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
GraphViewType::edge_type Number of times
e_opreturned true.
-
template<typename GraphViewType, typename VertexValueInputIterator, typename VertexOp>
GraphViewType::vertex_type count_if_v( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- VertexValueInputIterator vertex_value_input_first,
- VertexOp v_op,
- bool do_expensive_check = false
Count the number of vertices that satisfies the given predicate.
This version iterates over the entire set of graph vertices. This function is inspired by thrust::count_if().
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
VertexValueInputIterator – Type of the iterator for vertex property values.
VertexOp – Type of the unary predicate operator.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
vertex_value_input_first – Iterator pointing to the vertex property values for the first (inclusive) vertex (assigned to this process in multi-GPU).
vertex_value_input_last(exclusive) is deduced asvertex_value_input_first+graph_view.local_vertex_partition_range_size().v_op – Binary operator takes vertex ID and *(
vertex_value_input_first+ i) (where i is [0,graph_view.local_vertex_partition_range_size())) and returns true if this vertex should be included in the returned count.do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
GraphViewType::vertex_type Number of times
v_opreturned true.
-
template<typename GraphViewType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp>
dataframe_buffer_type_t<typename detail::edge_op_result_type<GraphViewType, typename GraphViewType::vertex_type, EdgeSrcValueInputWrapper, EdgeDstValueInputWrapper, EdgeValueInputWrapper, EdgeOp>::type> extract_transform_e( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeOp e_op,
- bool do_expensive_check = false
Iterate over the entire set of edges and extract all edge functor outputs.
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
EdgeValueInputWrapper – Type of the wrapper for edge property values.
EdgeOp – Type of the quinary edge operator.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
e_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). Use either cugraph::edge_dst_property_t::view() (if
e_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes edge source, edge destination, property values for the source, property values for the destination, and property values for the edge and returns cuda::std::nullopt (if the return value is to be discarded) or a valid
e_opoutput to be extracted and accumulated.do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
Dataframe buffer object storing extracted and accumulated valid
e_opreturn values.
-
template<typename GraphViewType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp, typename PredOp>
dataframe_buffer_type_t<typename detail::edge_op_result_type<GraphViewType, typename GraphViewType::vertex_type, EdgeSrcValueInputWrapper, EdgeDstValueInputWrapper, EdgeValueInputWrapper, EdgeOp>::type> extract_transform_if_e( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeOp e_op,
- PredOp pred_op,
- bool do_expensive_check = false
Iterate over the entire set of edges and extract the valid edge functor outputs.
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
EdgeValueInputWrapper – Type of the wrapper for edge property values.
EdgeOp – Type of the quinary edge operator.
PredOp – Type of the quinary predicate operator.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
e_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). Use either cugraph::edge_dst_property_t::view() (if
e_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes edge source, edge destination, property values for the source, property values for the destination, and property values for the edge and returns an output value to be extracted and accumulated.
pred_op – Quinary predicate operator takes edge source, edge destination, property values for the source, property values for the destination, and property values for the edge and returns true if the edge should be processed.
do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
Dataframe buffer object storing extracted and accumulated valid
e_opreturn values.
-
template<typename GraphViewType, typename KeyBucketType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp, typename PredOp>
dataframe_buffer_type_t<typename detail::edge_op_result_type<GraphViewType, typename KeyBucketType::key_type, EdgeSrcValueInputWrapper, EdgeDstValueInputWrapper, EdgeValueInputWrapper, EdgeOp>::type> extract_transform_if_v_frontier_incoming_e( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- KeyBucketType const &frontier,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeOp e_op,
- PredOp pred_op,
- bool do_expensive_check = false
Iterate over incoming edges to the current vertex frontier and extract the valid edge functor outputs.
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
KeyBucketType – Type of the vertex frontier bucket class which abstracts current (tagged-)vertex frontier.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
EdgeValueInputWrapper – Type of the wrapper for edge property values.
EdgeOp – Type of the quinary edge operator.
PredOp – Type of the quinary predicate operator.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
frontier – KeyBucketTyep class object for the current vertex frontier.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
e_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). Use either cugraph::edge_dst_property_t::view() (if
e_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes edge (tagged-)source, edge destination, property values for the source, property values for the destination, and property values for the edge and returns a value to be extracted and accumulated.
pred_op – Quinary predicate operator takes edge (tagged-)source, edge destination, property values for the source, property values for the destination, and property values for the edge and returns a boolean value to determine if the edge should be processed.
do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
Dataframe buffer object storing extracted and accumulated valid
e_opreturn values.
-
template<typename GraphViewType, typename KeyBucketType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp, typename PredOp>
dataframe_buffer_type_t<typename detail::edge_op_result_type<GraphViewType, typename KeyBucketType::key_type, EdgeSrcValueInputWrapper, EdgeDstValueInputWrapper, EdgeValueInputWrapper, EdgeOp>::type> extract_transform_if_v_frontier_outgoing_e( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- KeyBucketType const &frontier,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeOp e_op,
- PredOp pred_op,
- bool do_expensive_check = false
Iterate over outgoing_edges from the current vertex frontier and extract the valid edge functor outputs.
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
KeyBucketType – Type of the vertex frontier bucket class which abstracts current (tagged-)vertex frontier.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
EdgeValueInputWrapper – Type of the wrapper for edge property values.
EdgeOp – Type of the quinary edge operator.
PredOp – Type of the quinary predicate operator.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
frontier – KeyBucketTyep class object for the current vertex frontier.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
e_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). Use either cugraph::edge_dst_property_t::view() (if
e_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes edge (tagged-)source, edge destination, property values for the source, property values for the destination, and property values for the edge and returns a value to be extracted and accumulated.
pred_op – Quinary predicate operator takes edge (tagged-)source, edge destination, property values for the source, property values for the destination, and property values for the edge and returns a boolean value to determine if the edge should be processed.
do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
Dataframe buffer object storing extracted and accumulated valid
e_opreturn values.
-
template<typename GraphViewType, typename KeyBucketType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp>
dataframe_buffer_type_t<typename detail::edge_op_result_type<GraphViewType, typename KeyBucketType::key_type, EdgeSrcValueInputWrapper, EdgeDstValueInputWrapper, EdgeValueInputWrapper, EdgeOp>::type> extract_transform_v_frontier_incoming_e( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- KeyBucketType const &frontier,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeOp e_op,
- bool do_expensive_check = false
Iterate over incoming_edges to the current vertex frontier and extract all edge functor outputs.
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
KeyBucketType – Type of the vertex frontier bucket class which abstracts current (tagged-)vertex frontier.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
EdgeValueInputWrapper – Type of the wrapper for edge property values.
EdgeOp – Type of the quinary edge operator.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
frontier – KeyBucketTyep class object for the current vertex frontier.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
e_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). Use either cugraph::edge_dst_property_t::view() (if
e_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes edge (tagged-)source, edge destination, property values for the source, property values for the destination, and property values for the edge and returns a value to be extracted and accumulated.
do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
Dataframe buffer object storing extracted and accumulated valid
e_opreturn values.
-
template<typename GraphViewType, typename KeyBucketType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp>
dataframe_buffer_type_t<typename detail::edge_op_result_type<GraphViewType, typename KeyBucketType::key_type, EdgeSrcValueInputWrapper, EdgeDstValueInputWrapper, EdgeValueInputWrapper, EdgeOp>::type> extract_transform_v_frontier_outgoing_e( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- KeyBucketType const &frontier,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeOp e_op,
- bool do_expensive_check = false
Iterate over outgoing_edges from the current vertex frontier and extract all edge functor outputs.
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
KeyBucketType – Type of the vertex frontier bucket class which abstracts current (tagged-)vertex frontier.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
EdgeValueInputWrapper – Type of the wrapper for edge property values.
EdgeOp – Type of the quinary edge operator.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
frontier – KeyBucketTyep class object for the current vertex frontier.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
e_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). Use either cugraph::edge_dst_property_t::view() (if
e_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes edge (tagged-)source, edge destination, property values for the source, property values for the destination, and property values for the edge and returns a value to be extracted and accumulated.
do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
Dataframe buffer object storing extracted and accumulated valid
e_opreturn values.
-
template<typename GraphViewType, typename EdgeValueOutputWrapper, typename T>
void fill_edge_property( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- EdgeValueOutputWrapper edge_property_output,
- T input,
- bool do_expensive_check = false
Fill graph edge property values to the input value.
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
EdgeValueOutputWrapper – Type of the wrapper for output edge property values.
T – Type of the edge property values.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
edge_property_output – edge_property_view_t class object to store edge property values (for the edges assigned to this process in multi-GPU).
input – Edge property values will be set to
input.do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
-
template<typename GraphViewType, typename EdgeSrcValueOutputWrapper, typename T>
void fill_edge_src_property( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- EdgeSrcValueOutputWrapper edge_src_property_output,
- T input,
- bool do_expensive_check = false
Fill graph edge source property values to the input value.
This version fills graph edge source property values for the entire edge source ranges (assigned to this process in multi-GPU).
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
EdgeSrcValueOutputWrapper – Type of the wrapper for output edge source property values.
T – Type of the edge source property values.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
edge_src_property_output – edge_src_property_view_t class object to store source property values (for the edge source assigned to this process in multi-GPU).
input – Edge source property values will be set to
input.do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
-
template<typename GraphViewType, typename VertexIterator, typename EdgeSrcValueOutputWrapper, typename T>
void fill_edge_src_property( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- VertexIterator sorted_unique_vertex_first,
- VertexIterator sorted_unique_vertex_last,
- EdgeSrcValueOutputWrapper edge_src_property_output,
- T input,
- bool do_expensive_check = false
Fill graph edge source property values to the input value.
This version fills only a subset of graph edge source property values. [
sorted_unique_vertex_first,sorted_unique_vertex_last) specifies the vertices to be filled.- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
VertexIterator – Type of the iterator for vertex identifiers.
EdgeSrcValueOutputWrapper – Type of the wrapper for output edge source property values.
T – Type of the edge source property values.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
sorted_unique_vertex_first – Iterator pointing to the first (inclusive) vertex with a value to be filled. v in [vertex_first, sorted_unique_vertex_last) should be sorted & distinct (and should belong to the vertex partition assigned to this process in multi-GPU), otherwise undefined behavior.
sorted_unique_vertex_last – Iterator pointing to the last (exclusive) vertex with a value to be filled.
edge_src_property_output – edge_src_property_view_t class object to store source property values (for the edge source assigned to this process in multi-GPU).
input – Edge source property values will be set to
input.do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
-
template<typename GraphViewType, typename EdgeDstValueOutputWrapper, typename T>
void fill_edge_dst_property( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- EdgeDstValueOutputWrapper edge_dst_property_output,
- T input,
- bool do_expensive_check = false
Fill graph edge destination property values to the input value.
This version fills graph edge destination property values for the entire edge destination ranges (assigned to this process in multi-GPU).
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
EdgeDstValueOutputWrapper – Type of the wrapper for output edge destination property values.
T – Type of the edge destination property values.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
edge_dst_property_output – edge_dst_property_view_t class object to store destination property values (for the edge destinations assigned to this process in multi-GPU).
input – Edge destination property values will be set to
input.do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
-
template<typename GraphViewType, typename VertexIterator, typename EdgeDstValueOutputWrapper, typename T>
void fill_edge_dst_property( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- VertexIterator sorted_unique_vertex_first,
- VertexIterator sorted_unique_vertex_last,
- EdgeDstValueOutputWrapper edge_dst_property_output,
- T input,
- bool do_expensive_check = false
Fill graph edge destination property values to the input value.
This version fills only a subset of graph edge destination property values. [
sorted_unique_vertex_first,sorted_unique_vertex_last) specifies the vertices to be filled.- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
VertexIterator – Type of the iterator for vertex identifiers.
EdgeDstValueOutputWrapper – Type of the wrapper for output edge destination property values.
T – Type of the edge destination property values.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
sorted_unique_vertex_first – Iterator pointing to the first (inclusive) vertex with a value to be filled. v in [sorted_unique_vertex_first, sorted_unique_vertex_last) should be sorted & distinct (and should belong to the vertex partition assigned to this process in multi-GPU), otherwise undefined behavior.
sorted_unique_vertex_last – Iterator pointing to the last (exclusive) vertex with a value to be filled.
edge_dst_property_output – edge_dst_property_view_t class object to store destination property values (for the edge destinations assigned to this process in multi-GPU).
input – Edge destination property values will be set to
input.do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
-
template<typename GraphViewType, typename T>
edge_property_t<typename GraphViewType::edge_type, T> make_initialized_edge_property( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- T input,
- bool do_expensive_check = false
Create an edge property and fill the entire buffer with the given value.
Create an edge property object for
graph_viewand initialize the edge property values toinput. Note that the entire edge buffer is initialized to the providedinput(ignoring the edge mask ifgraph_viewhas an attached edge mask); this contrasts with the fill_edge_property function which only fills the edge values for un-masked edges ifgraph_viewhas an attached edge mask.- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
T – Type of the edge property values.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
input – Edge property values will be set to
input.do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
edge_property_t<typename GraphViewType::edge_type, T> with all entries set to
input.
-
template<typename GraphViewType, typename T>
edge_src_property_t<typename GraphViewType::vertex_type, T> make_initialized_edge_src_property( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- T input,
- bool do_expensive_check = false
Create an edge source property and fill the entire buffer with the given value.
Create an edge source property object for
graph_viewand initialize the edge source property values toinput.- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
T – Type of the edge source property values.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
input – Edge source property values will be set to
input.do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
edge_src_property_t<typename GraphViewType::vertex_type, T> with all entries set to
input.
-
template<typename GraphViewType, typename T>
edge_dst_property_t<typename GraphViewType::vertex_type, T> make_initialized_edge_dst_property( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- T input,
- bool do_expensive_check = false
Create an edge destination property and fill the entire buffer with the given value.
Create an edge destination property object for
graph_viewand initialize the edge destination property values toinput.- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
T – Type of the edge destination property values.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
input – Edge destination property values will be set to
input.do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
edge_dst_property_t<typename GraphViewType::vertex_type, T> with all entries set to
input.
-
template<typename GraphViewType, typename VertexPairIterator>
std::tuple<rmm::device_uvector<size_t>, rmm::device_uvector<typename GraphViewType::vertex_type>> per_v_pair_src_nbr_intersection( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- VertexPairIterator vertex_pair_first,
- VertexPairIterator vertex_pair_last,
- bool do_expensive_check = false
Iterate over each input vertex pair and returns the common source neighbor list pair in a CSC-like format.
Iterate over every vertex pair; intersect source neighbor lists of the two vertices in the pair and store the result in a CSC-like format
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
VertexPairIterator – Type of the iterator for input vertex pairs.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
vertex_pair_first – Iterator pointing to the first (inclusive) input vertex pair.
vertex_pair_last – Iterator pointing to the last (exclusive) input vertex pair.
do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
std::tuple Tuple of intersection offsets and indices.
-
template<typename GraphViewType, typename VertexPairIterator>
std::tuple<rmm::device_uvector<size_t>, rmm::device_uvector<typename GraphViewType::vertex_type>> per_v_pair_dst_nbr_intersection( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- VertexPairIterator vertex_pair_first,
- VertexPairIterator vertex_pair_last,
- bool do_expensive_check = false
Iterate over each input vertex pair and returns the common destination neighbor list pair in a CSR-like format.
Iterate over every vertex pair; intersect destination neighbor lists of the two vertices in the pair and store the result in a CSR-like format
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
VertexPairIterator – Type of the iterator for input vertex pairs.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
vertex_pair_first – Iterator pointing to the first (inclusive) input vertex pair.
vertex_pair_last – Iterator pointing to the last (exclusive) input vertex pair.
do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
std::tuple Tuple of intersection offsets and indices.
-
template<typename GraphViewType, typename VertexPairIterator, typename VertexValueInputIterator, typename EdgeValueInputWrapper, typename IntersectionOp, typename VertexPairValueOutputIterator>
void per_v_pair_transform_src_nbr_intersection( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- EdgeValueInputWrapper edge_value_input,
- VertexPairIterator vertex_pair_first,
- VertexPairIterator vertex_pair_last,
- VertexValueInputIterator vertex_value_input_first,
- IntersectionOp intersection_op,
- VertexPairValueOutputIterator vertex_pair_value_output_first,
- bool do_expensive_check = false
Iterate over each input vertex pair and apply a functor to the common source neighbor list of the pair.
Iterate over every vertex pair; intersect source neighbor lists of the two vertices in the pair; invoke a user-provided functor, and store the functor output.
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
VertexPairIterator – Type of the iterator for input vertex pairs.
VertexValueInputIterator – Type of the iterator for vertex property values.
EdgeValueInputIterator – Type of the iterator for edge property values.
IntersectionOp – Type of the quinary per intersection operator.
VertexPairValueOutputIterator – Type of the iterator for vertex pair output property variables.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).vertex_pair_first – Iterator pointing to the first (inclusive) input vertex pair.
vertex_pair_last – Iterator pointing to the last (exclusive) input vertex pair.
vertex_value_input_first – Iterator pointing to the vertex property value for the first (inclusive) vertex (of the vertex partition assigned to this process in multi-GPU).
vertex_value_input_last(exclusive) is deduced asvertex_value_input_first+graph_view.local_vertex_partition_range_size().intersection_op – quinary operator takes first vertex of the pair, second vertex of the pair, property values for the first vertex, property values for the second vertex, and a list of vertices in the intersection of the first & second vertices’ source neighbors and returns an output value for the input pair.
vertex_pair_value_output_first – Iterator pointing to the vertex pair property variables for the first vertex pair (inclusive).
vertex_pair_value_output_last(exclusive) is deduced asvertex_pair_value_output_first+cuda::std::distance(vertex_pair_first, vertex_pair_last).do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
-
template<typename GraphViewType, typename VertexPairIterator, typename VertexValueInputIterator, typename EdgeValueInputWrapper, typename IntersectionOp, typename VertexPairValueOutputIterator>
void per_v_pair_transform_dst_nbr_intersection( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- EdgeValueInputWrapper edge_value_input,
- VertexPairIterator vertex_pair_first,
- VertexPairIterator vertex_pair_last,
- VertexValueInputIterator vertex_value_input_first,
- IntersectionOp intersection_op,
- VertexPairValueOutputIterator vertex_pair_value_output_first,
- bool do_expensive_check = false
Iterate over each input vertex pair and apply a functor to the common destination neighbor list of the pair.
Iterate over every vertex pair; intersect destination neighbor lists of the two vertices in the pair; invoke a user-provided functor, and store the functor output.
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
VertexPairIterator – Type of the iterator for input vertex pairs.
VertexValueInputIterator – Type of the iterator for vertex property values.
EdgeValueInputIterator – Type of the iterator for edge property values.
IntersectionOp – Type of the quinary per intersection operator.
VertexPairValueOutputIterator – Type of the iterator for vertex pair output property variables.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).vertex_pair_first – Iterator pointing to the first (inclusive) input vertex pair.
vertex_pair_last – Iterator pointing to the last (exclusive) input vertex pair.
vertex_value_input_first – Iterator pointing to the vertex property value for the first (inclusive) vertex (of the vertex partition assigned to this process in multi-GPU).
vertex_value_input_last(exclusive) is deduced asvertex_value_input_first+graph_view.local_vertex_partition_range_size().intersection_op – quinary operator takes first vertex of the pair, second vertex of the pair, property values for the first vertex, property values for the second vertex, and a list of vertices in the intersection of the first & second vertices’ destination neighbors and returns an output value for the input pair.
vertex_pair_value_output_first – Iterator pointing to the vertex pair property variables for the first vertex pair (inclusive).
vertex_pair_value_output_last(exclusive) is deduced asvertex_pair_value_output_first+cuda::std::distance(vertex_pair_first, vertex_pair_last).do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
-
template<typename GraphViewType, typename KeyBucketType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp, typename T>
std::tuple<std::optional<rmm::device_uvector<size_t>>, dataframe_buffer_type_t<T>> per_v_random_select_transform_outgoing_e( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- KeyBucketType const &key_list,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeOp e_op,
- raft::random::RngState &rng_state,
- size_t K,
- bool with_replacement,
- std::optional<T> invalid_value,
- bool do_expensive_check = false
Randomly select and transform the input (tagged-)vertices’ outgoing edges.
This function assumes that every outgoing edge of a given vertex has the same odd to be selected (uniform neighbor sampling).
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
KeyBucketType – Type of the key bucket class which abstracts the current (tagged-)vertex list.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
EdgeValueInputWrapper – Type of the wrapper for edge property values.
EdgeOp – Type of the quinary edge operator.
T – Type of the selected and transformed edge output values.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
key_list – KeyBucketType class object to store the (tagged-)vertex list to sample outgoing edges.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
e_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). Use either cugraph::edge_dst_property_t::view() (if
e_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes (tagged-)edge source, edge destination, property values for the source, destination, and edge and returns a value to be collected in the output. This function is called only for the selected edges.
K – Number of outgoing edges to select per (tagged-)vertex.
with_replacement – A flag to specify whether a single outgoing edge can be selected multiple times (if
with_replacement= true) or can be selected only once (ifwith_replacement= false).invalid_value – If
invalid_value.has_value()is true, this value is used to fill the output vector for the zero out-degree vertices (ifwith_replacement= true) or the vertices with their out-degrees smaller thanK(ifwith_replacement= false). Ifinvalid_value.has_value()is false, fewer thanKvalues can be returned for the vertices with fewer thanKselected edges. See the return value section for additional details.do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
std::tuple Tuple of an optional offset vector of type std::optional<rmm::device_uvector<size_t>> and a dataframe buffer storing the output values of type
Tfrom the selected edges. Ifinvalid_valueis std::nullopt, the offset vector is valid and has the size ofkey_list.size()+ 1. Ifinvalid_value.has_value()is true, std::nullopt is returned (the dataframe buffer will storekey_list.size()*Kelements). Ifinvalid_value.has_value()is true,Kvalues are returned for each key inkey_list. Among the K_sum values, valid values proceed the invalid values; ordering of the valid values can be arbitrary.
-
template<typename GraphViewType, typename KeyBucketType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp, typename EdgeTypeInputWrapper, typename T>
std::tuple<std::optional<rmm::device_uvector<size_t>>, dataframe_buffer_type_t<T>> per_v_random_select_transform_outgoing_e( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- KeyBucketType const &key_list,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeOp e_op,
- EdgeTypeInputWrapper edge_type_input,
- raft::random::RngState &rng_state,
- raft::host_span<size_t const> Ks,
- bool with_replacement,
- std::optional<T> invalid_value,
- bool do_expensive_check = false
Randomly select (per edge type) and transform the input (tagged-)vertices’ outgoing edges.
This function assumes that every outgoing edge of a given vertex has the same odd to be selected (uniform neighbor sampling).
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
KeyBucketType – Type of the key bucket class which abstracts the current (tagged-)vertex list.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
EdgeValueInputWrapper – Type of the wrapper for edge property values.
EdgeOp – Type of the quinary edge operator.
EdgeTypeInputWrapper – Type of the wrapper for edge type values.
T – Type of the selected and transformed edge output values.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
key_list – KeyBucketType class object to store the (tagged-)vertex list to sample outgoing edges.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
e_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). Use either cugraph::edge_dst_property_t::view() (if
e_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes (tagged-)edge source, edge destination, property values for the source, destination, and edge and returns a value to be collected in the output. This function is called only for the selected edges.
edge_type_input – Wrapper used to access edge type value (for the edges assigned to this process in multi-GPU). This parameter is used in per-type (heterogeneous) sampling. Use cugraph::edge_property_t::view().
Ks – Number of outgoing edges to select per (tagged-)vertex for each edge type (size = # edge types).
with_replacement – A flag to specify whether a single outgoing edge can be selected multiple times (if
with_replacement= true) or can be selected only once (ifwith_replacement= false).invalid_value – If
invalid_value.has_value()is true, this value is used to fill the output vector for the zero out-degree vertices (ifwith_replacement= true) or the vertices with their out-degrees smaller thanK(ifwith_replacement= false). Ifinvalid_value.has_value()is false, fewer thanKvalues can be returned for the vertices with fewer thanKselected edges. See the return value section for additional details.do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
std::tuple Tuple of an optional offset vector of type std::optional<rmm::device_uvector<size_t>> and a dataframe buffer storing the output values of type
Tfrom the selected edges. Ifinvalid_valueis std::nullopt, the offset vector is valid and has the size ofkey_list.size()+ 1. Ifinvalid_value.has_value()is true, std::nullopt is returned (the dataframe buffer will storekey_list.size()*Kelements). Ifinvalid_value.has_value()is true, K_sum = std::reduce(Ks.begin(),Ks.end()) values are returned for each key inkey_list. Among the K_sum values, valid values proceed the invalid values; ordering of the valid values can be arbitrary.
-
template<typename GraphViewType, typename KeyBucketType, typename BiasEdgeSrcValueInputWrapper, typename BiasEdgeDstValueInputWrapper, typename BiasEdgeValueInputWrapper, typename BiasEdgeOp, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp, typename T>
std::tuple<std::optional<rmm::device_uvector<size_t>>, dataframe_buffer_type_t<T>> per_v_random_select_transform_outgoing_e( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- KeyBucketType const &key_list,
- BiasEdgeSrcValueInputWrapper bias_edge_src_value_input,
- BiasEdgeDstValueInputWrapper bias_edge_dst_value_input,
- BiasEdgeValueInputWrapper bias_edge_value_input,
- BiasEdgeOp bias_e_op,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeOp e_op,
- raft::random::RngState &rng_state,
- size_t K,
- bool with_replacement,
- std::optional<T> invalid_value,
- bool do_expensive_check = false
Randomly select and transform the input (tagged-)vertices’ outgoing edges with biases.
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
KeyBucketType – Type of the key bucket class which abstracts the current (tagged-)vertex list.
BiasEdgeSrcValueInputWrapper – Type of the wrapper for edge source property values (for BiasEdgeOp).
BiasEdgeDstValueInputWrapper – Type of the wrapper for edge destination property values (for BiasEdgeOp).
BiasEdgeValueInputWrapper – Type of the wrapper for edge property values (for BiasEdgeOp).
BiasEdgeOp – Type of the quinary edge operator to set-up selection bias values.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
EdgeValueInputWrapper – Type of the wrapper for edge property values.
EdgeOp – Type of the quinary edge operator.
T – Type of the selected and transformed edge output values.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
key_list – KeyBucketType class object to store the (tagged-)vertex list to sample outgoing edges.
bias_edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). This parameter is used to pass an edge source property value to
bias_e_op. Use either cugraph::edge_src_property_t::view() (ife_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.bias_edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). This parameter is used to pass an edge source property value to
bias_e_op. Use either cugraph::edge_dst_property_t::view() (ife_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.bias_edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). This parameter is used to pass an edge source property value to
bias_e_op. Use either cugraph::edge_property_t::view() (ife_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).bias_e_op – Quinary operator takes (tagged-)edge source, edge destination, property values for the source, destination, and edge and returns a floating point bias value to be used in biased random selection. The return value should be non-negative. The bias value of 0 indicates that the corresponding edge cannot be selected. Assuming that the return value type is bias_t, the sum of the bias values for any seed vertex should not exceed std::numeric_limits<bias_t>::max().
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). This parameter is used to pass an edge source property value to
e_op. Use either cugraph::edge_src_property_t::view() (ife_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). This parameter is used to pass an edge source property value to
e_op. Use either cugraph::edge_dst_property_t::view() (ife_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). This parameter is used to pass an edge source property value to
e_op. Use either cugraph::edge_property_t::view() (ife_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes (tagged-)edge source, edge destination, property values for the source, destination, and edge and returns a value to be collected in the output. This function is called only for the selected edges.
K – Number of outgoing edges to select per (tagged-)vertex.
with_replacement – A flag to specify whether a single outgoing edge can be selected multiple times (if
with_replacement= true) or can be selected only once (ifwith_replacement= false).invalid_value – If
invalid_value.has_value()is true, this value is used to fill the output vector for the zero out-degree vertices (ifwith_replacement= true) or the vertices with their out-degrees smaller thanK(ifwith_replacement= false). Ifinvalid_value.has_value()is false, fewer thanKvalues can be returned for the vertices with fewer thanKselected edges. See the return value section for additional details.do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
std::tuple Tuple of an optional offset vector of type std::optional<rmm::device_uvector<size_t>> and a dataframe buffer storing the output values of type
Tfrom the selected edges. Ifinvalid_valueis std::nullopt, the offset vector is valid and has the size ofkey_list.size()+ 1. Ifinvalid_value.has_value()is true, std::nullopt is returned (the dataframe buffer will storekey_list.size()*Kelements). Ifinvalid_value.has_value()is true,Kvalues are returned for each key inkey_list. Among the K_sum values, valid values proceed the invalid values; ordering of the valid values can be arbitrary.
-
template<typename GraphViewType, typename KeyBucketType, typename BiasEdgeSrcValueInputWrapper, typename BiasEdgeDstValueInputWrapper, typename BiasEdgeValueInputWrapper, typename BiasEdgeOp, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp, typename EdgeTypeInputWrapper, typename T>
std::tuple<std::optional<rmm::device_uvector<size_t>>, dataframe_buffer_type_t<T>> per_v_random_select_transform_outgoing_e( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- KeyBucketType const &key_list,
- BiasEdgeSrcValueInputWrapper bias_edge_src_value_input,
- BiasEdgeDstValueInputWrapper bias_edge_dst_value_input,
- BiasEdgeValueInputWrapper bias_edge_value_input,
- BiasEdgeOp bias_e_op,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeOp e_op,
- EdgeTypeInputWrapper edge_type_input,
- raft::random::RngState &rng_state,
- raft::host_span<size_t const> Ks,
- bool with_replacement,
- std::optional<T> invalid_value,
- bool do_expensive_check = false
Randomly select (per edge type) and transform the input (tagged-)vertices’ outgoing edges with biases.
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
KeyBucketType – Type of the key bucket class which abstracts the current (tagged-)vertex list.
BiasEdgeSrcValueInputWrapper – Type of the wrapper for edge source property values (for BiasEdgeOp).
BiasEdgeDstValueInputWrapper – Type of the wrapper for edge destination property values (for BiasEdgeOp).
BiasEdgeValueInputWrapper – Type of the wrapper for edge property values (for BiasEdgeOp).
BiasEdgeOp – Type of the quinary edge operator to set-up selection bias values.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
EdgeValueInputWrapper – Type of the wrapper for edge property values.
EdgeOp – Type of the quinary edge operator.
EdgeTypeInputWrapper – Type of the wrapper for edge type values.
T – Type of the selected and transformed edge output values.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
key_list – KeyBucketType class object to store the (tagged-)vertex list to sample outgoing edges.
bias_edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). This parameter is used to pass an edge source property value to
bias_e_op. Use either cugraph::edge_src_property_t::view() (ife_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.bias_edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). This parameter is used to pass an edge source property value to
bias_e_op. Use either cugraph::edge_dst_property_t::view() (ife_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.bias_edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). This parameter is used to pass an edge source property value to
bias_e_op. Use either cugraph::edge_property_t::view() (ife_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).bias_e_op – Quinary operator takes (tagged-)edge source, edge destination, property values for the source, destination, and edge and returns a floating point bias value to be used in biased random selection. The return value should be non-negative. The bias value of 0 indicates that the corresponding edge cannot be selected. Assuming that the return value type is bias_t, the sum of the bias values for any seed vertex should not exceed std::numeric_limits<bias_t>::max().
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). This parameter is used to pass an edge source property value to
e_op. Use either cugraph::edge_src_property_t::view() (ife_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). This parameter is used to pass an edge source property value to
e_op. Use either cugraph::edge_dst_property_t::view() (ife_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). This parameter is used to pass an edge source property value to
e_op. Use either cugraph::edge_property_t::view() (ife_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes (tagged-)edge source, edge destination, property values for the source, destination, and edge and returns a value to be collected in the output. This function is called only for the selected edges.
edge_type_input – Wrapper used to access edge type value (for the edges assigned to this process in multi-GPU). This parameter is used in per-type (heterogeneous) sampling. Use cugraph::edge_property_t::view().
Ks – Number of outgoing edges to select per (tagged-)vertex for each edge type (size = # edge types).
with_replacement – A flag to specify whether a single outgoing edge can be selected multiple times (if
with_replacement= true) or can be selected only once (ifwith_replacement= false).invalid_value – If
invalid_value.has_value()is true, this value is used to fill the output vector for the zero out-degree vertices (ifwith_replacement= true) or the vertices with their out-degrees smaller thanK(ifwith_replacement= false). Ifinvalid_value.has_value()is false, fewer thanKvalues can be returned for the vertices with fewer thanKselected edges. See the return value section for additional details.do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
std::tuple Tuple of an optional offset vector of type std::optional<rmm::device_uvector<size_t>> and a dataframe buffer storing the output values of type
Tfrom the selected edges. Ifinvalid_valueis std::nullopt, the offset vector is valid and has the size ofkey_list.size()+ 1. Ifinvalid_value.has_value()is true, std::nullopt is returned (the dataframe buffer will storekey_list.size()*Kelements). Ifinvalid_value.has_value()is true, K_sum = std::reduce(Ks.begin(),Ks.end()) values are returned for each key inkey_list. Among the K_sum values, valid values proceed the invalid values; ordering of the valid values can be arbitrary.
-
template<typename GraphViewType, typename KeyBucketType, typename BiasEdgeSrcValueInputWrapper, typename BiasEdgeDstValueInputWrapper, typename BiasEdgeValueInputWrapper, typename BiasEdgeOp, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp, typename T>
std::tuple<std::optional<rmm::device_uvector<size_t>>, dataframe_buffer_type_t<T>> per_v_top_k_select_transform_outgoing_e( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- KeyBucketType const &key_list,
- BiasEdgeSrcValueInputWrapper bias_edge_src_value_input,
- BiasEdgeDstValueInputWrapper bias_edge_dst_value_input,
- BiasEdgeValueInputWrapper bias_edge_value_input,
- BiasEdgeOp bias_e_op,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeOp e_op,
- size_t K,
- std::optional<T> invalid_value,
- bool do_expensive_check = false
Select the top-K highest bias outgoing edges of the input (tagged-)vertices and transform the selected outgoing edges.
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
KeyBucketType – Type of the key bucket class which abstracts the current (tagged-)vertex list.
BiasEdgeSrcValueInputWrapper – Type of the wrapper for edge source property values (for BiasEdgeOp).
BiasEdgeDstValueInputWrapper – Type of the wrapper for edge destination property values (for BiasEdgeOp).
BiasEdgeValueInputWrapper – Type of the wrapper for edge property values (for BiasEdgeOp).
BiasEdgeOp – Type of the quinary edge operator to set-up selection bias values.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
EdgeValueInputWrapper – Type of the wrapper for edge property values.
EdgeOp – Type of the quinary edge operator.
T – Type of the selected and transformed edge output values.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
key_list – KeyBucketType class object to store the (tagged-)vertex list to sample outgoing edges.
bias_edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). This parameter is used to pass an edge source property value to
bias_e_op. Use either cugraph::edge_src_property_t::view() (ife_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.bias_edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). This parameter is used to pass an edge source property value to
bias_e_op. Use either cugraph::edge_dst_property_t::view() (ife_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.bias_edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). This parameter is used to pass an edge source property value to
bias_e_op. Use either cugraph::edge_property_t::view() (ife_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).bias_e_op – Quinary operator takes (tagged-)edge source, edge destination, property values for the source, destination, and edge and returns a floating point bias value to be used in top-K selection (highest bias values are selected). The return value should be non-negative. The bias value of 0 indicates that the corresponding edge cannot be selected.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). This parameter is used to pass an edge source property value to
e_op. Use either cugraph::edge_src_property_t::view() (ife_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). This parameter is used to pass an edge source property value to
e_op. Use either cugraph::edge_dst_property_t::view() (ife_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). This parameter is used to pass an edge source property value to
e_op. Use either cugraph::edge_property_t::view() (ife_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes (tagged-)edge source, edge destination, property values for the source, destination, and edge and returns a value to be collected in the output. This function is called only for the selected edges.
K – Number of outgoing edges to select per (tagged-)vertex.
invalid_value – If
invalid_value.has_value()is true, this value is used to fill the output vector for the vertices with their out-degrees smaller thanK. Ifinvalid_value.has_value()is false, fewer thanKvalues can be returned for the vertices with fewer thanKselected edges. See the return value section for additional details.do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
std::tuple Tuple of an optional offset vector of type std::optional<rmm::device_uvector<size_t>> and a dataframe buffer storing the output values of type
Tfrom the selected edges. Ifinvalid_valueis std::nullopt, the offset vector is valid and has the size ofkey_list.size()+ 1. Ifinvalid_value.has_value()is true, std::nullopt is returned (the dataframe buffer will storekey_list.size()*Kelements). Ifinvalid_value.has_value()is true,Kvalues are returned for each key inkey_list. Among theKvalues, valid values proceed the invalid values; ordering of the valid values can be arbitrary.
-
template<typename GraphViewType, typename KeyBucketType, typename BiasEdgeSrcValueInputWrapper, typename BiasEdgeDstValueInputWrapper, typename BiasEdgeValueInputWrapper, typename BiasEdgeOp, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp, typename EdgeTypeInputWrapper, typename T>
std::tuple<std::optional<rmm::device_uvector<size_t>>, dataframe_buffer_type_t<T>> per_v_top_k_select_transform_outgoing_e( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- KeyBucketType const &key_list,
- BiasEdgeSrcValueInputWrapper bias_edge_src_value_input,
- BiasEdgeDstValueInputWrapper bias_edge_dst_value_input,
- BiasEdgeValueInputWrapper bias_edge_value_input,
- BiasEdgeOp bias_e_op,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeOp e_op,
- EdgeTypeInputWrapper edge_type_input,
- raft::host_span<size_t const> Ks,
- std::optional<T> invalid_value,
- bool do_expensive_check = false
Select the top-K highest bias outgoing edges of the input (tagged-)vertices (per edge type) and transform the selected outgoing edges.
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
KeyBucketType – Type of the key bucket class which abstracts the current (tagged-)vertex list.
BiasEdgeSrcValueInputWrapper – Type of the wrapper for edge source property values (for BiasEdgeOp).
BiasEdgeDstValueInputWrapper – Type of the wrapper for edge destination property values (for BiasEdgeOp).
BiasEdgeValueInputWrapper – Type of the wrapper for edge property values (for BiasEdgeOp).
BiasEdgeOp – Type of the quinary edge operator to set-up selection bias values.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
EdgeValueInputWrapper – Type of the wrapper for edge property values.
EdgeOp – Type of the quinary edge operator.
EdgeTypeInputWrapper – Type of the wrapper for edge type values.
T – Type of the selected and transformed edge output values.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
key_list – KeyBucketType class object to store the (tagged-)vertex list to sample outgoing edges.
bias_edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). This parameter is used to pass an edge source property value to
bias_e_op. Use either cugraph::edge_src_property_t::view() (ife_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.bias_edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). This parameter is used to pass an edge source property value to
bias_e_op. Use either cugraph::edge_dst_property_t::view() (ife_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.bias_edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). This parameter is used to pass an edge source property value to
bias_e_op. Use either cugraph::edge_property_t::view() (ife_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).bias_e_op – Quinary operator takes (tagged-)edge source, edge destination, property values for the source, destination, and edge and returns a floating point bias value to be used in top-K selection (highest bias values are selected). The return value should be non-negative. The bias value of 0 indicates that the corresponding edge cannot be selected.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). This parameter is used to pass an edge source property value to
e_op. Use either cugraph::edge_src_property_t::view() (ife_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). This parameter is used to pass an edge source property value to
e_op. Use either cugraph::edge_dst_property_t::view() (ife_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). This parameter is used to pass an edge source property value to
e_op. Use either cugraph::edge_property_t::view() (ife_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes (tagged-)edge source, edge destination, property values for the source, destination, and edge and returns a value to be collected in the output. This function is called only for the selected edges.
edge_type_input – Wrapper used to access edge type value (for the edges assigned to this process in multi-GPU). This parameter is used in per-type (heterogeneous) selection. Use cugraph::edge_property_t::view().
Ks – Number of outgoing edges to select per (tagged-)vertex for each edge type (size = # edge types).
invalid_value – If
invalid_value.has_value()is true, this value is used to fill the output vector for the vertices with their out-degrees (per edge type) smaller than the corresponding value inKs. Ifinvalid_value.has_value()is false, fewer than K_sum values can be returned for the vertices with fewer than K_sum selected edges, where K_sum = std::reduce(Ks.begin(),Ks.end()). See the return value section for additional details.do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
std::tuple Tuple of an optional offset vector of type std::optional<rmm::device_uvector<size_t>> and a dataframe buffer storing the output values of type
Tfrom the selected edges. Ifinvalid_valueis std::nullopt, the offset vector is valid and has the size ofkey_list.size()+ 1. Ifinvalid_value.has_value()is true, std::nullopt is returned (the dataframe buffer will storekey_list.size()* K_sum elements), where K_sum = std::reduce(Ks.begin(),Ks.end()). Ifinvalid_value.has_value()is true, K_sum values are returned for each key inkey_list. Among the K_sum values, valid values proceed the invalid values; ordering of the valid values can be arbitrary.
-
template<typename GraphViewType, typename EdgeSrcValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeDstKeyInputWrapper, typename KVStoreViewType, typename KeyAggregatedEdgeOp, typename ReduceOp, typename T, typename VertexValueOutputIterator>
void per_v_transform_reduce_dst_key_aggregated_outgoing_e( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeDstKeyInputWrapper edge_dst_key_input,
- KVStoreViewType kv_store_view,
- KeyAggregatedEdgeOp key_aggregated_e_op,
- T init,
- ReduceOp reduce_op,
- VertexValueOutputIterator vertex_value_output_first,
- bool do_expensive_check = false
Iterate over every vertex’s destination key-aggregated outgoing edges to update vertex property values.
This function is inspired by thrust::transform_reduce(). Unlike per_v_transform_reduce_outgoing_e, this function first aggregates outgoing edges by destination keys to support two level reduction for every vertex.
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeValueInputWrapper – Type of the wrapper for edge property values.
EdgeDstKeyInputWrapper – Type of the wrapper for edge destination key values.
KVStoreViewType – Type of the (key, value) store. Key type should coincide with vertex type.
KeyAggregatedEdgeOp – Type of the quinary key-aggregated edge operator.
ReduceOp – Type of the binary reduction operator.
T – Type of the initial value for per-vertex reduction.
VertexValueOutputIterator – Type of the iterator for vertex output property variables.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
e_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).edge_dst_key_input – Wrapper used to access destination input key values (for the edge destinations assigned to this process in multi-GPU). Use cugraph::edge_dst_property_t::view(). Use update_edge_dst_property to fill the wrapper.
kv_store_view – view object of the (key, value) store (for the keys assigned to this process in multi-GPU).
cugraph::detail::compute_gpu_id_from_ext_vertex_tis used to map keys to processes). (Key, value) pairs may be provided by transform_reduce_e_by_src_key() or transform_reduce_e_by_dst_key().key_aggregated_e_op – Quinary operator takes 1) edge source, 2) key, 3) *(
edge_partition_src_value_input_first+ i), 4) value for the key stored in the input (key, value) pairs provided bymap_unique_key_first,map_unique_key_last, andmap_value_first(aggregated over the entire set of processes in multi-GPU), and 5) aggregated edge value.init – Initial value to be reduced with the reduced value for each vertex.
reduce_op – Binary operator that takes two input arguments and reduce the two values to one. There are pre-defined reduction operators in src/prims/reduce_op.cuh. It is recommended to use the pre-defined reduction operators whenever possible as the current (and future) implementations of graph primitives may check whether
ReduceOpis a known type (or has known member variables) to take a more optimized code path. See the documentation in the reduce_op.cuh file for instructions on writing custom reduction operators.vertex_value_output_first – Iterator pointing to the vertex property variables for the first (inclusive) vertex (assigned to this process in multi-GPU).
vertex_value_output_last(exclusive) is deduced asvertex_value_output_first+graph_view.local_vertex_partition_range_size().do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
-
template<typename GraphViewType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp, typename ReduceOp, typename PredOp, typename T, typename VertexValueOutputIterator>
void per_v_transform_reduce_if_incoming_e( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeOp e_op,
- T init,
- ReduceOp reduce_op,
- PredOp pred_op,
- VertexValueOutputIterator vertex_value_output_first,
- bool do_expensive_check = false
Iterate over every vertex’s incoming edges to update vertex properties.
This function is inspired by thrust::transform_reduce. In addition, this function excludes the edges that return false when the predicate
pred_opis applied.- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
EdgeValueInputWrapper – Type of the wrapper for edge property values.
EdgeOp – Type of the quinary edge operator.
ReduceOp – Type of the binary reduction operator.
PredOp – Type of the quinary predicate operator.
T – Type of the initial value for per-vertex reduction.
VertexValueOutputIterator – Type of the iterator for vertex output property variables.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
e_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). Use either cugraph::edge_dst_property_t::view() (if
e_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes edge source, edge destination, property values for the source, destination, and edge and returns a value to be reduced.
init – Initial value to be added to the reduced
e_opreturn values for each vertex. Ifreduce_opis cugraph::reduce_op::any, init value is never selected except for the (tagged-)vertices with 0 outgoing edges.reduce_op – Binary operator that takes two input arguments and reduce the two values to one. There are pre-defined reduction operators in src/prims/reduce_op.cuh. It is recommended to use the pre-defined reduction operators whenever possible as the current (and future) implementations of graph primitives may check whether
ReduceOpis a known type (or has known member variables) to take a more optimized code path. See the documentation in the reduce_op.cuh file for instructions on writing custom reduction operators.pred_op – Quinary operator takes edge source, edge destination, property values for the source, destination, and edge and returns whether this edge should be included (if true is returned) or excluded.
vertex_value_output_first – Iterator pointing to the vertex property variables for the first (inclusive) vertex (assigned to this process in multi-GPU).
vertex_value_output_last(exclusive) is deduced asvertex_value_output_first+graph_view.local_vertex_partition_range_size().do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
-
template<typename GraphViewType, typename KeyBucketType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp, typename ReduceOp, typename PredOp, typename T, typename VertexValueOutputIterator>
void per_v_transform_reduce_if_incoming_e( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- KeyBucketType const &key_list,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeOp e_op,
- T init,
- ReduceOp reduce_op,
- PredOp pred_op,
- VertexValueOutputIterator vertex_value_output_first,
- bool do_expensive_check = false
For each (tagged-)vertex in the input (tagged-)vertex list, iterate over the incoming edges to update (tagged-)vertex properties.
This function is inspired by thrust::transform_reduce(). In addition, this function excludes the edges that return false when the predicate
pred_opis applied.- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
KeyBucketType – Type of the key bucket class which abstracts the current (tagged-)vertex list.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
EdgeValueInputWrapper – Type of the wrapper for edge property values.
EdgeOp – Type of the quinary edge operator.
ReduceOp – Type of the binary reduction operator.
PredOp – Type of the quinary predicate operator.
T – Type of the initial value for per-vertex reduction.
VertexValueOutputIterator – Type of the iterator for vertex output property variables.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
key_list – KeyBucketType class object to store the (tagged-)vertex list to update (tagged-)vertex properties.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
e_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). Use either cugraph::edge_dst_property_t::view() (if
e_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes edge source, edge destination, property values for the source, destination, and edge and returns a value to be reduced.
init – Initial value to be reduced with the reduced
e_opreturn values for each vertex. Ifreduce_opis cugraph::reduce_op::any, init value is never selected except for the (tagged-)vertices with 0 incoming edges.reduce_op – Binary operator that takes two input arguments and reduce the two values to one. There are pre-defined reduction operators in src/prims/reduce_op.cuh. It is recommended to use the pre-defined reduction operators whenever possible as the current (and future) implementations of graph primitives may check whether
ReduceOpis a known type (or has known member variables) to take a more optimized code path. See the documentation in the reduce_op.cuh file for instructions on writing custom reduction operators.pred_op – Quinary operator takes edge source, edge destination, property values for the source, destination, and edge and returns whether this edge should be included (if true is returned) or excluded.
vertex_value_output_first – Iterator pointing to the (tagged-)vertex property variables for the first (inclusive) (tagged-)vertex in
key_list.vertex_value_output_last(exclusive) is deduced asvertex_value_output_first+key_list.size().do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
-
template<typename GraphViewType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp, typename ReduceOp, typename PredOp, typename T, typename VertexValueOutputIterator>
void per_v_transform_reduce_if_outgoing_e( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeOp e_op,
- T init,
- ReduceOp reduce_op,
- PredOp pred_op,
- VertexValueOutputIterator vertex_value_output_first,
- bool do_expensive_check = false
Iterate over every vertex’s outgoing edges to update vertex properties.
This function is inspired by thrust::transform_reduce(). In addition, this function excludes the edges that return false when the predicate
pred_opis applied.- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
EdgeValueInputWrapper – Type of the wrapper for edge property values.
EdgeOp – Type of the quinary edge operator.
ReduceOp – Type of the binary reduction operator.
PredOp – Type of the quinary predicate operator.
T – Type of the initial value for per-vertex reduction.
VertexValueOutputIterator – Type of the iterator for vertex output property variables.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
e_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). Use either cugraph::edge_dst_property_t::view() (if
e_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes edge source, edge destination, property values for the source, destination, and edge and returns a value to be reduced.
init – Initial value to be added to the reduced
e_opreturn values for each vertex. Ifreduce_opis cugraph::reduce_op::any, init value is never selected except for the (tagged-)vertices with 0 outgoing edges.reduce_op – Binary operator that takes two input arguments and reduce the two values to one. There are pre-defined reduction operators in src/prims/reduce_op.cuh. It is recommended to use the pre-defined reduction operators whenever possible as the current (and future) implementations of graph primitives may check whether
ReduceOpis a known type (or has known member variables) to take a more optimized code path. See the documentation in the reduce_op.cuh file for instructions on writing custom reduction operators.pred_op – Quinary operator takes edge source, edge destination, property values for the source, destination, and edge and returns whether this edge should be included (if true is returned) or excluded.
vertex_value_output_first – Iterator pointing to the vertex property variables for the first (inclusive) vertex (assigned to this process in multi-GPU).
vertex_value_output_last(exclusive) is deduced asvertex_value_output_first+graph_view.local_vertex_partition_range_size().do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
-
template<typename GraphViewType, typename KeyBucketType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp, typename ReduceOp, typename PredOp, typename T, typename VertexValueOutputIterator>
void per_v_transform_reduce_if_outgoing_e( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- KeyBucketType const &key_list,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeOp e_op,
- T init,
- ReduceOp reduce_op,
- PredOp pred_op,
- VertexValueOutputIterator vertex_value_output_first,
- bool do_expensive_check = false
For each (tagged-)vertex in the input (tagged-)vertex list, iterate over the outgoing edges to update (tagged-)vertex properties.
This function is inspired by thrust::transform_reduce(). In addition, this function excludes the edges that return false when the predicate
pred_opis applied.- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
KeyBucketType – Type of the key bucket class which abstracts the current (tagged-)vertex list.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
EdgeValueInputWrapper – Type of the wrapper for edge property values.
EdgeOp – Type of the quinary edge operator.
ReduceOp – Type of the binary reduction operator.
PredOp – Type of the quinary predicate operator.
T – Type of the initial value for per-vertex reduction.
VertexValueOutputIterator – Type of the iterator for vertex output property variables.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
key_list – KeyBucketType class object to store the (tagged-)vertex list to update (tagged-)vertex properties.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
e_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). Use either cugraph::edge_dst_property_t::view() (if
e_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes edge source, edge destination, property values for the source, destination, and edge and returns a value to be reduced.
init – Initial value to be reduced with the reduced
e_opreturn values for each vertex. Ifreduce_opis cugraph::reduce_op::any, init value is never selected except for the (tagged-)vertices with 0 outgoing edges.reduce_op – Binary operator that takes two input arguments and reduce the two values to one. There are pre-defined reduction operators in src/prims/reduce_op.cuh. It is recommended to use the pre-defined reduction operators whenever possible as the current (and future) implementations of graph primitives may check whether
ReduceOpis a known type (or has known member variables) to take a more optimized code path. See the documentation in the reduce_op.cuh file for instructions on writing custom reduction operators.pred_op – Quinary operator takes edge source, edge destination, property values for the source, destination, and edge and returns whether this edge should be included (if true is returned) or excluded.
vertex_value_output_first – Iterator pointing to the (tagged-)vertex property variables for the first (inclusive) (tagged-)vertex in
key_list.vertex_value_output_last(exclusive) is deduced asvertex_value_output_first+key_list.size().do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
-
template<typename GraphViewType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp, typename ReduceOp, typename T, typename VertexValueOutputIterator>
void per_v_transform_reduce_incoming_e( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeOp e_op,
- T init,
- ReduceOp reduce_op,
- VertexValueOutputIterator vertex_value_output_first,
- bool do_expensive_check = false
Iterate over every vertex’s incoming edges to update vertex properties.
This function is inspired by thrust::transform_reduce.
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
EdgeValueInputWrapper – Type of the wrapper for edge property values.
EdgeOp – Type of the quinary edge operator.
ReduceOp – Type of the binary reduction operator.
T – Type of the initial value for per-vertex reduction.
VertexValueOutputIterator – Type of the iterator for vertex output property variables.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
e_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). Use either cugraph::edge_dst_property_t::view() (if
e_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes edge source, edge destination, property values for the source, destination, and edge and returns a value to be reduced.
init – Initial value to be added to the reduced
e_opreturn values for each vertex. Ifreduce_opis cugraph::reduce_op::any, init value is never selected except for the (tagged-)vertices with 0 outgoing edges.reduce_op – Binary operator that takes two input arguments and reduce the two values to one. There are pre-defined reduction operators in src/prims/reduce_op.cuh. It is recommended to use the pre-defined reduction operators whenever possible as the current (and future) implementations of graph primitives may check whether
ReduceOpis a known type (or has known member variables) to take a more optimized code path. See the documentation in the reduce_op.cuh file for instructions on writing custom reduction operators.vertex_value_output_first – Iterator pointing to the vertex property variables for the first (inclusive) vertex (assigned to this process in multi-GPU).
vertex_value_output_last(exclusive) is deduced asvertex_value_output_first+graph_view.local_vertex_partition_range_size().do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
-
template<typename GraphViewType, typename KeyBucketType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp, typename ReduceOp, typename T, typename VertexValueOutputIterator>
void per_v_transform_reduce_incoming_e( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- KeyBucketType const &key_list,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeOp e_op,
- T init,
- ReduceOp reduce_op,
- VertexValueOutputIterator vertex_value_output_first,
- bool do_expensive_check = false
For each (tagged-)vertex in the input (tagged-)vertex list, iterate over the incoming edges to update (tagged-)vertex properties.
This function is inspired by thrust::transform_reduce().
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
KeyBucketType – Type of the key bucket class which abstracts the current (tagged-)vertex list.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
EdgeValueInputWrapper – Type of the wrapper for edge property values.
EdgeOp – Type of the quinary edge operator.
ReduceOp – Type of the binary reduction operator.
T – Type of the initial value for per-vertex reduction.
VertexValueOutputIterator – Type of the iterator for vertex output property variables.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
key_list – KeyBucketType class object to store the (tagged-)vertex list to update (tagged-)vertex properties.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
e_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). Use either cugraph::edge_dst_property_t::view() (if
e_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes edge source, edge destination, property values for the source, destination, and edge and returns a value to be reduced.
init – Initial value to be reduced with the reduced
e_opreturn values for each vertex. Ifreduce_opis cugraph::reduce_op::any, init value is never selected except for the (tagged-)vertices with 0 incoming edges.reduce_op – Binary operator that takes two input arguments and reduce the two values to one. There are pre-defined reduction operators in src/prims/reduce_op.cuh. It is recommended to use the pre-defined reduction operators whenever possible as the current (and future) implementations of graph primitives may check whether
ReduceOpis a known type (or has known member variables) to take a more optimized code path. See the documentation in the reduce_op.cuh file for instructions on writing custom reduction operators.vertex_value_output_first – Iterator pointing to the (tagged-)vertex property variables for the first (inclusive) (tagged-)vertex in
key_list.vertex_value_output_last(exclusive) is deduced asvertex_value_output_first+key_list.size().do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
-
template<typename GraphViewType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp, typename ReduceOp, typename T, typename VertexValueOutputIterator>
void per_v_transform_reduce_outgoing_e( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeOp e_op,
- T init,
- ReduceOp reduce_op,
- VertexValueOutputIterator vertex_value_output_first,
- bool do_expensive_check = false
Iterate over every vertex’s outgoing edges to update vertex properties.
This function is inspired by thrust::transform_reduce().
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
EdgeValueInputWrapper – Type of the wrapper for edge property values.
EdgeOp – Type of the quinary edge operator.
ReduceOp – Type of the binary reduction operator.
T – Type of the initial value for per-vertex reduction.
VertexValueOutputIterator – Type of the iterator for vertex output property variables.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
e_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). Use either cugraph::edge_dst_property_t::view() (if
e_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes edge source, edge destination, property values for the source, destination, and edge and returns a value to be reduced.
init – Initial value to be added to the reduced
e_opreturn values for each vertex. Ifreduce_opis cugraph::reduce_op::any, init value is never selected except for the (tagged-)vertices with 0 outgoing edges.reduce_op – Binary operator that takes two input arguments and reduce the two values to one. There are pre-defined reduction operators in src/prims/reduce_op.cuh. It is recommended to use the pre-defined reduction operators whenever possible as the current (and future) implementations of graph primitives may check whether
ReduceOpis a known type (or has known member variables) to take a more optimized code path. See the documentation in the reduce_op.cuh file for instructions on writing custom reduction operators.vertex_value_output_first – Iterator pointing to the vertex property variables for the first (inclusive) vertex (assigned to this process in multi-GPU).
vertex_value_output_last(exclusive) is deduced asvertex_value_output_first+graph_view.local_vertex_partition_range_size().do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
-
template<typename GraphViewType, typename KeyBucketType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp, typename ReduceOp, typename T, typename VertexValueOutputIterator>
void per_v_transform_reduce_outgoing_e( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- KeyBucketType const &key_list,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeOp e_op,
- T init,
- ReduceOp reduce_op,
- VertexValueOutputIterator vertex_value_output_first,
- bool do_expensive_check = false
For each (tagged-)vertex in the input (tagged-)vertex list, iterate over the outgoing edges to update (tagged-)vertex properties.
This function is inspired by thrust::transform_reduce().
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
KeyBucketType – Type of the key bucket class which abstracts the current (tagged-)vertex list.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
EdgeValueInputWrapper – Type of the wrapper for edge property values.
EdgeOp – Type of the quinary edge operator.
ReduceOp – Type of the binary reduction operator.
T – Type of the initial value for per-vertex reduction.
VertexValueOutputIterator – Type of the iterator for vertex output property variables.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
key_list – KeyBucketType class object to store the (tagged-)vertex list to update (tagged-)vertex properties.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
e_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). Use either cugraph::edge_dst_property_t::view() (if
e_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes edge source, edge destination, property values for the source, destination, and edge and returns a value to be reduced.
init – Initial value to be reduced with the reduced
e_opreturn values for each vertex. Ifreduce_opis cugraph::reduce_op::any, init value is never selected except for the (tagged-)vertices with 0 outgoing edges.reduce_op – Binary operator that takes two input arguments and reduce the two values to one. There are pre-defined reduction operators in src/prims/reduce_op.cuh. It is recommended to use the pre-defined reduction operators whenever possible as the current (and future) implementations of graph primitives may check whether
ReduceOpis a known type (or has known member variables) to take a more optimized code path. See the documentation in the reduce_op.cuh file for instructions on writing custom reduction operators.vertex_value_output_first – Iterator pointing to the (tagged-)vertex property variables for the first (inclusive) (tagged-)vertex in
key_list.vertex_value_output_last(exclusive) is deduced asvertex_value_output_first+key_list.size().do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
-
template<typename T>
constexpr std::enable_if_t<is_thrust_tuple_of_arithmetic<T>::value, T> min_identity_element(
-
template<typename T>
constexpr std::enable_if_t<std::is_arithmetic<T>::value, T> min_identity_element(
-
template<typename T>
constexpr std::enable_if_t<is_thrust_tuple_of_arithmetic<T>::value, T> max_identity_element(
-
template<typename T>
constexpr std::enable_if_t<std::is_arithmetic<T>::value, T> max_identity_element(
-
template<typename GraphViewType, typename ReduceOp, typename VertexValueInputIterator, typename T>
T reduce_v( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- VertexValueInputIterator vertex_value_input_first,
- T init,
- ReduceOp reduce_op,
- bool do_expensive_check = false
Reduce the input vertex property values.
This function is inspired by thrust::reduce().
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
ReduceOp – Type of the binary reduction operator.
VertexValueInputIterator – Type of the iterator for vertex property values.
T – Type of the initial value. T should be an arithmetic type or cuda::std::tuple of arithmetic types.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
vertex_value_input_first – Iterator pointing to the vertex property values for the first (inclusive) vertex (assigned to this process in multi-GPU).
vertex_value_input_last(exclusive) is deduced asvertex_value_input_first+graph_view.local_vertex_partition_range_size().init – Initial value to be reduced with the reduced input vertex property values.
reduce_op – Binary operator that takes two input arguments and reduce the two values to one. There are pre-defined reduction operators in include/cugraph/prims/reduce_op.cuh. It is recommended to use the pre-defined reduction operators whenever possible as the current (and future) implementations of graph primitives may check whether
ReduceOpis a known type (or has known member variables) to take a more optimized code path. See the documentation in the reduce_op.cuh file for instructions on writing custom reduction operators.do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
T Reduced input vertex property values.
-
template<typename GraphViewType, typename VertexValueInputIterator, typename T>
T reduce_v( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- VertexValueInputIterator vertex_value_input_first,
- T init,
- bool do_expensive_check = false
Reduce the input vertex property values.
This function is inspired by thrust::reduce().
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
ReduceOp – Type of the binary reduction operator.
VertexValueInputIterator – Type of the iterator for vertex property values.
T – Type of the initial value. T should be an arithmetic type or cuda::std::tuple of arithmetic types.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
vertex_value_input_first – Iterator pointing to the vertex property values for the first (inclusive) vertex (assigned to this process in multi-GPU).
vertex_value_input_last(exclusive) is deduced asvertex_value_input_first+graph_view.local_vertex_partition_range_size().init – Initial value to be added to the reduced input vertex property values.
do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
T Reduced input vertex property values.
-
template<typename GraphViewType, typename VertexValueInputIterator>
auto reduce_v( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- VertexValueInputIterator vertex_value_input_first,
- bool do_expensive_check = false
Reduce the input vertex property values.
This function is inspired by thrust::reduce().
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
VertexValueInputIterator – Type of the iterator for vertex property values.
T – Type of the initial value. T should be an arithmetic type or cuda::std::tuple of arithmetic types.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
vertex_value_input_first – Iterator pointing to the vertex property values for the first (inclusive) vertex (assigned to this process in multi-GPU).
vertex_value_input_last(exclusive) is deduced asvertex_value_input_first+graph_view.local_vertex_partition_range_size().do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
Reduced input vertex property values.
-
template<typename GraphViewType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp, typename EdgeValueOutputWrapper>
void transform_e( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeOp e_op,
- EdgeValueOutputWrapper edge_value_output,
- bool do_expensive_check = false
Iterate over the entire set of edges and update edge property values.
This function is inspired by thrust::transform().
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
EdgeSrcValueInputWrapper – Type of the wrapper for input edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for input edge destination property values.
EdgeValueInputWrapper – Type of the wrapper for input edge property values.
EdgeOp – Type of the quinary edge operator.
EdgeValueOutputWrapper – Type of the wrapper for output edge property values.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
e_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). Use either cugraph::edge_dst_property_t::view() (if
e_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes edge source, edge destination, property values for the source, destination, and edge and returns a value to be reduced.
edge_value_output – Wrapper used to store edge output property values (for the edges assigned to this process in multi-GPU). Use cugraph::edge_property_t::mutable_view().
do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
-
template<typename GraphViewType, typename EdgeBucketType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp, typename EdgeValueOutputWrapper>
void transform_e( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- EdgeBucketType const &edge_list,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeOp e_op,
- EdgeValueOutputWrapper edge_value_output,
- bool do_expensive_check = false
Iterate over the edges in the input edge list and update edge property values.
This function is inspired by thrust::transform().
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
EdgeBucketType – Type of the edge bucket class which stores the edge list.
EdgeSrcValueInputWrapper – Type of the wrapper for input edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for input edge destination property values.
EdgeValueInputWrapper – Type of the wrapper for input edge property values.
EdgeOp – Type of the quinary edge operator.
EdgeValueOutputWrapper – Type of the wrapper for output edge property values.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
edge_list – EdgeBucketType class object storing the edge list to update edge property values.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
e_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). Use either cugraph::edge_dst_property_t::view() (if
e_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes edge source, edge destination, property values for the source, destination, and edge and returns a value to be reduced.
edge_value_output – Wrapper used to store edge output property values (for the edges assigned to this process in multi-GPU). Use cugraph::edge_property_t::mutable_view().
do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
-
template<typename GraphViewType, typename EdgeBucketType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp, typename GatheredValueOutputIterator>
void transform_gather_e( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- EdgeBucketType const &edge_list,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeOp e_op,
- GatheredValueOutputIterator gathered_value_output_first,
- bool do_expensive_check = false
Iterate over the edges in the input edge list and gather the edge operator outputs.
This function is inspired by thrust::transform() and thrust::gather().
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
EdgeBucketType – Type of the edge bucket class which stores the edge list.
EdgeSrcValueInputWrapper – Type of the wrapper for input edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for input edge destination property values.
EdgeValueInputWrapper – Type of the wrapper for input edge property values.
EdgeOp – Type of the quinary edge operator.
GatheredValueOutputIterator – Type of the iterator for gathered output values.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
edge_list – EdgeBucketType class object storing the edge list to update edge property values.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
e_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). Use either cugraph::edge_dst_property_t::view() (if
e_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes edge source, edge destination, property values for the source, destination, and edge and returns a value to be reduced.
gathered_value_output_first – Iterator pointing the beginning of the gathered output buffer.
gathered_value_output_last(exclusive) is deduced asgathered_value_output_first+edge_list.size().do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
-
template<typename GraphViewType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp, typename T>
T transform_reduce_e( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeOp e_op,
- T init,
- bool do_expensive_check = false
Iterate over the entire set of edges and reduce
edge_opoutputs.This function is inspired by thrust::transform_reduce().
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
EdgeValueInputWrapper – Type of the wrapper for edge property values.
EdgeOp – Type of the quinary edge operator.
T – Type of the initial value.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
e_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). Use either cugraph::edge_dst_property_t::view() (if
e_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes edge source, edge destination, property values for the source, destination, and edge and returns a value to be reduced.
init – Initial value to be added to the reduced
edge_opoutputs.do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
T Transform-reduced
edge_opoutputs.
-
template<typename GraphViewType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp>
auto transform_reduce_e( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeOp e_op,
- bool do_expensive_check = false
Iterate over the entire set of edges and reduce
edge_opoutputs.This function is inspired by thrust::transform_reduce().
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
EdgeValueInputWrapper – Type of the wrapper for edge property values.
EdgeOp – Type of the quinary edge operator.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
e_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). Use either cugraph::edge_dst_property_t::view() (if
e_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes edge source, edge destination, property values for the source, destination, and edge and returns a value to be reduced.
do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
Transform-reduced
edge_opoutputs.
-
template<typename GraphViewType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeSrcKeyInputWrapper, typename EdgeOp, typename ReduceOp, typename T>
auto transform_reduce_e_by_src_key( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeSrcKeyInputWrapper edge_src_key_input,
- EdgeOp e_op,
- T init,
- ReduceOp reduce_op,
- bool do_expensive_check = false
Iterate over the entire set of edges and reduce
edge_opoutputs to (key, value) pairs.This function is inspired by thrust::transform_reduce() and thrust::reduce_by_key(). Keys for edges are determined by the edge sources.
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
EdgeSrcKeyInputWrapper – Type of the wrapper for edge source key values.
EdgeValueInputWrapper – Type of the wrapper for edge property values.
EdgeOp – Type of the quinary edge operator.
T – Type of the values in (key, value) pairs.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
e_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). Use either cugraph::edge_dst_property_t::view() (if
e_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_src_key_input – Wrapper used to access source input ke values (for the edge sources assigned to this process in multi-GPU). Use cugraph::edge_src_property_t::view(). Use update_edge_src_property to fill the wrapper.
edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes edge source, edge destination, property values for the source, destination, and edge and returns a value to be reduced to (source key, value) pairs.
init – Initial value to be added to the value in each transform-reduced (source key, value) pair.
reduce_op – Binary operator that takes two input arguments and reduce the two values to one. There are pre-defined reduction operators in src/prims/reduce_op.cuh. It is recommended to use the pre-defined reduction operators whenever possible as the current (and future) implementations of graph primitives may check whether
ReduceOpis a known type (or has known member variables) to take a more optimized code path. See the documentation in the reduce_op.cuh file for instructions on writing custom reduction operators.do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
std::tuple Tuple of rmm::device_uvector<typename GraphView::vertex_type> and rmm::device_uvector<T> (if T is arithmetic scalar) or a tuple of rmm::device_uvector objects (if T is a cuda::std::tuple type of arithmetic scalar types, one rmm::device_uvector object per scalar type).
-
template<typename GraphViewType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeDstKeyInputWrapper, typename EdgeOp, typename ReduceOp, typename T>
auto transform_reduce_e_by_dst_key( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeDstKeyInputWrapper edge_dst_key_input,
- EdgeOp e_op,
- T init,
- ReduceOp reduce_op,
- bool do_expensive_check = false
Iterate over the entire set of edges and reduce
edge_opoutputs to (key, value) pairs.This function is inspired by thrust::transform_reduce() and thrust::reduce_by_key(). Keys for edges are determined by the edge destinations.
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
EdgeDstKeyInputWrapper – Type of the wrapper for edge destination key values.
EdgeValueInputWrapper – Type of the wrapper for edge property values.
EdgeOp – Type of the quinary edge operator.
T – Type of the values in (key, value) pairs.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
e_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). Use either cugraph::edge_dst_property_t::view() (if
e_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_partition_dst_key_input – Wrapper used to access destination input key values (for the edge destinations assigned to this process in multi-GPU). Use cugraph::edge_dst_property_t::view(). Use update_edge_dst_property to fill the wrapper.
edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes edge source, edge destination, property values for the source, destination, and edge and returns a value to be reduced to (destination key, value) pairs.
init – Initial value to be added to the value in each transform-reduced (destination key, value) pair.
reduce_op – Binary operator that takes two input arguments and reduce the two values to one. There are pre-defined reduction operators in src/prims/reduce_op.cuh. It is recommended to use the pre-defined reduction operators whenever possible as the current (and future) implementations of graph primitives may check whether
ReduceOpis a known type (or has known member variables) to take a more optimized code path. See the documentation in the reduce_op.cuh file for instructions on writing custom reduction operators.do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
std::tuple Tuple of rmm::device_uvector<typename GraphView::vertex_type> and rmm::device_uvector<T> (if T is arithmetic scalar) or a tuple of rmm::device_uvector objects (if T is a cuda::std::tuple type of arithmetic scalar types, one rmm::device_uvector object per scalar type).
-
template<typename GraphViewType, typename KeyBucketType>
size_t compute_num_out_nbrs_from_frontier( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- KeyBucketType const &frontier
-
template<typename GraphViewType, typename KeyBucketType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp, typename ReduceOp, typename PredOp>
std::conditional_t<!std::is_same_v<typename ReduceOp::value_type, void>, std::tuple<dataframe_buffer_type_t<typename KeyBucketType::key_type>, detail::optional_dataframe_buffer_type_t<typename ReduceOp::value_type>>, dataframe_buffer_type_t<typename KeyBucketType::key_type>> transform_reduce_if_v_frontier_outgoing_e_by_dst( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- KeyBucketType const &frontier,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeOp e_op,
- ReduceOp reduce_op,
- PredOp pred_op,
- bool do_expensive_check = false
Iterate over outgoing edges from the current vertex frontier and reduce valid edge functor outputs by (tagged-)destination ID.
Edge functor outputs are evaluated if the predicate operator returns true. Vertices are assumed to be tagged if KeyBucketType::key_type is a tuple of a vertex type and a tag type (KeyBucketType::key_type is identical to a vertex type otherwise).
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
KeyBucketType – Type of the vertex frontier bucket class which abstracts the current (tagged-)vertex frontier.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
EdgeValueInputWrapper – Type of the wrapper for edge property values.
EdgeOp – Type of the quinary edge operator.
ReduceOp – Type of the binary reduction operator.
PredOp – Type of the quinary predicate operator.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
frontier – KeyBucketType class object for the current vertex frontier.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
e_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). Use either cugraph::edge_dst_property_t::view() (if
e_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes edge (tagged-)source, edge destination, property values for the source, destination, and edge and 1) just returns (return value = void, if vertices are not tagged and ReduceOp::value_type is void, in this case,
e_opis dummy and won’t be called); 2) returns a value to be reduced (if vertices are not tagged and ReduceOp::value_type is not void); 3) returns a tag (if vertices are tagged and ReduceOp::value_type is void); or 4) returns a tuple of a tag and a value to be reduced (if vertices are tagged and ReduceOp::value_type is not void).reduce_op – Binary operator that takes two input arguments and reduce the two values to one. There are pre-defined reduction operators in prims/reduce_op.cuh. It is recommended to use the pre-defined reduction operators whenever possible as the current (and future) implementations of graph primitives may check whether
ReduceOpis a known type (or has known member variables) to take a more optimized code path. See the documentation in the reduce_op.cuh file for instructions on writing custom reduction operators.pred_op – Quinary predicate operator takes edge (tagged-)source, edge destination, property values for the source, destination, and edge and returns whether this edge should be included (if true is returned) or excluded.
- Returns:
Tuple of key values and payload values (if ReduceOp::value_type is not void) or just key values (if ReduceOp::value_type is void). Keys in the return values are sorted in ascending order using a vertex ID as the primary key and a tag (if relevant) as the secondary key.
-
template<typename GraphViewType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename IntersectionOp, typename T, typename VertexValueOutputIterator>
void transform_reduce_src_nbr_intersection_of_e_endpoints_by_v( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- IntersectionOp intersection_op,
- T init,
- VertexValueOutputIterator vertex_value_output_first,
- bool do_expensive_check = false
Iterate over each edge and apply a functor to the common source neighbor list of the edge endpoints, reduce the functor output values per-vertex.
Iterate over every edge; intersect source neighbor lists of source vertex & destination vertex; invoke a user-provided functor per intersection, and reduce the functor output values (cuda::std::tuple of three values having the same type: one for source, one for destination, and one for every vertex in the intersection) per-vertex. We may add transform_reduce_triplet_of_src_nbr_intersection_of_e_endpoints_by_v in the future to allow emitting different values for different vertices in the intersection of edge endpoints. This function is inspired by thrust::transform_reduce().
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
IntersectionOp – Type of the quinary per intersection operator.
T – Type of the initial value for per-vertex reduction.
VertexValueOutputIterator – Type of the iterator for vertex output property variables.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
intersection_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ifintersection_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). Use either cugraph::edge_dst_property_t::view() (if
intersection_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ifintersection_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.intersection_op – quinary operator takes edge source, edge destination, property values for the source, property values for the destination, and a list of vertices in the intersection of edge source & destination vertices’ source neighbors and returns a cuda::std::tuple of three values: one value per source vertex, one value for destination vertex, and one value for every vertex in the intersection.
init – Initial value to be added to the reduced
intersection_opreturn values for each vertex.vertex_value_output_first – Iterator pointing to the vertex property variables for the first (inclusive) vertex (assigned to this process in multi-GPU).
vertex_value_output_last(exclusive) is deduced asvertex_value_output_first+graph_view.local_vertex_partition_range_size().A – flag to run expensive checks for input arguments (if set to
true).
-
template<typename GraphViewType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename IntersectionOp, typename T, typename VertexValueOutputIterator>
void transform_reduce_dst_nbr_intersection_of_e_endpoints_by_v( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- IntersectionOp intersection_op,
- T init,
- VertexValueOutputIterator vertex_value_output_first,
- bool do_expensive_check = false
Iterate over each edge and apply a functor to the common destination neighbor list of the edge endpoints, reduce the functor output values per-vertex.
Iterate over every edge; intersect destination neighbor lists of source vertex & destination vertex; invoke a user-provided functor per intersection, and reduce the functor output values (cuda::std::tuple of three values having the same type: one for source, one for destination, and one for every vertex in the intersection) per-vertex. We may add transform_reduce_triplet_of_dst_nbr_intersection_of_e_endpoints_by_v in the future to allow emitting different values for different vertices in the intersection of edge endpoints. This function is inspired by thrust::transform_reduce().
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
IntersectionOp – Type of the quinary per intersection operator.
T – Type of the initial value for per-vertex reduction.
VertexValueOutputIterator – Type of the iterator for vertex output property variables.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
intersection_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ifintersection_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). Use either cugraph::edge_dst_property_t::view() (if
intersection_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ifintersection_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.intersection_op – quinary operator takes edge source, edge destination, property values for the source, property values for the destination, and a list of vertices in the intersection of edge source & destination vertices’ destination neighbors and returns a cuda::std::tuple of three values: one value per source vertex, one value for destination vertex, and one value for every vertex in the intersection.
init – Initial value to be added to the reduced
intersection_opreturn values for each vertex.vertex_value_output_first – Iterator pointing to the vertex property variables for the first (inclusive) vertex (assigned to this process in multi-GPU).
vertex_value_output_last(exclusive) is deduced asvertex_value_output_first+graph_view.local_vertex_partition_range_size().A – flag to run expensive checks for input arguments (if set to
true).
-
template<typename GraphViewType, typename ReduceOp, typename VertexValueInputIterator, typename VertexOp, typename T>
T transform_reduce_v( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- VertexValueInputIterator vertex_value_input_first,
- VertexOp v_op,
- T init,
- ReduceOp reduce_op,
- bool do_expensive_check = false
Reduce the transformed input vertex property values.
This function is inspired by thrust::transform_reduce().
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
ReduceOp – Type of the binary reduction operator.
VertexValueInputIterator – Type of the iterator for vertex property values.
VertexOp – Type of the unary vertex operator.
T – Type of the initial value.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
vertex_value_input_first – Iterator pointing to the vertex property values for the first (inclusive) vertex (assigned to this process in multi-GPU).
vertex_value_input_last(exclusive) is deduced asvertex_value_input_first+graph_view.local_vertex_partition_range_size().v_op – Binary operator takes vertex ID and *(
vertex_value_input_first+ i) (where i is [0,graph_view.local_vertex_partition_range_size())) and returns a transformed value to be reduced.init – Initial value to be reduced with the transform-reduced input vertex property values.
reduce_op – Binary operator that takes two input arguments and reduce the two values to one. There are pre-defined reduction operators in include/cugraph/prims/reduce_op.cuh. It is recommended to use the pre-defined reduction operators whenever possible as the current (and future) implementations of graph primitives may check whether
ReduceOpis a known type (or has known member variables) to take a more optimized code path. See the documentation in the reduce_op.cuh file for instructions on writing custom reduction operators.do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
T Transformed and reduced input vertex property values.
-
template<typename GraphViewType, typename VertexValueInputIterator, typename VertexOp, typename T>
T transform_reduce_v( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- VertexValueInputIterator vertex_value_input_first,
- VertexOp v_op,
- T init,
- bool do_expensive_check = false
Reduce the transformed input vertex property values.
This function is inspired by thrust::transform_reduce().
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
VertexValueInputIterator – Type of the iterator for vertex property values.
VertexOp – Type of the unary vertex operator.
T – Type of the initial value.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
vertex_value_input_first – Iterator pointing to the vertex property values for the first (inclusive) vertex (assigned to this process in multi-GPU).
vertex_value_input_last(exclusive) is deduced asvertex_value_input_first+graph_view.local_vertex_partition_range_size().v_op – Binary operator takes vertex ID and *(
vertex_value_input_first+ i) (where i is [0,graph_view.local_vertex_partition_range_size())) and returns a transformed value to be reduced.init – Initial value to be added to the transform-reduced input vertex property values.
do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
T Transformed and reduced input vertex property values.
-
template<typename GraphViewType, typename VertexValueInputIterator, typename VertexOp>
auto transform_reduce_v( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- VertexValueInputIterator vertex_value_input_first,
- VertexOp v_op,
- bool do_expensive_check = false
Reduce the transformed input vertex property values.
This function is inspired by thrust::transform_reduce().
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
VertexValueInputIterator – Type of the iterator for vertex property values.
VertexOp – Type of the unary vertex operator.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
vertex_value_input_first – Iterator pointing to the vertex property values for the first (inclusive) vertex (assigned to this process in multi-GPU).
vertex_value_input_last(exclusive) is deduced asvertex_value_input_first+graph_view.local_vertex_partition_range_size().v_op – Binary operator takes vertex ID and *(
vertex_value_input_first+ i) (where i is [0,graph_view.local_vertex_partition_range_size())) and returns a transformed value to be reduced.do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
Transformed and reduced input vertex property values.
-
template<typename GraphViewType, typename KeyBucketType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp, typename ReduceOp>
std::conditional_t<!std::is_same_v<typename ReduceOp::value_type, void>, std::tuple<dataframe_buffer_type_t<typename KeyBucketType::key_type>, detail::optional_dataframe_buffer_type_t<typename ReduceOp::value_type>>, dataframe_buffer_type_t<typename KeyBucketType::key_type>> transform_reduce_v_frontier_outgoing_e_by_dst( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- KeyBucketType const &frontier,
- EdgeSrcValueInputWrapper edge_src_value_input,
- EdgeDstValueInputWrapper edge_dst_value_input,
- EdgeValueInputWrapper edge_value_input,
- EdgeOp e_op,
- ReduceOp reduce_op,
- bool do_expensive_check = false
Iterate over outgoing edges from the current vertex frontier and reduce all edge functor outputs by (tagged-)destination ID.
Vertices are assumed to be tagged if KeyBucketType::key_type is a tuple of a vertex type and a tag type (KeyBucketType::key_type is identical to a vertex type otherwise).
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
KeyBucketType – Type of the vertex frontier bucket class which abstracts the current (tagged-)vertex frontier.
EdgeSrcValueInputWrapper – Type of the wrapper for edge source property values.
EdgeDstValueInputWrapper – Type of the wrapper for edge destination property values.
EdgeValueInputWrapper – Type of the wrapper for edge property values.
EdgeOp – Type of the quinary edge operator.
ReduceOp – Type of the binary reduction operator.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
frontier – KeyBucketType class object for the current vertex frontier.
edge_src_value_input – Wrapper used to access source input property values (for the edge sources assigned to this process in multi-GPU). Use either cugraph::edge_src_property_t::view() (if
e_opneeds to access source property values) or cugraph::edge_src_dummy_property_t::view() (ife_opdoes not access source property values). Use update_edge_src_property to fill the wrapper.edge_dst_value_input – Wrapper used to access destination input property values (for the edge destinations assigned to this process in multi-GPU). Use either cugraph::edge_dst_property_t::view() (if
e_opneeds to access destination property values) or cugraph::edge_dst_dummy_property_t::view() (ife_opdoes not access destination property values). Use update_edge_dst_property to fill the wrapper.edge_value_input – Wrapper used to access edge input property values (for the edges assigned to this process in multi-GPU). Use either cugraph::edge_property_t::view() (if
e_opneeds to access edge property values) or cugraph::edge_dummy_property_t::view() (ife_opdoes not access edge property values).e_op – Quinary operator takes edge (tagged-)source, edge destination, property values for the source, destination, and edge and 1) just returns (return value = void, if vertices are not tagged and ReduceOp::value_type is void, in this case,
e_opis dummy and won’t be called); 2) returns a value to be reduced (if vertices are not tagged and ReduceOp::value_type is not void); 3) returns a tag (if vertices are tagged and ReduceOp::value_type is void); or 4) returns a tuple of a tag and a value to be reduced (if vertices are tagged and ReduceOp::value_type is not void).reduce_op – Binary operator that takes two input arguments and reduce the two values to one. There are pre-defined reduction operators in prims/reduce_op.cuh. It is recommended to use the pre-defined reduction operators whenever possible as the current (and future) implementations of graph primitives may check whether
ReduceOpis a known type (or has known member variables) to take a more optimized code path. See the documentation in the reduce_op.cuh file for instructions on writing custom reduction operators.
- Returns:
Tuple of key values and payload values (if ReduceOp::value_type is not void) or just key values (if ReduceOp::value_type is void). Keys in the return values are sorted in ascending order using a vertex ID as the primary key and a tag (if relevant) as the secondary key.
-
template<typename GraphViewType, typename VertexPropertyInputIterator, typename EdgeSrcValueOutputWrapper>
void update_edge_src_property( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- VertexPropertyInputIterator vertex_property_input_first,
- EdgeSrcValueOutputWrapper edge_src_property_output,
- bool do_expensive_check = false
Update graph edge source property values from the input vertex property values.
This version updates graph edge source property values for the entire edge source ranges (assigned to this process in multi-GPU).
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
VertexPropertyInputIterator – Type of the iterator for vertex property values.
EdgeSrcValueOutputWrapper – Type of the wrapper for output edge source property values.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
vertex_property_input_first – Iterator pointing to the vertex property value for the first (inclusive) vertex (of the vertex partition assigned to this process in multi-GPU).
vertex_property_input_last(exclusive) is deduced asvertex_property_input_first+graph_view.local_vertex_partition_range_size().edge_partition_src_property_output – edge_src_property_view_t class object to store source property values (for the edge sources assigned to this process in multi-GPU).
do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
-
template<typename GraphViewType, typename VertexIterator, typename VertexPropertyInputIterator, typename EdgeSrcValueOutputWrapper>
void update_edge_src_property( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- VertexIterator sorted_unique_vertex_first,
- VertexIterator sorted_unique_vertex_last,
- VertexPropertyInputIterator sorted_unique_vertex_property_input_first,
- EdgeSrcValueOutputWrapper edge_src_property_output,
- bool do_expensive_check = false
Update graph edge source property values from the input vertex property values.
This version updates only a subset of graph edge source property values. [
sorted_unique_vertex_first,sorted_unique_vertex_last) specifies the vertices with new property values to be updated.- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
VertexIterator – Type of the iterator for vertex identifiers.
VertexPropertyInputIterator – Type of the iterator for vertex property values.
EdgeSrcValueOutputWrapper – Type of the wrapper for output edge source property values.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
sorted_unique_vertex_first – Iterator pointing to the first (inclusive) vertex with a new value to be updated. v in [sorted_unique_vertex_first, sorted_unique_vertex_last) should be sorted & distinct (and should belong to the vertex partition assigned to this process in multi-GPU), otherwise undefined behavior.
sorted_unique_vertex_last – Iterator pointing to the last (exclusive) vertex with a new value.
sorted_unique_vertex_property_input_first – Iterator pointing to the vertex property values for the first (inclusive) vertex in [
sorted_unique_vertex_first, @psorted_unique_vertex_last).sorted_unique_vertex_property_input_last(exclusive) is deduced assorted_unique_vertex_property_input_first+ cuda::std::distance(sorted_unique_vertex_first,sorted_unique_vertex_last).edge_partition_src_property_output – edge_src_property_view_t class object to store source property values (for the edge sources assigned to this process in multi-GPU).
do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
-
template<typename GraphViewType, typename VertexPropertyInputIterator, typename EdgeDstValueOutputWrapper>
void update_edge_dst_property( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- VertexPropertyInputIterator vertex_property_input_first,
- EdgeDstValueOutputWrapper edge_dst_property_output,
- bool do_expensive_check = false
Update graph edge destination property values from the input vertex property values.
This version updates graph edge destination property values for the entire edge destination ranges (assigned to this process in multi-GPU).
- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
VertexPropertyInputIterator – Type of the iterator for vertex property values.
EdgeDstValueOutputWrapper – Type of the wrapper for output edge destination property values.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
vertex_property_input_first – Iterator pointing to the vertex property value for the first (inclusive) vertex (of the vertex partition assigned to this process in multi-GPU).
vertex_property_input_last(exclusive) is deduced asvertex_property_input_first+graph_view.local_vertex_partition_range_size().edge_partition_dst_property_output – edge_dst_property_view_t class object to store destination property values (for the edge destinations assigned to this process in multi-GPU).
do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
-
template<typename GraphViewType, typename VertexIterator, typename VertexPropertyInputIterator, typename EdgeDstValueOutputWrapper>
void update_edge_dst_property( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- VertexIterator sorted_unique_vertex_first,
- VertexIterator sorted_unique_vertex_last,
- VertexPropertyInputIterator sorted_unique_vertex_property_input_first,
- EdgeDstValueOutputWrapper edge_dst_property_output,
- bool do_expensive_check = false
Update graph edge destination property values from the input vertex property values.
This version updates only a subset of graph edge destination property values. [
sorted_unique_vertex_first,sorted_unique_vertex_last) specifies the vertices with new property values to be updated.- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
VertexIterator – Type of the iterator for vertex identifiers.
VertexPropertyInputIterator – Type of the iterator for vertex property values.
EdgeDstValueOutputWrapper – Type of the wrapper for output edge destination property values.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
sorted_unique_vertex_first – Iterator pointing to the first (inclusive) vertex with a new value to be updated. v in [sorted_unique_vertex_first, sorted_unique_vertex_last) should be sorted & distinct (and should belong to the vertex partition assigned to this process in multi-GPU), otherwise undefined behavior.
sorted_unique_vertex_last – Iterator pointing to the last (exclusive) vertex with a new value.
sorted_unique_vertex_property_input_first – Iterator pointing to the vertex property values for the first (inclusive) vertex in [
sorted_unique_vertex_first, @psorted_unique_vertex_last).sorted_unique_vertex_property_input_last(exclusive) is deduced assorted_unique_vertex_property_input_first+ cuda::std::distance(sorted_unique_vertex_first,sorted_unique_vertex_last).edge_partition_dst_property_output – edge_dst_property_view_t class object to store destination property values (for the edge destinations assigned to this process in multi-GPU).
do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
-
template<typename GraphViewType, typename KeyBuffer, typename PayloadBuffer, typename VertexFrontierType, typename VertexValueInputIterator, typename VertexValueOutputIterator, typename VertexOp>
void update_v_frontier( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- KeyBuffer &&key_buffer,
- PayloadBuffer &&payload_buffer,
- VertexFrontierType &frontier,
- raft::host_span<size_t const> next_frontier_bucket_indices,
- VertexValueInputIterator vertex_value_input_first,
- VertexValueOutputIterator vertex_value_output_first,
- VertexOp v_op,
- bool do_expensive_check = false
Insert (tagged-)vertices to the vertex frontier and update vertex property values of the newly inserted vertices .
This primitive often works in pair with transform_reduce_if_v_frontier_outgoing_e_by_dst. This version of update_v_frontier takes
payload_bufferand @v_op takes a payload value in addition to a (tagged-)vertex and a vertex property value as input arguments.- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
KeyBuffer – Type of the buffer storing (tagged-)vertices.
PayloadBuffer – Type of the buffer storing payload values.
VertexFrontierType – Type of the vertex frontier class which abstracts vertex frontier managements.
VertexValueInputIterator – Type of the iterator for input vertex property values.
VertexValueOutputIterator – Type of the iterator for output vertex property variables.
VertexOp – Type of the ternary vertex operator.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
key_buffer – buffer object storing (tagged-)vertices to insert.
payload_buffer – buffer object storing payload values for each (tagged-)vertices in the
key_buffer.frontier – VertexFrontierType class object for vertex frontier managements. This object includes multiple bucket objects.
next_frontier_bucket_indices – Indices of the vertex frontier buckets to store new frontier (tagged-)vertices.
vertex_value_input_first – Iterator pointing to the vertex property values for the first (inclusive) vertex (assigned to this process in multi-GPU).
vertex_value_input_last(exclusive) is deduced asvertex_value_input_first+graph_view.local_vertex_partition_range_size().vertex_value_output_first – Iterator pointing to the vertex property variables for the first (inclusive) vertex (assigned to this process in multi-GPU).
vertex_value_output_last(exclusive) is deduced asvertex_value_output_first+graph_view.local_vertex_partition_range_size().v_op – Ternary operator that takes (tagged-)vertex ID, *(
vertex_value_input_first+ i) (where i is [0,graph_view.local_vertex_partition_range_size())) and the payload value for the (tagged-)vertex ID and returns a tuple of 1) a cuda::std::optional object optionally storing a bucket index and 2) a cuda::std::optional object optionally storing a new vertex property value. If the first element of the returned tuple is cuda::std::nullopt, this (tagged-)vertex won’t be inserted to the vertex frontier. If the second element is cuda::std::nullopt, the vertex property value for this vertex won’t be updated. Note that it is currently undefined behavior if there are multiple tagged-vertices with the same vertex ID (but with different tags) ANDv_opresults on the tagged-vertices with the same vertex ID have more than one valid new vertex property values.
-
template<typename GraphViewType, typename KeyBuffer, typename VertexFrontierType, typename VertexValueInputIterator, typename VertexValueOutputIterator, typename VertexOp>
void update_v_frontier( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- KeyBuffer &&key_buffer,
- VertexFrontierType &frontier,
- raft::host_span<size_t const> next_frontier_bucket_indices,
- VertexValueInputIterator vertex_value_input_first,
- VertexValueOutputIterator vertex_value_output_first,
- VertexOp v_op,
- bool do_expensive_check = false
Insert (tagged-)vertices to the vertex frontier and update vertex property values of the newly inserted vertices .
This primitive often works in pair with transform_reduce_if_v_frontier_outgoing_e_by_dst. This version of update_v_frontier does not take
payload_bufferand @v_op takes a (tagged-)vertex and a vertex property value as input arguments (no payload value in the input parameter list).- Template Parameters:
GraphViewType – Type of the passed non-owning graph object.
KeyBuffer – Type of the buffer storing (tagged-)vertices.
VertexFrontierType – Type of the vertex frontier class which abstracts vertex frontier managements.
VertexValueInputIterator – Type of the iterator for input vertex property values.
VertexValueOutputIterator – Type of the iterator for output vertex property variables.
VertexOp – Type of the binary vertex operator.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Non-owning graph object.
key_buffer – buffer object storing (tagged-)vertices to insert.
frontier – VertexFrontierType class object for vertex frontier managements. This object includes multiple bucket objects.
next_frontier_bucket_indices – Indices of the vertex frontier buckets to store new frontier (tagged-)vertices.
vertex_value_input_first – Iterator pointing to the vertex property values for the first (inclusive) vertex (assigned to this process in multi-GPU).
vertex_value_input_last(exclusive) is deduced asvertex_value_input_first+graph_view.local_vertex_partition_range_size().vertex_value_output_first – Iterator pointing to the vertex property variables for the first (inclusive) vertex (assigned to this process in multi-GPU).
vertex_value_output_last(exclusive) is deduced asvertex_value_output_first+graph_view.local_vertex_partition_range_size().v_op – Binary operator that takes (tagged-)vertex ID, and *(
vertex_value_input_first+ i) (where i is [0,graph_view.local_vertex_partition_range_size())) and returns a tuple of 1) a cuda::std::optional object optionally storing a bucket index and 2) a cuda::std::optional object optionally storing a new vertex property value. If the first element of the returned tuple is cuda::std::nullopt, this (tagged-)vertex won’t be inserted to the vertex frontier. If the second element is cuda::std::nullopt, the vertex property value for this vertex won’t be updated. Note that it is currently undefined behavior if there are multiple tagged-vertices with the same vertex ID (but with different tags) ANDv_opresults on the tagged-vertices with the same vertex ID have more than one valid new vertex property values.
-
template<typename vertex_t, typename KeyIterator>
KeyIterator compute_key_lower_bound( - KeyIterator sorted_unique_key_first,
- KeyIterator sorted_unique_key_last,
- vertex_t v_threshold,
- cuda::stream_ref stream_view
-
template<typename vertex_t, typename KeyIterator>
std::vector<size_t> compute_key_segment_offsets( - KeyIterator sorted_key_first,
- KeyIterator sorted_key_last,
- raft::host_span<vertex_t const> segment_offsets,
- vertex_t vertex_range_first,
- cuda::stream_ref stream_view
-
template<typename VertexIterator>
rmm::device_uvector<uint32_t> compute_vertex_list_bitmap_info( - VertexIterator sorted_unique_vertex_first,
- VertexIterator sorted_unique_vertex_last,
- typename thrust::iterator_traits<VertexIterator>::value_type vertex_range_first,
- typename thrust::iterator_traits<VertexIterator>::value_type vertex_range_last,
- cuda::stream_ref stream_view
-
template<typename InputVertexIterator, typename OutputVertexIterator>
void device_bcast_vertex_list( - raft::comms::comms_t const &comm,
- std::variant<raft::device_span<uint32_t const>, InputVertexIterator> v_list,
- OutputVertexIterator output_v_first,
- typename thrust::iterator_traits<InputVertexIterator>::value_type vertex_range_first,
- typename thrust::iterator_traits<InputVertexIterator>::value_type vertex_range_last,
- size_t v_list_size,
- int root,
- cuda::stream_ref stream_view
-
template<typename OutputVertexIterator>
void retrieve_vertex_list_from_bitmap( - raft::device_span<uint32_t const> bitmap,
- OutputVertexIterator output_v_first,
- raft::device_span<size_t> count,
- typename thrust::iterator_traits<OutputVertexIterator>::value_type vertex_range_first,
- typename thrust::iterator_traits<OutputVertexIterator>::value_type vertex_range_last,
- cuda::stream_ref stream_view
- template<typename Iterator, typename T> __device__ std::enable_if_t< cugraph::detail::is_discard_iterator< Iterator >::value, void > atomic_and (Iterator iter, T value)
- template<typename Iterator, typename T> __device__ std::enable_if_t< std::is_arithmetic_v< T > &&std::is_same_v< typename thrust::iterator_traits< Iterator >::value_type, T >, T > atomic_and (Iterator iter, T value)
- template<typename Iterator, typename T> __device__ std::enable_if_t< is_thrust_tuple< T >::value &&std::is_same_v< typename thrust::iterator_traits< Iterator >::value_type, T >, T > atomic_and (Iterator iter, T value)
- template<typename Iterator, typename T> __device__ std::enable_if_t< cugraph::detail::is_discard_iterator< Iterator >::value, void > atomic_or (Iterator iter, T value)
- template<typename Iterator, typename T> __device__ std::enable_if_t< std::is_arithmetic_v< T > &&std::is_same_v< typename thrust::iterator_traits< Iterator >::value_type, T >, T > atomic_or (Iterator iter, T value)
- template<typename Iterator, typename T> __device__ std::enable_if_t< is_thrust_tuple< T >::value &&std::is_same_v< typename thrust::iterator_traits< Iterator >::value_type, T >, T > atomic_or (Iterator iter, T value)
- template<typename Iterator, typename T> __device__ std::enable_if_t< cugraph::detail::is_discard_iterator< Iterator >::value, void > atomic_add (Iterator iter, T value)
- template<typename Iterator, typename T> __device__ std::enable_if_t< std::is_arithmetic_v< T > &&std::is_same_v< typename thrust::iterator_traits< Iterator >::value_type, T >, T > atomic_add (Iterator iter, T value)
- template<typename Iterator, typename T> __device__ std::enable_if_t< is_thrust_tuple< typename thrust::iterator_traits< Iterator >::value_type >::value &&is_thrust_tuple< T >::value, T > atomic_add (Iterator iter, T value)
- template<typename Iterator, typename T> __device__ std::enable_if_t< std::is_arithmetic_v< T > &&std::is_same_v< typename thrust::iterator_traits< Iterator >::value_type, T >, T > elementwise_atomic_cas (Iterator iter, T compare, T value)
- template<typename Iterator, typename T> __device__ std::enable_if_t< is_thrust_tuple< T >::value &&std::is_same_v< typename thrust::iterator_traits< Iterator >::value_type, T >, T > elementwise_atomic_cas (Iterator iter, T compare, T value)
- template<typename Iterator, typename T> __device__ std::enable_if_t< cugraph::detail::is_discard_iterator< Iterator >::value, void > elementwise_atomic_min (Iterator iter, T const &value)
- template<typename Iterator, typename T> __device__ std::enable_if_t< std::is_same< typename thrust::iterator_traits< Iterator >::value_type, T >::value &&std::is_arithmetic< T >::value, T > elementwise_atomic_min (Iterator iter, T const &value)
- template<typename Iterator, typename T> __device__ std::enable_if_t< is_thrust_tuple< typename thrust::iterator_traits< Iterator >::value_type >::value &&is_thrust_tuple< T >::value, T > elementwise_atomic_min (Iterator iter, T const &value)
- template<typename Iterator, typename T> __device__ std::enable_if_t< cugraph::detail::is_discard_iterator< Iterator >::value, void > elementwise_atomic_max (Iterator iter, T const &value)
- template<typename Iterator, typename T> __device__ std::enable_if_t< std::is_same< typename thrust::iterator_traits< Iterator >::value_type, T >::value &&std::is_arithmetic< T >::value, T > elementwise_atomic_max (Iterator iter, T const &value)
- template<typename Iterator, typename T> __device__ std::enable_if_t< is_thrust_tuple< typename thrust::iterator_traits< Iterator >::value_type >::value &&is_thrust_tuple< T >::value, T > elementwise_atomic_max (Iterator iter, T const &value)
- template<typename Iterator, typename T> __device__ void packed_bool_atomic_set (Iterator iter, T offset, bool val)
-
template<typename KVStoreViewType, typename KeyToCommRankOp>
std::tuple<rmm::device_uvector<typename KVStoreViewType::key_type>, dataframe_buffer_type_t<typename KVStoreViewType::value_type>> collect_values_for_unique_keys( - raft::handle_t const &handle,
- KVStoreViewType kv_store_view,
- rmm::device_uvector<typename KVStoreViewType::key_type> &&collect_unique_keys,
- KeyToCommRankOp key_to_comm_rank_op
-
template<typename KVStoreViewType, typename KeyIterator, typename KeyToCommRankOp>
dataframe_buffer_type_t<typename KVStoreViewType::value_type> collect_values_for_keys( - raft::handle_t const &handle,
- KVStoreViewType kv_store_view,
- KeyIterator collect_key_first,
- KeyIterator collect_key_last,
- KeyToCommRankOp key_to_comm_rank_op
-
template<typename vertex_t, typename ValueIterator>
dataframe_buffer_type_t<typename thrust::iterator_traits<ValueIterator>::value_type> collect_values_for_sorted_unique_int_vertices( - raft::handle_t const &handle,
- raft::device_span<vertex_t const> collect_sorted_unique_int_vertices,
- ValueIterator local_value_first,
- raft::host_span<vertex_t const> vertex_partition_range_lasts,
- vertex_t local_vertex_partition_range_first
-
template<typename VertexIterator, typename ValueIterator>
dataframe_buffer_type_t<typename thrust::iterator_traits<ValueIterator>::value_type> collect_values_for_int_vertices( - raft::handle_t const &handle,
- VertexIterator collect_vertex_first,
- VertexIterator collect_vertex_last,
- ValueIterator local_value_first,
- raft::host_span<typename thrust::iterator_traits<VertexIterator>::value_type const> vertex_partition_range_lasts,
- typename thrust::iterator_traits<VertexIterator>::value_type local_vertex_partition_range_first
-
template<typename T, typename std::enable_if_t<std::is_same_v<T, std::byte> || std::is_arithmetic_v<T>>* = nullptr>
auto allocate_dataframe_buffer( - size_t buffer_size,
- cuda::stream_ref stream_view,
- rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource_ref()
-
template<typename T>
std::optional<dataframe_buffer_type_t<T>> try_allocate_dataframe_buffer( - size_t buffer_size,
- cuda::stream_ref stream_view,
- rmm::device_async_resource_ref mr = rmm::mr::get_current_device_resource_ref()
-
template<typename BufferType>
void reserve_dataframe_buffer( - BufferType &buffer,
- size_t new_buffer_capacity,
- cuda::stream_ref stream_view
-
template<typename BufferType>
void resize_dataframe_buffer( - BufferType &buffer,
- size_t new_buffer_size,
- cuda::stream_ref stream_view
-
template<typename BufferType>
void shrink_to_fit_dataframe_buffer( - BufferType &buffer,
- cuda::stream_ref stream_view
-
template<typename BufferType>
size_t size_dataframe_buffer( - BufferType &buffer
-
template<typename BufferType, typename std::enable_if_t<is_byte_vector<std::remove_cv_t<BufferType>, rmm::device_uvector>::value || is_arithmetic_vector<std::remove_cv_t<BufferType>, rmm::device_uvector>::value>* = nullptr>
auto get_dataframe_buffer_begin( - BufferType &buffer
-
template<typename BufferType, typename std::enable_if_t<is_byte_vector<std::remove_cv_t<BufferType>, rmm::device_uvector>::value || is_arithmetic_vector<std::remove_cv_t<BufferType>, rmm::device_uvector>::value>* = nullptr>
auto get_dataframe_buffer_cbegin( - BufferType &buffer
-
template<typename BufferType, typename std::enable_if_t<is_byte_vector<std::remove_cv_t<BufferType>, rmm::device_uvector>::value || is_arithmetic_vector<std::remove_cv_t<BufferType>, rmm::device_uvector>::value>* = nullptr>
auto get_dataframe_buffer_end( - BufferType &buffer
-
template<typename BufferType, typename std::enable_if_t<is_byte_vector<std::remove_cv_t<BufferType>, rmm::device_uvector>::value || is_arithmetic_vector<std::remove_cv_t<BufferType>, rmm::device_uvector>::value>* = nullptr>
auto get_dataframe_buffer_cend( - BufferType &buffer
-
template<typename InputIterator, typename OutputIterator>
std::enable_if_t<std::is_arithmetic<typename std::iterator_traits<InputIterator>::value_type>::value, void> device_isend( - raft::comms::comms_t const &comm,
- InputIterator input_first,
- size_t count,
- int dst,
- int base_tag,
- raft::comms::request_t *requests
-
template<typename InputIterator, typename OutputIterator>
std::enable_if_t<is_thrust_tuple_of_arithmetic<typename std::iterator_traits<InputIterator>::value_type>::value && is_thrust_tuple<typename std::iterator_traits<OutputIterator>::value_type>::value, void> device_isend( - raft::comms::comms_t const &comm,
- InputIterator input_first,
- size_t count,
- int dst,
- int base_tag,
- raft::comms::request_t *requests
-
template<typename InputIterator, typename OutputIterator>
std::enable_if_t<std::is_arithmetic<typename std::iterator_traits<InputIterator>::value_type>::value, void> device_irecv( - raft::comms::comms_t const &comm,
- OutputIterator output_first,
- size_t count,
- int src,
- int base_tag,
- raft::comms::request_t *requests
-
template<typename InputIterator, typename OutputIterator>
std::enable_if_t<is_thrust_tuple_of_arithmetic<typename std::iterator_traits<InputIterator>::value_type>::value && is_thrust_tuple<typename std::iterator_traits<OutputIterator>::value_type>::value, void> device_irecv( - raft::comms::comms_t const &comm,
- OutputIterator output_first,
- size_t count,
- int src,
- int base_tag,
- raft::comms::request_t *requests
-
template<typename InputIterator, typename OutputIterator>
std::enable_if_t<std::is_arithmetic<typename std::iterator_traits<InputIterator>::value_type>::value, void> device_sendrecv( - raft::comms::comms_t const &comm,
- InputIterator input_first,
- size_t tx_count,
- int dst,
- OutputIterator output_first,
- size_t rx_count,
- int src,
- cuda::stream_ref stream_view
-
template<typename InputIterator, typename OutputIterator>
std::enable_if_t<is_thrust_tuple_of_arithmetic<typename std::iterator_traits<InputIterator>::value_type>::value && is_thrust_tuple<typename std::iterator_traits<OutputIterator>::value_type>::value, void> device_sendrecv( - raft::comms::comms_t const &comm,
- InputIterator input_first,
- size_t tx_count,
- int dst,
- OutputIterator output_first,
- size_t rx_count,
- int src,
- cuda::stream_ref stream_view
-
template<typename InputIterator, typename OutputIterator>
std::enable_if_t<std::is_arithmetic<typename std::iterator_traits<InputIterator>::value_type>::value, void> device_multicast_sendrecv( - raft::comms::comms_t const &comm,
- InputIterator input_first,
- raft::host_span<size_t const> tx_counts,
- raft::host_span<size_t const> tx_displs,
- raft::host_span<int const> tx_dst_ranks,
- OutputIterator output_first,
- raft::host_span<size_t const> rx_counts,
- raft::host_span<size_t const> rx_displs,
- raft::host_span<int const> rx_src_ranks,
- cuda::stream_ref stream_view
-
template<typename InputIterator, typename OutputIterator>
std::enable_if_t<is_thrust_tuple_of_arithmetic<typename std::iterator_traits<InputIterator>::value_type>::value && is_thrust_tuple<typename std::iterator_traits<OutputIterator>::value_type>::value, void> device_multicast_sendrecv( - raft::comms::comms_t const &comm,
- InputIterator input_first,
- raft::host_span<size_t const> tx_counts,
- raft::host_span<size_t const> tx_displs,
- raft::host_span<int const> tx_dst_ranks,
- OutputIterator output_first,
- raft::host_span<size_t const> rx_counts,
- raft::host_span<size_t const> rx_displs,
- raft::host_span<int const> rx_src_ranks,
- cuda::stream_ref stream_view
-
template<typename InputIterator, typename OutputIterator>
std::enable_if_t<std::is_arithmetic<typename std::iterator_traits<InputIterator>::value_type>::value, void> device_alltoall( - raft::comms::comms_t const &comm,
- InputIterator input_first,
- OutputIterator output_first,
- size_t count_per_rank,
- cuda::stream_ref stream_view
-
template<typename InputIterator, typename OutputIterator>
std::enable_if_t<is_thrust_tuple_of_arithmetic<typename std::iterator_traits<InputIterator>::value_type>::value && is_thrust_tuple<typename std::iterator_traits<OutputIterator>::value_type>::value, void> device_alltoall( - raft::comms::comms_t const &comm,
- InputIterator input_first,
- OutputIterator output_first,
- size_t count_per_rank,
- cuda::stream_ref stream_view
-
template<typename InputIterator, typename OutputIterator>
std::enable_if_t<std::is_arithmetic<typename std::iterator_traits<InputIterator>::value_type>::value, void> device_bcast( - raft::comms::comms_t const &comm,
- InputIterator input_first,
- OutputIterator output_first,
- size_t count,
- int root,
- cuda::stream_ref stream_view
-
template<typename InputIterator, typename OutputIterator>
std::enable_if_t<is_thrust_tuple_of_arithmetic<typename std::iterator_traits<InputIterator>::value_type>::value && is_thrust_tuple<typename std::iterator_traits<OutputIterator>::value_type>::value, void> device_bcast( - raft::comms::comms_t const &comm,
- InputIterator input_first,
- OutputIterator output_first,
- size_t count,
- int root,
- cuda::stream_ref stream_view
-
template<typename InputIterator, typename OutputIterator>
std::enable_if_t<std::is_arithmetic<typename std::iterator_traits<InputIterator>::value_type>::value, void> device_allreduce( - raft::comms::comms_t const &comm,
- InputIterator input_first,
- OutputIterator output_first,
- size_t count,
- raft::comms::op_t op,
- cuda::stream_ref stream_view
-
template<typename InputIterator, typename OutputIterator>
std::enable_if_t<is_thrust_tuple_of_arithmetic<typename std::iterator_traits<InputIterator>::value_type>::value && is_thrust_tuple<typename std::iterator_traits<OutputIterator>::value_type>::value, void> device_allreduce( - raft::comms::comms_t const &comm,
- InputIterator input_first,
- OutputIterator output_first,
- size_t count,
- raft::comms::op_t op,
- cuda::stream_ref stream_view
-
template<typename InputIterator, typename OutputIterator>
std::enable_if_t<std::is_arithmetic<typename std::iterator_traits<InputIterator>::value_type>::value, void> device_reduce( - raft::comms::comms_t const &comm,
- InputIterator input_first,
- OutputIterator output_first,
- size_t count,
- raft::comms::op_t op,
- int root,
- cuda::stream_ref stream_view
-
template<typename InputIterator, typename OutputIterator>
std::enable_if_t<is_thrust_tuple_of_arithmetic<typename std::iterator_traits<InputIterator>::value_type>::value && is_thrust_tuple<typename std::iterator_traits<OutputIterator>::value_type>::value, void> device_reduce( - raft::comms::comms_t const &comm,
- InputIterator input_first,
- OutputIterator output_first,
- size_t count,
- raft::comms::op_t op,
- int root,
- cuda::stream_ref stream_view
-
template<typename InputIterator, typename OutputIterator>
std::enable_if_t<std::is_arithmetic<typename std::iterator_traits<InputIterator>::value_type>::value, void> device_allgather( - raft::comms::comms_t const &comm,
- InputIterator input_first,
- OutputIterator output_first,
- size_t sendcount,
- cuda::stream_ref stream_view
-
template<typename InputIterator, typename OutputIterator>
std::enable_if_t<is_thrust_tuple_of_arithmetic<typename std::iterator_traits<InputIterator>::value_type>::value && is_thrust_tuple<typename std::iterator_traits<OutputIterator>::value_type>::value, void> device_allgather( - raft::comms::comms_t const &comm,
- InputIterator input_first,
- OutputIterator output_first,
- size_t sendcount,
- cuda::stream_ref stream_view
-
template<typename InputIterator, typename OutputIterator>
std::enable_if_t<std::is_arithmetic<typename std::iterator_traits<InputIterator>::value_type>::value, void> device_allgatherv( - raft::comms::comms_t const &comm,
- InputIterator input_first,
- OutputIterator output_first,
- raft::host_span<size_t const> recvcounts,
- raft::host_span<size_t const> displacements,
- cuda::stream_ref stream_view
-
template<typename InputIterator, typename OutputIterator>
std::enable_if_t<is_thrust_tuple_of_arithmetic<typename std::iterator_traits<InputIterator>::value_type>::value && is_thrust_tuple<typename std::iterator_traits<OutputIterator>::value_type>::value, void> device_allgatherv( - raft::comms::comms_t const &comm,
- InputIterator input_first,
- OutputIterator output_first,
- raft::host_span<size_t const> recvcounts,
- raft::host_span<size_t const> displacements,
- cuda::stream_ref stream_view
-
template<typename InputIterator, typename OutputIterator>
std::enable_if_t<std::is_arithmetic<typename std::iterator_traits<InputIterator>::value_type>::value, void> device_gatherv( - raft::comms::comms_t const &comm,
- InputIterator input_first,
- OutputIterator output_first,
- size_t sendcount,
- raft::host_span<size_t const> recvcounts,
- raft::host_span<size_t const> displacements,
- int root,
- cuda::stream_ref stream_view
-
template<typename InputIterator, typename OutputIterator>
std::enable_if_t<is_thrust_tuple_of_arithmetic<typename std::iterator_traits<InputIterator>::value_type>::value && is_thrust_tuple<typename std::iterator_traits<OutputIterator>::value_type>::value, void> device_gatherv( - raft::comms::comms_t const &comm,
- InputIterator input_first,
- OutputIterator output_first,
- size_t sendcount,
- raft::host_span<size_t const> recvcounts,
- raft::host_span<size_t const> displacements,
- int root,
- cuda::stream_ref stream_view
-
inline void device_group_start(raft::comms::comms_t const &comm)#
-
inline void device_group_end(raft::comms::comms_t const &comm)#
-
template<typename ValueIterator, typename ValueToGroupIdOp>
rmm::device_uvector<size_t> groupby_and_count( - ValueIterator tx_value_first,
- ValueIterator tx_value_last,
- ValueToGroupIdOp value_to_group_id_op,
- int num_groups,
- size_t mem_frugal_threshold,
- cuda::stream_ref stream_view,
- std::optional<large_buffer_type_t> large_buffer_type = std::nullopt
-
template<typename KeyIterator, typename ValueIterator, typename KeyToGroupIdOp>
rmm::device_uvector<size_t> groupby_and_count( - KeyIterator tx_key_first,
- KeyIterator tx_key_last,
- ValueIterator tx_value_first,
- KeyToGroupIdOp key_to_group_id_op,
- int num_groups,
- size_t mem_frugal_threshold,
- cuda::stream_ref stream_view,
- std::optional<large_buffer_type_t> large_buffer_type = std::nullopt
-
template<typename T>
std::enable_if_t<std::is_arithmetic<T>::value, T> host_scalar_allreduce( - raft::comms::comms_t const &comm,
- T input,
- raft::comms::op_t op,
- cuda::stream_ref stream
-
template<typename T>
std::enable_if_t<cugraph::is_thrust_tuple_of_arithmetic<T>::value, T> host_scalar_allreduce( - raft::comms::comms_t const &comm,
- T input,
- raft::comms::op_t op,
- cuda::stream_ref stream
-
template<typename T>
std::enable_if_t<std::is_arithmetic<T>::value, T> host_scalar_reduce( - raft::comms::comms_t const &comm,
- T input,
- raft::comms::op_t op,
- int root,
- cuda::stream_ref stream
-
template<typename T>
std::enable_if_t<cugraph::is_thrust_tuple_of_arithmetic<T>::value, T> host_scalar_reduce( - raft::comms::comms_t const &comm,
- T input,
- raft::comms::op_t op,
- int root,
- cuda::stream_ref stream
-
template<typename T>
std::enable_if_t<std::is_arithmetic<T>::value, T> host_scalar_bcast( - raft::comms::comms_t const &comm,
- T input,
- int root,
- cuda::stream_ref stream
-
template<typename T>
std::enable_if_t<cugraph::is_thrust_tuple_of_arithmetic<T>::value, T> host_scalar_bcast( - raft::comms::comms_t const &comm,
- T input,
- int root,
- cuda::stream_ref stream
-
template<typename T>
std::enable_if_t<std::is_arithmetic<T>::value, std::vector<T>> host_scalar_allgather( - raft::comms::comms_t const &comm,
- T input,
- cuda::stream_ref stream
-
template<typename T>
std::enable_if_t<cugraph::is_thrust_tuple_of_arithmetic<T>::value, std::vector<T>> host_scalar_allgather( - raft::comms::comms_t const &comm,
- T input,
- cuda::stream_ref stream
-
template<typename T>
std::enable_if_t<std::is_arithmetic<T>::value, T> host_scalar_scatter( - raft::comms::comms_t const &comm,
- std::vector<T> const &inputs,
- int root,
- cuda::stream_ref stream
-
template<typename T>
std::enable_if_t<cugraph::is_thrust_tuple_of_arithmetic<T>::value, T> host_scalar_scatter( - raft::comms::comms_t const &comm,
- std::vector<T> const &inputs,
- int root,
- cuda::stream_ref stream
-
template<typename T>
std::enable_if_t<std::is_arithmetic<T>::value, std::vector<T>> host_scalar_gather( - raft::comms::comms_t const &comm,
- T input,
- int root,
- cuda::stream_ref stream
-
template<typename T>
std::enable_if_t<cugraph::is_thrust_tuple_of_arithmetic<T>::value, std::vector<T>> host_scalar_gather( - raft::comms::comms_t const &comm,
- T input,
- int root,
- cuda::stream_ref stream
- template<typename MaskIterator> __device__ size_t count_set_bits (MaskIterator mask_first, size_t start_offset, size_t num_bits)
-
template<typename InputIterator, typename OutputIterator>
OutputIterator copy_if_mask_set( - raft::handle_t const &handle,
- InputIterator input_first,
- InputIterator input_last,
- uint32_t const *mask_first,
- OutputIterator output_first
-
template<typename InputIterator, typename OutputIterator>
OutputIterator copy_if_mask_unset( - raft::handle_t const &handle,
- InputIterator input_first,
- InputIterator input_last,
- uint32_t const *mask_first,
- OutputIterator output_first
-
template<typename comparison_t>
std::tuple<size_t, rmm::device_uvector<uint32_t>> mark_entries( - size_t num_entries,
- comparison_t comparison,
- cuda::stream_ref stream_view,
- std::optional<large_buffer_type_t> large_buffer_type = std::nullopt
-
template<typename T>
rmm::device_uvector<T> keep_marked_entries( - raft::handle_t const &handle,
- rmm::device_uvector<T> &&vector,
- raft::device_span<uint32_t const> keep_flags,
- size_t keep_count,
- std::optional<large_buffer_type_t> large_buffer_type = std::nullopt
-
template<typename InputIterator>
void partition_by_mask( - InputIterator input_first,
- InputIterator input_last,
- uint32_t const *mask_first,
- size_t first_size,
- size_t second_size,
- cuda::stream_ref stream_view,
- std::optional<large_buffer_type_t> large_buffer_type
-
template<typename ValueIterator, typename value_t>
constexpr bool is_packed_bool(
-
template<typename ValueIterator, typename value_t>
constexpr bool has_packed_bool_element(
-
constexpr size_t packed_bools_per_word()#
-
constexpr size_t packed_bool_size(size_t bool_size)#
-
constexpr uint32_t packed_bool_full_mask()#
-
constexpr uint32_t packed_bool_empty_mask()#
-
template<typename vertex_t, typename index_t>
std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>, rmm::device_uvector<index_t>> convert_paths_to_coo( - raft::handle_t const &handle,
- index_t coalesced_sz_v,
- index_t num_paths,
- rmm::device_buffer &&d_coalesced_v,
- rmm::device_buffer &&d_sizes
returns the COO format (src_vector, dst_vector) from the random walks (RW) paths.
- Template Parameters:
vertex_t – Type of vertex indices.
index_t – Type used to store indexing and sizes.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
coalesced_sz_v – coalesced vertex vector size.
num_paths – number of paths.
d_coalesced_v – coalesced vertex buffer.
d_sizes – paths size buffer.
- Returns:
tuple of (src_vertex_vector, dst_Vertex_vector, path_offsets), where path_offsets are the offsets where the COO set of each path starts.
-
template<typename index_t>
std::tuple<rmm::device_uvector<index_t>, rmm::device_uvector<index_t>, rmm::device_uvector<index_t>> query_rw_sizes_offsets(
)# returns additional RW information on vertex paths offsets and weight path sizes and offsets, for the coalesced case (the padded case does not need or provide this information)
- Template Parameters:
index_t – Type used to store indexing and sizes.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
num_paths – number of paths.
ptr_d_sizes – sizes of vertex paths.
- Returns:
tuple of (vertex_path_offsets, weight_path_sizes, weight_path_offsets), where offsets are exclusive scan of corresponding sizes.
-
template<typename TxValueIterator>
auto shuffle_values( - raft::comms::comms_t const &comm,
- TxValueIterator tx_value_first,
- raft::device_span<size_t const> d_tx_value_counts,
- cuda::stream_ref stream_view,
- std::optional<large_buffer_type_t> large_buffer_type = std::nullopt
-
template<typename TxValueIterator>
auto shuffle_values( - raft::comms::comms_t const &comm,
- TxValueIterator tx_value_first,
- raft::host_span<size_t const> tx_value_counts,
- cuda::stream_ref stream_view,
- std::optional<large_buffer_type_t> large_buffer_type = std::nullopt
-
template<typename TxValueIterator>
auto shuffle_values( - raft::comms::comms_t const &comm,
- TxValueIterator tx_value_first,
- raft::host_span<size_t const> tx_value_counts,
- size_t alignment,
- std::optional<typename thrust::iterator_traits<TxValueIterator>::value_type> fill_value,
- cuda::stream_ref stream_view,
- std::optional<large_buffer_type_t> large_buffer_type = std::nullopt
-
template<typename TxValueIterator>
auto shuffle_and_unique_segment_sorted_values( - raft::comms::comms_t const &comm,
- TxValueIterator segment_sorted_tx_value_first,
- raft::host_span<size_t const> tx_value_counts,
- cuda::stream_ref stream_view,
- std::optional<large_buffer_type_t> large_buffer_type = std::nullopt
-
template<typename ValueIterator, typename ValueToGPUIdOp>
auto groupby_gpu_id_and_shuffle_values( - raft::comms::comms_t const &comm,
- ValueIterator tx_value_first,
- ValueIterator tx_value_last,
- ValueToGPUIdOp value_to_gpu_id_op,
- cuda::stream_ref stream_view,
- std::optional<large_buffer_type_t> large_buffer_type = std::nullopt
-
template<typename KeyIterator, typename ValueIterator, typename KeyToGPUIdOp>
auto groupby_gpu_id_and_shuffle_kv_pairs( - raft::comms::comms_t const &comm,
- KeyIterator tx_key_first,
- KeyIterator tx_key_last,
- ValueIterator tx_value_first,
- KeyToGPUIdOp key_to_gpu_id_op,
- cuda::stream_ref stream_view,
- std::optional<large_buffer_type_t> large_buffer_type = std::nullopt
-
template<typename TupleType>
constexpr size_t sum_thrust_tuple_element_sizes(
-
template<typename TupleType>
constexpr size_t min_thrust_tuple_element_sizes(
-
template<typename TupleType>
constexpr size_t max_thrust_tuple_element_sizes(
-
template<typename Iterator, typename std::enable_if_t<std::is_arithmetic_v<typename std::iterator_traits<Iterator>::value_type>>* = nullptr>
auto to_thrust_iterator_tuple( - Iterator iter
-
template<typename T, size_t I, typename std::enable_if_t<std::is_arithmetic_v<T>>* = nullptr>
auto thrust_tuple_get_or_identity( - T val
-
template<typename Iterator, size_t I, typename std::enable_if_t<std::is_arithmetic_v<typename thrust::iterator_traits<Iterator>::value_type>>* = nullptr>
auto thrust_tuple_get_or_identity( - Iterator val
-
template<typename ...TupleTypes>
auto thrust_tuple_cat( - TupleTypes... tups
Variables
-
template<typename vertex_t>
constexpr vertex_t invalid_vertex_id_v = invalid_vertex_id<vertex_t>::value#
-
template<typename edge_t>
constexpr edge_t invalid_edge_id_v = invalid_edge_id<edge_t>::value#
-
template<typename component_t>
constexpr component_t invalid_component_id_v = invalid_component_id<component_t>::value#
-
template<typename T>
constexpr bool is_thrust_tuple_v = is_thrust_tuple<T>::value#
-
template<typename T>
constexpr bool is_thrust_tuple_of_arithmetic_v = is_thrust_tuple_of_arithmetic<T>::value#
-
template<typename T>
constexpr bool is_thrust_tuple_of_integral_v = is_thrust_tuple_of_integral<T>::value#
-
template<typename T>
constexpr bool is_arithmetic_or_thrust_tuple_of_arithmetic_v = is_arithmetic_or_thrust_tuple_of_arithmetic<T>::value#
-
constexpr fill_t fill = {}#
Assign
valueto every element in [first, last).This exposes cugraph::fill using the fill_t functor. This is a workaround to avoid ADL issues with CCCL which result in a runtime error.
Documentation of the individual fill overloads is provided above.
-
constexpr gather_t gather = {}#
Gather from
input_firstintooutput_firstusingmap_first.This exposes cugraph::gather using the gather_t functor. This is a workaround to avoid ADL issues with CCCL which result in a runtime error.
-
constexpr inclusive_scan_t inclusive_scan = {}#
Inclusive prefix sum on [first, last).
This exposes cugraph::inclusive_scan using the inclusive_scan_wrapper_t functor. This is a workaround to avoid ADL issues with CCCL which result in a runtime error.
Documentation of the individual inclusive_scan overloads is provided above.
-
constexpr exclusive_scan_t exclusive_scan = {}#
Exclusive prefix sum on [first, last).
This exposes cugraph::exclusive_scan using the exclusive_scan_t functor. This is a workaround to avoid ADL issues with CCCL which result in a runtime error.
Documentation of the individual exclusive_scan overloads is provided above.
-
constexpr scatter_t scatter = {}#
Scatter [input_first, input_last) to
output_firstusingmap_first.This exposes cugraph::scatter using the scatter_t functor. This is a workaround to avoid ADL issues with CCCL which result in a runtime error.
Documentation of the individual scatter overloads is provided above.
-
constexpr sequence_t sequence = {}#
Fill [first, last) with consecutive integers.
This exposes cugraph::sequence using the sequence_t functor. This is a workaround to avoid ADL issues with CCCL which result in a runtime error.
Documentation of the individual sequence overloads is provided above.
-
template<typename GraphViewType, typename key_t, typename EdgePartitionSrcValueInputWrapper, typename EdgePartitionDstValueInputWrapper, typename EdgePartitionEdgeValueInputWrapper, typename EdgeOp, typename T>
struct cast_edge_op_bool_to_integer#
-
struct centrality_algorithm_metadata_t#
- #include <algorithms.hpp>
Metadata about the execution of one of the centrality algorithms.
-
template<typename TupleType>
struct compute_thrust_tuple_element_sizes#
-
template<typename T>
struct dataframe_buffer_const_iterator_type#
-
template<typename T>
struct dataframe_buffer_iterator_type#
-
template<typename T>
struct dataframe_buffer_type#
-
template<typename vertex_t>
class Dendrogram#
-
template<typename vertex_t, typename edge_t, bool src_major = false, bool multi_gpu = false, bool sorted_unique = false>
class edge_bucket_t# Public Functions
- inline std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>, std::optional<rmm::device_uvector<edge_t>>> take_edgelist(
Move the stored edgelist out of the bucket.
Complements the r-value constructor: callers can construct with moved vectors, use the bucket for gather/transform, then recover ownership without an insert copy.
- inline void insert( )#
@ brief insert an edge to the bucket
- Parameters:
src – edge source vertex.
dst – edge destination vertex.
multi_edge_index – multi-edge index (for multi-graphs).
-
template<typename VertexIterator, typename MultiEdgeIndexIterator>
inline void insert( - VertexIterator src_first,
- VertexIterator src_last,
- VertexIterator dst_first,
- std::optional<MultiEdgeIndexIterator> multi_edge_index_first
@ brief insert a list of edges to the bucket
- Parameters:
src_first – Iterator pointing to the first (inclusive) element of the edge source vertices in device memory.
src_last – Iterator pointing to the last (exclusive) element of the edge source vertices stored in device memory.
dst_first – Iterator pointing to the first (inclusive) element of the edge destination vertices in device memory.
multi_edge_index_first – Iterator pointing to the first (inclusive) element of the multi-edge indices in device memory (for multi-graphs).
-
class edge_dst_dummy_property_t#
-
template<typename vertex_t, typename T>
class edge_dst_property_t#
-
class edge_dummy_property_t#
-
class edge_dummy_property_view_t#
-
template<typename edge_t, typename vertex_t>
class edge_multi_index_property_t#
-
template<typename edge_t, typename vertex_t>
class edge_multi_index_property_view_t#
-
template<typename vertex_t, typename edge_t, bool multi_gpu, typename Enable = void>
class edge_partition_device_view_t#
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
class edge_partition_device_view_t<vertex_t, edge_t, multi_gpu, std::enable_if_t<multi_gpu>> : public cugraph::detail::edge_partition_device_view_base_t<vertex_t, edge_t># Public Functions
- inline __host__ void compute_number_of_edges_with_mask_async (raft::device_span< uint32_t const > edge_mask, majors_from_offsets_t< uint32_t, vertex_t > majors, raft::device_span< size_t > count, cuda::stream_ref stream) const
Sum masked degrees for majors stored as local offsets; each global major is
majors.base_major + offset(same convention as compressed bitmap frontiers).
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
class edge_partition_device_view_t<vertex_t, edge_t, multi_gpu, std::enable_if_t<!multi_gpu>> : public cugraph::detail::edge_partition_device_view_base_t<vertex_t, edge_t>#
-
template<typename vertex_t, typename edge_t, bool multi_gpu, typename Enable = void>
class edge_partition_view_t#
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
class edge_partition_view_t<vertex_t, edge_t, multi_gpu, std::enable_if_t<multi_gpu>> : public cugraph::detail::edge_partition_view_base_t<vertex_t, edge_t>#
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
class edge_partition_view_t<vertex_t, edge_t, multi_gpu, std::enable_if_t<!multi_gpu>> : public cugraph::detail::edge_partition_view_base_t<vertex_t, edge_t>#
-
template<typename edge_t, typename T>
class edge_property_t#
-
template<typename edge_t, typename ValueIterator, typename value_t = typename thrust::iterator_traits<ValueIterator>::value_type>
class edge_property_view_t#
-
template<typename GraphViewType, typename EdgeValueType, typename Enable = void>
struct edge_property_view_type#
-
template<typename GraphViewType, typename EdgeValueType>
struct edge_property_view_type<GraphViewType, EdgeValueType, std::enable_if_t<std::is_same_v<EdgeValueType, cuda::std::nullopt_t>>>#
-
template<typename GraphViewType, typename EdgeValueType>
struct edge_property_view_type<GraphViewType, EdgeValueType, std::enable_if_t<!std::is_same_v<EdgeValueType, cuda::std::nullopt_t>>>#
-
class edge_src_dummy_property_t#
-
template<typename vertex_t, typename T>
class edge_src_property_t#
-
struct exclusive_scan_t#
- #include <scan.hpp>
Exclusive prefix sum on [first, last).
Similar to
thrust::exclusive_scan; dispatches to an explicitly instantiated backend whenpolicyisrmm::exec_policyorrmm::exec_policy_nosyncandfirst,last, andresultare pointers to the same supported scalar type (size_t,int32_t, orint64_t).
-
template<typename vertex_t, typename edge_t>
struct extract_triangles_endpoints#
-
struct fill_t#
- #include <fill.hpp>
Assign
valueto every element in [first, last).Similar to
thrust::fill; dispatches to an explicitly instantiated backend for supported scalar ranges onrmm::exec_policyandrmm::exec_policy_nosync.
-
struct gather_t#
- #include <gather.hpp>
Gather from
input_firstintooutput_firstusingmap_first.Similar to
thrust::gather; dispatches to an explicitly instantiated backend whenpolicyisrmm::exec_policyorrmm::exec_policy_nosync,map_firstis a pointer tosize_t,int32_t, orint64_t, acuda::transform_iteratorover shift_left_t, or the input/output ranges are supported scalar or zip iterators.
-
template<typename vertex_t, typename edge_t, bool multi_gpu, typename Enable = void>
struct graph_meta_t#
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
struct graph_meta_t<vertex_t, edge_t, multi_gpu, std::enable_if_t<multi_gpu>>#
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
struct graph_meta_t<vertex_t, edge_t, multi_gpu, std::enable_if_t<!multi_gpu>>#
-
struct graph_properties_t#
-
template<typename vertex_t, typename edge_t, bool store_transposed, bool multi_gpu, typename Enable = void>
class graph_t#
-
template<typename vertex_t, typename edge_t, bool store_transposed, bool multi_gpu>
class graph_t<vertex_t, edge_t, store_transposed, multi_gpu, std::enable_if_t<multi_gpu>> : public cugraph::detail::graph_base_t<vertex_t, edge_t>#
-
template<typename vertex_t, typename edge_t, bool store_transposed, bool multi_gpu>
class graph_t<vertex_t, edge_t, store_transposed, multi_gpu, std::enable_if_t<!multi_gpu>> : public cugraph::detail::graph_base_t<vertex_t, edge_t>#
-
template<typename vertex_t, typename edge_t, bool store_transposed, bool multi_gpu, typename Enable = void>
struct graph_view_meta_t#
-
template<typename vertex_t, typename edge_t, bool store_transposed, bool multi_gpu>
struct graph_view_meta_t<vertex_t, edge_t, store_transposed, multi_gpu, std::enable_if_t<multi_gpu>>#
-
template<typename vertex_t, typename edge_t, bool store_transposed, bool multi_gpu>
struct graph_view_meta_t<vertex_t, edge_t, store_transposed, multi_gpu, std::enable_if_t<!multi_gpu>>#
-
template<typename vertex_t, typename edge_t, bool store_transposed, bool multi_gpu, typename Enable = void>
class graph_view_t#
-
template<typename vertex_t, typename edge_t, bool store_transposed, bool multi_gpu>
class graph_view_t<vertex_t, edge_t, store_transposed, multi_gpu, std::enable_if_t<multi_gpu>> : public cugraph::detail::graph_base_t<vertex_t, edge_t>#
-
template<typename vertex_t, typename edge_t, bool store_transposed, bool multi_gpu>
class graph_view_t<vertex_t, edge_t, store_transposed, multi_gpu, std::enable_if_t<!multi_gpu>> : public cugraph::detail::graph_base_t<vertex_t, edge_t>#
-
class host_staging_buffer_manager#
-
struct inclusive_scan_t#
- #include <scan.hpp>
Inclusive prefix sum on [first, last).
Similar to
thrust::inclusive_scan; dispatches to an explicitly instantiated backend whenpolicyisrmm::exec_policyorrmm::exec_policy_nosyncandfirst,last, andresultare pointers to the same supported scalar type (size_t,int32_t, orint64_t).
-
template<typename vertex_t, typename idx_t>
struct index_to_repeated_vertex_tuple_t#
-
template<typename component_t>
struct invalid_component_id : public cugraph::invalid_idx<component_t>#
-
template<typename edge_t>
struct invalid_edge_id : public cugraph::invalid_idx<edge_t>#
-
template<typename T, typename Enable = void>
struct invalid_idx#
-
template<typename T>
struct invalid_idx<T, typename std::enable_if_t<std::is_integral<T>::value && std::is_signed<T>::value>> : public std::integral_constant<T, -1>#
-
template<typename T>
struct invalid_idx<T, typename std::enable_if_t<std::is_integral<T>::value && std::is_unsigned<T>::value>> : public std::integral_constant<T, std::numeric_limits<T>::max()>#
-
template<typename vertex_t>
struct invalid_vertex_id : public cugraph::invalid_idx<vertex_t>#
-
template<typename T>
struct is_arithmetic_or_thrust_tuple_of_arithmetic : public std::integral_constant<bool, std::is_arithmetic_v<T>>#
-
template<typename ...Ts>
struct is_arithmetic_or_thrust_tuple_of_arithmetic<cuda::std::tuple<Ts...>> : public std::integral_constant<bool, std::is_arithmetic_v<cuda::std::tuple<Ts...>>>, public std::integral_constant<bool, is_thrust_tuple_of_arithmetic<cuda::std::tuple<Ts...>>::value>#
-
template<typename T, template<typename> typename Vector>
struct is_arithmetic_vector : public std::false_type#
-
template<template<typename> typename Vector, typename T>
struct is_arithmetic_vector<Vector<T>, Vector> : public std::false_type, public std::integral_constant<bool, std::is_arithmetic_v<T>>#
-
template<typename T, template<typename> typename Vector>
struct is_byte_vector : public std::false_type#
-
template<template<typename> typename Vector, typename T>
struct is_byte_vector<Vector<T>, Vector> : public std::false_type, public std::integral_constant<bool, std::is_same_v<T, std::byte>>#
-
template<typename vertex_t, typename edge_t, typename weight_t>
struct is_candidate#
-
template<typename vertex_t, typename edge_t, typename weight_t>
struct is_candidate_legacy#
-
template<typename edge_t>
struct is_k_or_greater_t#
-
template<typename Src, typename ...Types>
struct is_one_of#
-
template<typename T>
struct is_std_tuple : public std::false_type#
-
template<typename ...Ts>
struct is_std_tuple<std::tuple<Ts...>> : public std::false_type, public std::true_type#
-
template<typename T>
struct is_std_tuple_of_arithmetic_spans : public std::false_type#
-
template<typename ...Ts>
struct is_std_tuple_of_arithmetic_spans<std::tuple<raft::device_span<Ts>...>> : public std::false_type#
-
template<typename T>
struct is_std_tuple_of_arithmetic_vectors : public std::false_type#
-
template<typename ...Ts>
struct is_std_tuple_of_arithmetic_vectors<std::tuple<rmm::device_uvector<Ts>...>> : public std::false_type#
-
template<typename T>
struct is_thrust_tuple : public std::false_type#
-
template<typename ...Ts>
struct is_thrust_tuple<cuda::std::tuple<Ts...>> : public std::false_type, public std::true_type#
-
template<typename T>
struct is_thrust_tuple_of_arithmetic : public std::false_type#
-
template<typename ...Ts>
struct is_thrust_tuple_of_arithmetic<cuda::std::tuple<Ts...>> : public std::false_type#
-
template<typename T>
struct is_thrust_tuple_of_integral : public std::false_type#
-
template<typename ...Ts>
struct is_thrust_tuple_of_integral<cuda::std::tuple<Ts...>> : public std::false_type#
-
template<typename vertex_t, typename edge_t>
struct is_vertex_edge_combo#
-
template<typename vertex_t, typename edge_t>
struct is_vertex_edge_combo_legacy#
-
template<typename vertex_t, typename tag_t = void, bool multi_gpu = false, bool sorted_unique = false>
class key_bucket_t# Public Functions
-
template<typename tag_type = tag_t, std::enable_if_t<std::is_same_v<tag_type, void>>* = nullptr>
inline void insert( - vertex_t vertex
@ brief insert a vertex to the bucket
- Parameters:
vertex – vertex to insert
-
template<typename tag_type = tag_t, std::enable_if_t<!std::is_same_v<tag_type, void>>* = nullptr>
inline void insert(
)# @ brief insert a (vertex, tag) pair to the bucket
- Parameters:
vertex – vertex of the (vertex, tag) pair to insert
tag – tag of the (vertex, tag) pair to insert
-
template<typename VertexIterator, typename tag_type = tag_t, std::enable_if_t<std::is_same_v<tag_type, void>>* = nullptr>
inline void insert( - VertexIterator vertex_first,
- VertexIterator vertex_last
@ brief insert a list of vertices to the bucket
- Parameters:
vertex_first – Iterator pointing to the first (inclusive) element of the vertices stored in device memory.
vertex_last – Iterator pointing to the last (exclusive) element of the vertices stored in device memory.
-
template<typename KeyIterator, typename tag_type = tag_t, std::enable_if_t<!std::is_same_v<tag_type, void>>* = nullptr>
inline void insert( - KeyIterator key_first,
- KeyIterator key_last
@ brief insert a list of (vertex, tag) pairs to the bucket
- Parameters:
key_first – Iterator pointing to the first (inclusive) element of the (vertex,tag) pairs stored in device memory.
key_last – Iterator pointing to the last (exclusive) element of the (vertex,tag) pairs stored in device memory.
-
template<typename tag_type = tag_t, std::enable_if_t<std::is_same_v<tag_type, void>>* = nullptr>
-
template<typename vertex_t, typename tag_t = void, bool multi_gpu = false, bool sorted_unique = false>
class key_bucket_view_t#
-
template<typename key_t, bool use_binary_search = true>
class key_store_t#
-
template<typename key_t, typename value_t, bool use_binary_search = true>
class kv_store_t#
-
class large_buffer_manager#
-
struct logic_error : public raft::exception#
- #include <error.hpp>
Exception thrown when logical precondition is violated.
This exception should not be thrown directly and is instead thrown by the CUGRAPH_EXPECTS and CUGRAPH_FAIL macros.
-
template<typename edge_id_t, typename edge_type_t, typename vertex_t, typename value_t = cuda::std::tuple<vertex_t, vertex_t>>
class lookup_container_t# -
template<typename edge_id_t, typename edge_type_t, typename vertex_t, typename value_t>
struct lookup_container_impl#
-
template<typename edge_id_t, typename edge_type_t, typename vertex_t, typename value_t>
-
template<typename offset_t, typename vertex_t>
struct majors_from_offsets_t#
-
class partition_manager#
- #include <partition_manager.hpp>
managed the mapping between graph partitioning and GPU partitioning
-
template<typename vertex_t>
class partition_t# - #include <graph_view.hpp>
store graph vertex/edge partitioning map
We need to partition 1D vertex array and the 2D edge matrix (major = source if not transposed, destination if transposed).
Assume we have P GPUs. An 1D vertex array of size V is divided to P linear partitions; each partition has the size close to V / P.
Say P = major_comm_size * minor_comm_size. And each GPU will have (major_comm_rank, minor_comm_rank). cugraph::partition_manager is responsible for mapping (major_comm_rank, minor_comm_rank) to the global rank. The 2D edge matrix is first partitioned along the major axis to P slabs, then each slab will be further partitioned along the minor axis to minor_comm_size rectangles. One GPU will be responsible minor_comm_size rectangular partitions.
To be more specific, a GPU with (major_comm_rank, minor_comm_rank) will be responsible for minor_comm_size rectangular partitions with [a_i, b_i) by [c, d) (i = [0, minor_comm_size) where a_i = vertex_partition_range_offsets[major_comm_size * i + major_comm_rank], b_i = vertex_partition_range_offsets[major_comm_size * i + major_comm_rank + 1], c = vertex_partition_range_offsets[major_comm_size * minor_comm_rank], and d = vertex_partition_range_offsets[major_comm_size * (minor_comm_rank + 1)],
Here, vertex_partition_range_offsets (size = P + 1) stores the 1D partitioning of the vertex ID range [0, # vertices). The first P values store the beginning (inclusive) of each GPU partition. The last value marks the end (exclusive) of the last GPU partition (which coincides with # vertices).
See E. G. Boman et. al., “Scalable matrix computations on large scale-free graphs using 2D graph partitioning”, 2013 for additional detail.
- Template Parameters:
vertex_t – Type of vertex ID
-
template<typename ...Args, template<typename> typename Op>
struct property_op<cuda::std::tuple<Args...>, Op> : public Op<cuda::std::tuple<Args...>>#
-
template<typename vertex_t, typename edge_t, bool multi_gpu, typename Enable = void>
struct renumber_meta_t#
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
struct renumber_meta_t<vertex_t, edge_t, multi_gpu, std::enable_if_t<multi_gpu>>#
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
struct renumber_meta_t<vertex_t, edge_t, multi_gpu, std::enable_if_t<!multi_gpu>>#
-
template<typename vertex_t, typename idx_t, bool multi_gpu = false, bool sorted_unique = false>
class repeated_vertex_bucket_view_t#
-
struct sampling_options_t#
- #include <sampling_functions.hpp>
Options controlling neighborhood sampling behavior.
Temporal sampling is enabled when
temporal_sampling_comparisonhas a value; leave it unset for non-temporal sampling. Future sampling knobs should be added here soneighbor_samplecan keep a stable parameter list.Public Members
-
prior_sources_behavior_t prior_sources_behavior = {}#
Specifies how to handle prior sources. Default is DEFAULT.
-
bool return_hops = {false}#
Specifies if the hop information should be returned. Default is false.
-
bool dedupe_sources = {false}#
If true then if a vertex v appears as a destination in hop X multiple times with the same label, it will only be passed once (for each label) as a source for the next hop. Default is false.
-
bool with_replacement = {true}#
Specifies if random sampling is done with replacement (true) or without replacement (false). Default is true.
-
std::optional<temporal_sampling_comparison_t> temporal_sampling_comparison = {std::nullopt}#
When set, enables temporal sampling with the given comparison mode. Default is unset (non-temporal).
-
bool disjoint_sampling = {false}#
Specifies if disjoint sampling should be enforced. Default is false.
-
neighbor_selection_t neighbor_selection = {neighbor_selection_t::RANDOM}#
Specifies how neighbors are selected from the eligible set. Default is RANDOM. LAST (PyG temporal_strategy=’last’) keeps fanout-K edges ranked by start time along the walk implied by
temporal_sampling_comparison:later times for increasing modes, earlier times (last in decreasing order) for decreasing modes. A start time equal to numeric_limits<time_stamp_t>::lowest() is ranked by a uniform key in [1, 2) instead, which uniformly samples an edge type stored entirely as that sentinel. int32 start times rank exactly over the full signed range; int64 ranks exactly on [-2^52, 2^52 - 1]. Outside that int64 range, ordering is preserved but ties are possible (see neighbor_selection_t::LAST).
-
bool fixed_window = {false}#
When true (temporal only), keep each seed’s original time window at every hop instead of replacing the frontier bound with the sampled edge time. Orthogonal to temporal_sampling_comparison (increasing vs decreasing). Default is false.
-
prior_sources_behavior_t prior_sources_behavior = {}#
-
struct sampling_params_t#
-
struct scatter_t#
- #include <scatter.hpp>
Scatter [input_first, input_last) to
output_firstusingmap_first.Similar to
thrust::scatter; dispatches to an explicitly instantiated backend whenpolicyisrmm::exec_policyorrmm::exec_policy_nosync,map_firstis a pointer tosize_t,int32_t, orint64_t, acuda::transform_iteratorover shift_left_t, or the input/output ranges are supported scalar or zip iterators.
-
struct sequence_t#
- #include <sequence.hpp>
Fill [first, last) with consecutive integers starting at 0.
Similar to
thrust::sequence; dispatches to an explicitly instantiated backend for supported scalar ranges onrmm::exec_policyandrmm::exec_policy_nosync.
-
struct sizeof_arithmetic_element#
-
struct sort_t#
- #include <sort.hpp>
Sort elements in [first, last).
Similar to
thrust::sort; dispatches to an explicitly instantiated backend for supported scalar and zip-iterator ranges.
-
template<typename T>
class storage_buffer_t#
-
template<typename TupleType, size_t I>
struct thrust_tuple_get#
-
template<typename T>
struct thrust_tuple_size_or_one : public std::integral_constant<size_t, 1>#
-
template<typename ...Ts>
struct thrust_tuple_size_or_one<cuda::std::tuple<Ts...>> : public std::integral_constant<size_t, 1>, public std::integral_constant<size_t, cuda::std::tuple_size<cuda::std::tuple<Ts...>>::value>#
-
struct unique_t#
- #include <unique.hpp>
Keep unique elements in [first, last).
Similar to
thrust::unique; dispatches to an explicitly instantiated backend for supported scalar and zip-iterator ranges.
-
template<typename vertex_t, typename tag_t = void, bool multi_gpu = false, bool sorted_unique_key_bucket = false>
class vertex_frontier_t#
-
template<typename GraphViewType, bool multi_gpu, typename Enable = void>
class vertex_partition_device_view_t#
-
template<typename vertex_t, bool multi_gpu>
class vertex_partition_device_view_t<vertex_t, multi_gpu, std::enable_if_t<multi_gpu>> : public cugraph::detail::vertex_partition_device_view_base_t<vertex_t>#
-
template<typename vertex_t, bool multi_gpu>
class vertex_partition_device_view_t<vertex_t, multi_gpu, std::enable_if_t<!multi_gpu>> : public cugraph::detail::vertex_partition_device_view_base_t<vertex_t>#
-
template<typename vertex_t, bool multi_gpu, typename Enable = void>
class vertex_partition_view_t#
-
template<typename vertex_t, bool multi_gpu>
class vertex_partition_view_t<vertex_t, multi_gpu, std::enable_if_t<multi_gpu>> : public cugraph::detail::vertex_partition_view_base_t<vertex_t>#
-
template<typename vertex_t, bool multi_gpu>
class vertex_partition_view_t<vertex_t, multi_gpu, std::enable_if_t<!multi_gpu>> : public cugraph::detail::vertex_partition_view_base_t<vertex_t>#
-
namespace c_api#
Functions
-
template<typename vertex_t, typename edge_t, typename weight_t, typename edge_type_t, typename time_stamp_t, bool store_transposed, typename functor_t>
auto multi_gpu_dispatcher( - bool multi_gpu,
- functor_t &functor
-
template<typename vertex_t, typename edge_t, typename weight_t, typename edge_type_t, typename time_stamp_t, typename functor_t>
auto transpose_dispatcher( - bool store_transposed,
- bool multi_gpu,
- functor_t &functor
-
template<typename vertex_t, typename edge_t, typename weight_t, typename edge_type_t, typename functor_t>
auto edge_time_type_dispatcher( - cugraph_data_type_id_t edge_time_type,
- bool store_transposed,
- bool multi_gpu,
- functor_t &functor
-
template<typename vertex_t, typename edge_t, typename weight_t, typename functor_t>
auto edge_type_type_dispatcher( - cugraph_data_type_id_t edge_type_type,
- cugraph_data_type_id_t edge_time_type,
- bool store_transposed,
- bool multi_gpu,
- functor_t &functor
-
template<typename vertex_t, typename edge_t, typename functor_t>
auto weight_dispatcher( - cugraph_data_type_id_t weight_type,
- cugraph_data_type_id_t edge_type_type,
- cugraph_data_type_id_t edge_time_type,
- bool store_transposed,
- bool multi_gpu,
- functor_t &functor
-
template<typename vertex_t, typename functor_t>
auto edge_dispatcher( - cugraph_data_type_id_t edge_type,
- cugraph_data_type_id_t weight_type,
- cugraph_data_type_id_t edge_type_type,
- cugraph_data_type_id_t edge_time_type,
- bool store_transposed,
- bool multi_gpu,
- functor_t &functor
-
template<typename functor_t>
auto vertex_dispatcher( - cugraph_data_type_id_t vertex_type,
- cugraph_data_type_id_t edge_type,
- cugraph_data_type_id_t weight_type,
- cugraph_data_type_id_t edge_type_type,
- cugraph_data_type_id_t edge_time_type,
- bool store_transposed,
- bool multi_gpu,
- functor_t &functor
-
template<typename vertex_t, typename edge_t, typename weight_t, bool store_transposed, bool multi_gpu>
cugraph_error_code_t transpose_storage( - raft::handle_t const &handle,
- cugraph_graph_t *graph,
- cugraph_error_t *error
-
template<typename GraphViewType, typename T>
edge_property_t<typename GraphViewType::edge_type, T> create_constant_edge_property( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- T constant_value
- template edge_property_t< int32_t, float > create_constant_edge_property (raft::handle_t const &handle, cugraph::graph_view_t< int32_t, int32_t, false, true > const &graph_view, float constant_value)
- template edge_property_t< int64_t, float > create_constant_edge_property (raft::handle_t const &handle, cugraph::graph_view_t< int64_t, int64_t, false, true > const &graph_view, float constant_value)
- template edge_property_t< int32_t, float > create_constant_edge_property (raft::handle_t const &handle, cugraph::graph_view_t< int32_t, int32_t, true, true > const &graph_view, float constant_value)
- template edge_property_t< int64_t, float > create_constant_edge_property (raft::handle_t const &handle, cugraph::graph_view_t< int64_t, int64_t, true, true > const &graph_view, float constant_value)
- template edge_property_t< int32_t, double > create_constant_edge_property (raft::handle_t const &handle, cugraph::graph_view_t< int32_t, int32_t, false, true > const &graph_view, double constant_value)
- template edge_property_t< int64_t, double > create_constant_edge_property (raft::handle_t const &handle, cugraph::graph_view_t< int64_t, int64_t, false, true > const &graph_view, double constant_value)
- template edge_property_t< int32_t, double > create_constant_edge_property (raft::handle_t const &handle, cugraph::graph_view_t< int32_t, int32_t, true, true > const &graph_view, double constant_value)
- template edge_property_t< int64_t, double > create_constant_edge_property (raft::handle_t const &handle, cugraph::graph_view_t< int64_t, int64_t, true, true > const &graph_view, double constant_value)
- template rmm::device_uvector< int32_t > expand_sparse_offsets (raft::device_span< int32_t const > offsets, int32_t base_vertex_id, cuda::stream_ref const &stream)
- template rmm::device_uvector< int32_t > expand_sparse_offsets (raft::device_span< int64_t const > offsets, int32_t base_vertex_id, cuda::stream_ref const &stream)
- template rmm::device_uvector< int64_t > expand_sparse_offsets (raft::device_span< int64_t const > offsets, int64_t base_vertex_id, cuda::stream_ref const &stream)
- template rmm::device_uvector< int32_t > expand_sparse_offsets (raft::device_span< size_t const > offsets, int32_t base_vertex_id, cuda::stream_ref const &stream)
- template rmm::device_uvector< int64_t > expand_sparse_offsets (raft::device_span< size_t const > offsets, int64_t base_vertex_id, cuda::stream_ref const &stream)
- template void copy_or_transform (raft::device_span< int8_t > output, cugraph_type_erased_device_array_view_t const *input, cuda::stream_ref const &stream_view)
- template void copy_or_transform (raft::device_span< int16_t > output, cugraph_type_erased_device_array_view_t const *input, cuda::stream_ref const &stream_view)
- template void copy_or_transform (raft::device_span< int32_t > output, cugraph_type_erased_device_array_view_t const *input, cuda::stream_ref const &stream_view)
- template void copy_or_transform (raft::device_span< int64_t > output, cugraph_type_erased_device_array_view_t const *input, cuda::stream_ref const &stream_view)
- template void copy_or_transform (raft::device_span< float > output, cugraph_type_erased_device_array_view_t const *input, cuda::stream_ref const &stream_view)
- template void copy_or_transform (raft::device_span< double > output, cugraph_type_erased_device_array_view_t const *input, cuda::stream_ref const &stream_view)
- template void copy_or_transform (raft::device_span< size_t > output, cugraph_type_erased_device_array_view_t const *input, cuda::stream_ref const &stream_view)
- template edge_property_t< int32_t, float > create_constant_edge_property (raft::handle_t const &handle, cugraph::graph_view_t< int32_t, int32_t, false, false > const &graph_view, float constant_value)
- template edge_property_t< int64_t, float > create_constant_edge_property (raft::handle_t const &handle, cugraph::graph_view_t< int64_t, int64_t, false, false > const &graph_view, float constant_value)
- template edge_property_t< int32_t, float > create_constant_edge_property (raft::handle_t const &handle, cugraph::graph_view_t< int32_t, int32_t, true, false > const &graph_view, float constant_value)
- template edge_property_t< int64_t, float > create_constant_edge_property (raft::handle_t const &handle, cugraph::graph_view_t< int64_t, int64_t, true, false > const &graph_view, float constant_value)
- template edge_property_t< int32_t, double > create_constant_edge_property (raft::handle_t const &handle, cugraph::graph_view_t< int32_t, int32_t, false, false > const &graph_view, double constant_value)
- template edge_property_t< int64_t, double > create_constant_edge_property (raft::handle_t const &handle, cugraph::graph_view_t< int64_t, int64_t, false, false > const &graph_view, double constant_value)
- template edge_property_t< int32_t, double > create_constant_edge_property (raft::handle_t const &handle, cugraph::graph_view_t< int32_t, int32_t, true, false > const &graph_view, double constant_value)
- template edge_property_t< int64_t, double > create_constant_edge_property (raft::handle_t const &handle, cugraph::graph_view_t< int64_t, int64_t, true, false > const &graph_view, double constant_value)
- inline cugraph_neighbor_selection_t to_c_neighbor_selection(
- cugraph::neighbor_selection_t neighbor_selection
-
template<typename functor_t, typename result_t>
cugraph_error_code_t run_algorithm( - ::cugraph_graph_t const *graph,
- functor_t &functor,
- result_t *result,
- ::cugraph_error_t **error
Variables
-
size_t data_type_sz[] = {1, 2, 4, 8, 1, 2, 4, 8, 4, 8, 8, 1}#
-
struct abstract_functor#
Subclassed by cugraph::c_api::bfs_functor, cugraph::c_api::extract_paths_functor, cugraph::c_api::sssp_functor
-
struct bfs_functor : public cugraph::c_api::abstract_functor#
-
struct cugraph_centrality_result_t#
-
struct cugraph_clustering_result_t#
-
struct cugraph_coo_list_t#
-
struct cugraph_coo_t#
-
struct cugraph_core_result_t#
-
struct cugraph_degrees_result_t#
-
struct cugraph_edge_centrality_result_t#
-
struct cugraph_edge_property_t#
-
struct cugraph_edge_property_view_t#
-
struct cugraph_edgelist_t#
-
struct cugraph_error_t#
-
struct cugraph_extract_paths_result_t#
-
struct cugraph_graph_t#
-
struct cugraph_hierarchical_clustering_result_t#
-
struct cugraph_hits_result_t#
-
struct cugraph_induced_subgraph_result_t#
-
struct cugraph_k_core_result_t#
-
struct cugraph_labeling_result_t#
-
struct cugraph_layout_result_t#
-
struct cugraph_lookup_container_t#
-
struct cugraph_lookup_result_t#
-
struct cugraph_paths_result_t#
-
struct cugraph_random_walk_result_t#
-
struct cugraph_resource_handle_t#
-
struct cugraph_rng_state_t#
-
struct cugraph_sample_result_t#
-
struct cugraph_sampling_options_t#
-
struct cugraph_similarity_result_t#
-
struct cugraph_simple_cycles_result_t#
-
struct cugraph_triangle_count_result_t#
-
struct cugraph_type_erased_device_array_t#
-
struct cugraph_type_erased_device_array_view_t#
-
struct cugraph_type_erased_host_array_t#
-
struct cugraph_type_erased_host_array_view_t#
-
struct cugraph_vertex_pairs_t#
-
struct cugraph_vertex_property_t#
-
struct cugraph_vertex_property_view_t#
-
template<typename T>
struct data_type_id#
-
template<>
struct data_type_id<double>#
-
template<>
struct data_type_id<float>#
-
template<>
struct data_type_id<int16_t>#
-
template<>
struct data_type_id<int32_t>#
-
template<>
struct data_type_id<int64_t>#
-
template<>
struct data_type_id<int8_t>#
-
template<>
struct data_type_id<size_t>#
-
struct extract_paths_functor : public cugraph::c_api::abstract_functor#
-
struct sampling_flags_t#
-
struct sssp_functor : public cugraph::c_api::abstract_functor#
-
namespace detail#
Functions
-
template<typename vertex_t>
std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<size_t>> shuffle_vertex_ids_and_offsets( - raft::handle_t const &handle,
- rmm::device_uvector<vertex_t> &&vertices,
- raft::device_span<size_t const> offsets
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< size_t > > shuffle_vertex_ids_and_offsets (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&vertices, raft::device_span< size_t const > offsets)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< size_t > > shuffle_vertex_ids_and_offsets (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&vertices, raft::device_span< size_t const > offsets)
-
template<typename key_t, typename value_t>
void sort_by_key(
)#
-
template<typename key_t, typename value_t>
void sort_tuple_by_key( - raft::handle_t const &handle,
- raft::device_span<key_t> keys,
- std::tuple<raft::device_span<value_t>, raft::device_span<value_t>> values
- template void sort_by_key (raft::handle_t const &handle, raft::device_span< int32_t > keys, raft::device_span< int32_t > values)
- template void sort_by_key (raft::handle_t const &handle, raft::device_span< int64_t > keys, raft::device_span< int64_t > values)
- template void sort_by_key (raft::handle_t const &handle, raft::device_span< int32_t > keys, raft::device_span< float > values)
- template void sort_by_key (raft::handle_t const &handle, raft::device_span< int64_t > keys, raft::device_span< float > values)
- template void sort_by_key (raft::handle_t const &handle, raft::device_span< int32_t > keys, raft::device_span< double > values)
- template void sort_by_key (raft::handle_t const &handle, raft::device_span< int64_t > keys, raft::device_span< double > values)
- template void sort_tuple_by_key (raft::handle_t const &handle, raft::device_span< int32_t > keys, std::tuple< raft::device_span< float >, raft::device_span< float > > values)
- template void sort_tuple_by_key (raft::handle_t const &handle, raft::device_span< int32_t > keys, std::tuple< raft::device_span< double >, raft::device_span< double > > values)
- template void sort_tuple_by_key (raft::handle_t const &handle, raft::device_span< int64_t > keys, std::tuple< raft::device_span< float >, raft::device_span< float > > values)
- template void sort_tuple_by_key (raft::handle_t const &handle, raft::device_span< int64_t > keys, std::tuple< raft::device_span< double >, raft::device_span< double > > values)
-
template<typename vertex_t, typename weight_t>
std::tuple<rmm::device_uvector<size_t>, rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>, std::optional<rmm::device_uvector<weight_t>>> reorder_extracted_egonets( - raft::handle_t const &handle,
- rmm::device_uvector<size_t> &&source_indices,
- rmm::device_uvector<size_t> &&offsets,
- rmm::device_uvector<vertex_t> &&edge_srcs,
- rmm::device_uvector<vertex_t> &&edge_dsts,
- std::optional<rmm::device_uvector<weight_t>> &&edge_weights
- template std::tuple< rmm::device_uvector< size_t >, rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< float > > > reorder_extracted_egonets (raft::handle_t const &handle, rmm::device_uvector< size_t > &&source_indices, rmm::device_uvector< size_t > &&offsets, rmm::device_uvector< int32_t > &&edge_srcs, rmm::device_uvector< int32_t > &&edge_dsts, std::optional< rmm::device_uvector< float > > &&edge_weights)
- template std::tuple< rmm::device_uvector< size_t >, rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< double > > > reorder_extracted_egonets (raft::handle_t const &handle, rmm::device_uvector< size_t > &&source_indices, rmm::device_uvector< size_t > &&offsets, rmm::device_uvector< int32_t > &&edge_srcs, rmm::device_uvector< int32_t > &&edge_dsts, std::optional< rmm::device_uvector< double > > &&edge_weights)
- template std::tuple< rmm::device_uvector< size_t >, rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< float > > > reorder_extracted_egonets (raft::handle_t const &handle, rmm::device_uvector< size_t > &&source_indices, rmm::device_uvector< size_t > &&offsets, rmm::device_uvector< int64_t > &&edge_srcs, rmm::device_uvector< int64_t > &&edge_dsts, std::optional< rmm::device_uvector< float > > &&edge_weights)
- template std::tuple< rmm::device_uvector< size_t >, rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< double > > > reorder_extracted_egonets (raft::handle_t const &handle, rmm::device_uvector< size_t > &&source_indices, rmm::device_uvector< size_t > &&offsets, rmm::device_uvector< int64_t > &&edge_srcs, rmm::device_uvector< int64_t > &&edge_dsts, std::optional< rmm::device_uvector< double > > &&edge_weights)
-
template<typename vertex_t>
-
template<typename vertex_t, typename edge_t, typename weight_t, typename edge_type_t, typename time_stamp_t, bool store_transposed, typename functor_t>
-
namespace dense#
Functions
-
template<typename index_t, typename weight_t>
weight_t hungarian( - raft::handle_t const &handle,
- weight_t const *costs,
- index_t num_rows,
- index_t num_cols,
- index_t *assignment
-
template<typename index_t, typename weight_t>
weight_t hungarian( - raft::handle_t const &handle,
- weight_t const *costs,
- index_t num_rows,
- index_t num_cols,
- index_t *assignment,
- weight_t epsilon
- template int32_t hungarian< int32_t, int32_t > (raft::handle_t const &, int32_t const *, int32_t, int32_t, int32_t *)
- template float hungarian< int32_t, float > (raft::handle_t const &, float const *, int32_t, int32_t, int32_t *)
- template double hungarian< int32_t, double > (raft::handle_t const &, double const *, int32_t, int32_t, int32_t *)
- template int32_t hungarian< int32_t, int32_t > (raft::handle_t const &, int32_t const *, int32_t, int32_t, int32_t *, int32_t)
- template float hungarian< int32_t, float > (raft::handle_t const &, float const *, int32_t, int32_t, int32_t *, float)
- template double hungarian< int32_t, double > (raft::handle_t const &, double const *, int32_t, int32_t, int32_t *, double)
-
template<typename index_t, typename weight_t>
-
namespace detail#
Typedefs
-
typedef int32_t vertex_t#
-
typedef int32_t edge_t#
-
using last_n_bias_t = double#
-
template<typename MapType>
using shift_left_transform_map_iterator_const_t = cuda::transform_iterator<shift_left_t<MapType>, MapType const*>#
-
template<typename MapType>
using shift_left_transform_map_iterator_mutable_t = cuda::transform_iterator<shift_left_t<MapType>, MapType*>#
-
template<typename T>
using optional_dataframe_buffer_type_t = typename optional_dataframe_buffer_type<T>::type#
-
typedef cuco::storage<1> cuco_storage_type#
cuco window storage type
-
template<typename Iterator>
using iterator_value_t = std::remove_cv_t<typename thrust::iterator_traits<std::remove_cv_t<Iterator>>::value_type># Dereferenced value type of
Iterator(cv stripped), viathrust::iterator_traits.
-
template<typename ...Ts>
using zip_iterator_t = thrust::zip_iterator<cuda::std::tuple<Ts*...>># Thrust zip_iterator types matching
thrust_wrappers/sort.cuexplicitsort_implinstantiations.
-
using zip_i32_i32 = zip_iterator_t<std::int32_t, std::int32_t>#
-
using zip_i64_i64 = zip_iterator_t<std::int64_t, std::int64_t>#
-
using zip_i64_i32 = zip_iterator_t<std::int64_t, std::int32_t>#
-
using zip_i32_i64 = zip_iterator_t<std::int32_t, std::int64_t>#
-
using zip_sz_i32 = zip_iterator_t<std::size_t, std::int32_t>#
-
using zip_sz_i64 = zip_iterator_t<std::size_t, std::int64_t>#
-
using zip_f_sz = zip_iterator_t<float, std::size_t>#
-
using zip_d_sz = zip_iterator_t<double, std::size_t>#
-
using zip_i32_i32_f = zip_iterator_t<std::int32_t, std::int32_t, float>#
-
using zip_i32_i32_d = zip_iterator_t<std::int32_t, std::int32_t, double>#
-
using zip_i64_i64_f = zip_iterator_t<std::int64_t, std::int64_t, float>#
-
using zip_i64_i64_d = zip_iterator_t<std::int64_t, std::int64_t, double>#
-
using zip_sz_i32_i32 = zip_iterator_t<std::size_t, std::int32_t, std::int32_t>#
-
using zip_sz_i64_i64 = zip_iterator_t<std::size_t, std::int64_t, std::int64_t>#
-
using zip_i32_i32_sz = zip_iterator_t<std::int32_t, std::int32_t, std::size_t>#
-
using zip_i64_i64_sz = zip_iterator_t<std::int64_t, std::int64_t, std::size_t>#
-
using zip_i32_i32_i32 = zip_iterator_t<std::int32_t, std::int32_t, std::int32_t>#
-
using zip_i32_i64_i32 = zip_iterator_t<std::int32_t, std::int64_t, std::int32_t>#
-
using zip_i64_i32_i32 = zip_iterator_t<std::int64_t, std::int32_t, std::int32_t>#
-
using zip_i64_i64_i32 = zip_iterator_t<std::int64_t, std::int64_t, std::int32_t>#
-
using zip_i32_i32_sz_i = zip_iterator_t<std::int32_t, std::int32_t, std::size_t, int>#
-
using zip_i64_i64_sz_i = zip_iterator_t<std::int64_t, std::int64_t, std::size_t, int>#
-
using zip_i32_i32_i32_sz = zip_iterator_t<std::int32_t, std::int32_t, std::int32_t, std::size_t>#
-
using zip_i64_i64_i64_sz = zip_iterator_t<std::int64_t, std::int64_t, std::int64_t, std::size_t>#
Enums
Functions
-
template<typename vertex_t, typename edge_t, typename weight_t, bool multi_gpu>
std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<edge_t>> brandes_bfs( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- std::optional<edge_property_view_t<edge_t, weight_t const*>> edge_weight_view,
- vertex_frontier_t<vertex_t, void, multi_gpu, true> &vertex_frontier,
- bool do_expensive_check
-
template<typename vertex_t, typename edge_t, typename weight_t, bool multi_gpu>
void accumulate_vertex_results( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- std::optional<edge_property_view_t<edge_t, weight_t const*>> edge_weight_view,
- raft::device_span<weight_t> centralities,
- rmm::device_uvector<vertex_t> &&distances,
- rmm::device_uvector<edge_t> &&sigmas,
- bool with_endpoints,
- bool do_expensive_check
-
template<typename vertex_t, typename edge_t, typename weight_t, bool multi_gpu>
void accumulate_edge_results( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- std::optional<edge_property_view_t<edge_t, weight_t const*>> edge_weight_view,
- edge_property_view_t<edge_t, weight_t*> centralities_view,
- rmm::device_uvector<vertex_t> &&distances,
- rmm::device_uvector<edge_t> &&sigmas,
- bool do_expensive_check
-
template<typename vertex_t, typename edge_t, typename origin_t, bool multi_gpu>
std::tuple<key_bucket_t<vertex_t, origin_t, multi_gpu, true>, std::vector<size_t>> batch_partition_frontier( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- raft::device_span<edge_t const> out_degrees,
- key_bucket_t<vertex_t, origin_t, multi_gpu, true> &&frontier,
- size_t num_sources
-
template<typename vertex_t, typename edge_t, typename weight_t, bool multi_gpu, typename VertexIterator>
std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<edge_t>> multisource_bfs( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- std::optional<edge_property_view_t<edge_t, weight_t const*>> edge_weight_view,
- raft::device_span<edge_t const> out_degrees,
- VertexIterator sources_first,
- VertexIterator sources_last,
- bool do_expensive_check
-
template<typename vertex_t, typename edge_t, typename weight_t, bool multi_gpu, typename VertexIterator>
void multisource_backward_pass( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- std::optional<edge_property_view_t<edge_t, weight_t const*>> edge_weight_view,
- raft::device_span<edge_t const> out_degrees,
- raft::device_span<weight_t> centralities,
- rmm::device_uvector<vertex_t> &&distances_2d,
- rmm::device_uvector<edge_t> &&sigmas_2d,
- VertexIterator sources_first,
- VertexIterator sources_last,
- bool include_endpoints,
- bool do_expensive_check
-
template<typename vertex_t, typename edge_t, typename weight_t, bool multi_gpu, typename VertexIterator>
rmm::device_uvector<weight_t> betweenness_centrality( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- std::optional<edge_property_view_t<edge_t, weight_t const*>> edge_weight_view,
- VertexIterator vertices_begin,
- VertexIterator vertices_end,
- bool const normalized,
- bool const include_endpoints,
- bool const do_expensive_check
-
template<typename vertex_t, typename edge_t, typename weight_t, bool multi_gpu, typename VertexIterator>
edge_property_t<edge_t, weight_t> edge_betweenness_centrality( - const raft::handle_t &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- std::optional<edge_property_view_t<edge_t, weight_t const*>> edge_weight_view,
- VertexIterator vertices_begin,
- VertexIterator vertices_end,
- bool const normalized,
- bool const do_expensive_check
-
template<typename vertex_t, typename edge_t, typename weight_t, bool multi_gpu>
rmm::device_uvector<weight_t> eigenvector_centrality( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, true, multi_gpu> const &pull_graph_view,
- std::optional<edge_property_view_t<edge_t, weight_t const*>> edge_weight_view,
- std::optional<raft::device_span<weight_t const>> initial_centralities,
- weight_t epsilon,
- size_t max_iterations,
- bool do_expensive_check
-
template<typename GraphViewType, typename weight_t, typename result_t>
void katz_centrality( - raft::handle_t const &handle,
- GraphViewType const &pull_graph_view,
- std::optional<edge_property_view_t<typename GraphViewType::edge_type, weight_t const*>> edge_weight_view,
- result_t const *betas,
- result_t *katz_centralities,
- result_t alpha,
- result_t beta,
- result_t epsilon,
- size_t max_iterations,
- bool has_initial_guess,
- bool normalize,
- bool do_expensive_check
-
template<typename vertex_t, typename edge_t, typename weight_t, bool multi_gpu>
std::tuple<rmm::device_uvector<vertex_t>, weight_t> approximate_weighted_matching( - raft::handle_t const &handle,
- cugraph::graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- edge_property_view_t<edge_t, weight_t const*> edge_weight_view
-
template<typename vertex_t, typename edge_t, typename weight_t, bool multi_gpu>
weight_t compute_modularity( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- std::optional<edge_property_view_t<edge_t, weight_t const*>> edge_weight_view,
- edge_src_property_t<vertex_t, vertex_t> const &src_clusters_cache,
- edge_dst_property_t<vertex_t, vertex_t> const &dst_clusters_cache,
- rmm::device_uvector<vertex_t> const &next_clusters,
- rmm::device_uvector<weight_t> const &cluster_weights,
- weight_t total_edge_weight,
- weight_t resolution
-
template<typename vertex_t, typename edge_t, typename weight_t, bool multi_gpu>
std::tuple<cugraph::graph_t<vertex_t, edge_t, false, multi_gpu>, std::optional<edge_property_t<edge_t, weight_t>>> graph_contraction( - raft::handle_t const &handle,
- cugraph::graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- std::optional<edge_property_view_t<edge_t, weight_t const*>> edge_weights_view,
- raft::device_span<vertex_t> labels
-
template<typename vertex_t, typename edge_t, typename weight_t, bool multi_gpu>
rmm::device_uvector<vertex_t> update_clustering_by_delta_modularity( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- std::optional<edge_property_view_t<edge_t, weight_t const*>> edge_weight_view,
- weight_t total_edge_weight,
- weight_t resolution,
- rmm::device_uvector<weight_t> const &vertex_weights_v,
- rmm::device_uvector<vertex_t> &&cluster_keys_v,
- rmm::device_uvector<weight_t> &&cluster_weights_v,
- rmm::device_uvector<vertex_t> &&next_clusters_v,
- edge_src_property_t<vertex_t, weight_t> const &src_vertex_weights_cache,
- edge_src_property_t<vertex_t, vertex_t> const &src_clusters_cache,
- edge_dst_property_t<vertex_t, vertex_t> const &dst_clusters_cache,
- bool up_down,
- weight_t threshold
-
template<typename vertex_t, typename edge_t, typename weight_t, bool multi_gpu>
std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<weight_t>> compute_cluster_keys_and_values( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- std::optional<edge_property_view_t<edge_t, weight_t const*>> edge_weight_view,
- rmm::device_uvector<vertex_t> const &next_clusters_v,
- edge_src_property_t<vertex_t, vertex_t> const &src_clusters_cache
-
template<typename vertex_t, typename edge_t, typename weight_t, bool multi_gpu>
std::tuple<graph_t<vertex_t, edge_t, false, multi_gpu>, std::optional<edge_property_t<edge_t, weight_t>>> graph_contraction( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- std::optional<edge_property_view_t<edge_t, weight_t const*>> edge_weights,
- raft::device_span<vertex_t> labels
- template float compute_modularity (raft::handle_t const &handle, cugraph::graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, edge_src_property_t< int32_t, int32_t > const &src_clusters_cache, edge_dst_property_t< int32_t, int32_t > const &dst_clusters_cache, rmm::device_uvector< int32_t > const &next_clusters, rmm::device_uvector< float > const &cluster_weights, float total_edge_weight, float resolution)
- template double compute_modularity (raft::handle_t const &handle, cugraph::graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, edge_src_property_t< int32_t, int32_t > const &src_clusters_cache, edge_dst_property_t< int32_t, int32_t > const &dst_clusters_cache, rmm::device_uvector< int32_t > const &next_clusters, rmm::device_uvector< double > const &cluster_weights, double total_edge_weight, double resolution)
- template std::tuple< cugraph::graph_t< int32_t, int32_t, false, true >, std::optional< edge_property_t< int32_t, float > > > graph_contraction (raft::handle_t const &handle, cugraph::graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weights, raft::device_span< int32_t > labels)
- template std::tuple< cugraph::graph_t< int32_t, int32_t, false, true >, std::optional< edge_property_t< int32_t, double > > > graph_contraction (raft::handle_t const &handle, cugraph::graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weights, raft::device_span< int32_t > labels)
- template rmm::device_uvector< int32_t > update_clustering_by_delta_modularity (raft::handle_t const &handle, cugraph::graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, float total_edge_weight, float resolution, rmm::device_uvector< float > const &vertex_weights_v, rmm::device_uvector< int32_t > &&cluster_keys_v, rmm::device_uvector< float > &&cluster_weights_v, rmm::device_uvector< int32_t > &&next_clusters_v, edge_src_property_t< int32_t, float > const &src_vertex_weights_cache, edge_src_property_t< int32_t, int32_t > const &src_clusters_cache, edge_dst_property_t< int32_t, int32_t > const &dst_clusters_cache, bool up_down, float threshold)
- template rmm::device_uvector< int32_t > update_clustering_by_delta_modularity (raft::handle_t const &handle, cugraph::graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, double total_edge_weight, double resolution, rmm::device_uvector< double > const &vertex_weights_v, rmm::device_uvector< int32_t > &&cluster_keys_v, rmm::device_uvector< double > &&cluster_weights_v, rmm::device_uvector< int32_t > &&next_clusters_v, edge_src_property_t< int32_t, double > const &src_vertex_weights_cache, edge_src_property_t< int32_t, int32_t > const &src_clusters_cache, edge_dst_property_t< int32_t, int32_t > const &dst_clusters_cache, bool up_down, double threshold)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< float > > compute_cluster_keys_and_values (raft::handle_t const &handle, cugraph::graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, rmm::device_uvector< int32_t > const &next_clusters_v, edge_src_property_t< int32_t, int32_t > const &src_clusters_cache)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< double > > compute_cluster_keys_and_values (raft::handle_t const &handle, cugraph::graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, rmm::device_uvector< int32_t > const &next_clusters_v, edge_src_property_t< int32_t, int32_t > const &src_clusters_cache)
- template float compute_modularity (raft::handle_t const &handle, cugraph::graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, edge_src_property_t< int64_t, int64_t > const &src_clusters_cache, edge_dst_property_t< int64_t, int64_t > const &dst_clusters_cache, rmm::device_uvector< int64_t > const &next_clusters, rmm::device_uvector< float > const &cluster_weights, float total_edge_weight, float resolution)
- template double compute_modularity (raft::handle_t const &handle, cugraph::graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, edge_src_property_t< int64_t, int64_t > const &src_clusters_cache, edge_dst_property_t< int64_t, int64_t > const &dst_clusters_cache, rmm::device_uvector< int64_t > const &next_clusters, rmm::device_uvector< double > const &cluster_weights, double total_edge_weight, double resolution)
- template std::tuple< cugraph::graph_t< int64_t, int64_t, false, true >, std::optional< edge_property_t< int64_t, float > > > graph_contraction (raft::handle_t const &handle, cugraph::graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weights, raft::device_span< int64_t > labels)
- template std::tuple< cugraph::graph_t< int64_t, int64_t, false, true >, std::optional< edge_property_t< int64_t, double > > > graph_contraction (raft::handle_t const &handle, cugraph::graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weights, raft::device_span< int64_t > labels)
- template rmm::device_uvector< int64_t > update_clustering_by_delta_modularity (raft::handle_t const &handle, cugraph::graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, float total_edge_weight, float resolution, rmm::device_uvector< float > const &vertex_weights_v, rmm::device_uvector< int64_t > &&cluster_keys_v, rmm::device_uvector< float > &&cluster_weights_v, rmm::device_uvector< int64_t > &&next_clusters_v, edge_src_property_t< int64_t, float > const &src_vertex_weights_cache, edge_src_property_t< int64_t, int64_t > const &src_clusters_cache, edge_dst_property_t< int64_t, int64_t > const &dst_clusters_cache, bool up_down, float threshold)
- template rmm::device_uvector< int64_t > update_clustering_by_delta_modularity (raft::handle_t const &handle, cugraph::graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, double total_edge_weight, double resolution, rmm::device_uvector< double > const &vertex_weights_v, rmm::device_uvector< int64_t > &&cluster_keys_v, rmm::device_uvector< double > &&cluster_weights_v, rmm::device_uvector< int64_t > &&next_clusters_v, edge_src_property_t< int64_t, double > const &src_vertex_weights_cache, edge_src_property_t< int64_t, int64_t > const &src_clusters_cache, edge_dst_property_t< int64_t, int64_t > const &dst_clusters_cache, bool up_down, double threshold)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< float > > compute_cluster_keys_and_values (raft::handle_t const &handle, cugraph::graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, rmm::device_uvector< int64_t > const &next_clusters_v, edge_src_property_t< int64_t, int64_t > const &src_clusters_cache)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< double > > compute_cluster_keys_and_values (raft::handle_t const &handle, cugraph::graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, rmm::device_uvector< int64_t > const &next_clusters_v, edge_src_property_t< int64_t, int64_t > const &src_clusters_cache)
- template float compute_modularity (raft::handle_t const &handle, cugraph::graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, edge_src_property_t< int32_t, int32_t > const &src_clusters_cache, edge_dst_property_t< int32_t, int32_t > const &dst_clusters_cache, rmm::device_uvector< int32_t > const &next_clusters, rmm::device_uvector< float > const &cluster_weights, float total_edge_weight, float resolution)
- template double compute_modularity (raft::handle_t const &handle, cugraph::graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, edge_src_property_t< int32_t, int32_t > const &src_clusters_cache, edge_dst_property_t< int32_t, int32_t > const &dst_clusters_cache, rmm::device_uvector< int32_t > const &next_clusters, rmm::device_uvector< double > const &cluster_weights, double total_edge_weight, double resolution)
- template std::tuple< cugraph::graph_t< int32_t, int32_t, false, false >, std::optional< edge_property_t< int32_t, float > > > graph_contraction (raft::handle_t const &handle, cugraph::graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weights, raft::device_span< int32_t > labels)
- template std::tuple< cugraph::graph_t< int32_t, int32_t, false, false >, std::optional< edge_property_t< int32_t, double > > > graph_contraction (raft::handle_t const &handle, cugraph::graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weights, raft::device_span< int32_t > labels)
- template rmm::device_uvector< int32_t > update_clustering_by_delta_modularity (raft::handle_t const &handle, cugraph::graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, float total_edge_weight, float resolution, rmm::device_uvector< float > const &vertex_weights_v, rmm::device_uvector< int32_t > &&cluster_keys_v, rmm::device_uvector< float > &&cluster_weights_v, rmm::device_uvector< int32_t > &&next_clusters_v, edge_src_property_t< int32_t, float > const &src_vertex_weights_cache, edge_src_property_t< int32_t, int32_t > const &src_clusters_cache, edge_dst_property_t< int32_t, int32_t > const &dst_clusters_cache, bool up_down, float threshold)
- template rmm::device_uvector< int32_t > update_clustering_by_delta_modularity (raft::handle_t const &handle, cugraph::graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, double total_edge_weight, double resolution, rmm::device_uvector< double > const &vertex_weights_v, rmm::device_uvector< int32_t > &&cluster_keys_v, rmm::device_uvector< double > &&cluster_weights_v, rmm::device_uvector< int32_t > &&next_clusters_v, edge_src_property_t< int32_t, double > const &src_vertex_weights_cache, edge_src_property_t< int32_t, int32_t > const &src_clusters_cache, edge_dst_property_t< int32_t, int32_t > const &dst_clusters_cache, bool up_down, double threshold)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< float > > compute_cluster_keys_and_values (raft::handle_t const &handle, cugraph::graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, rmm::device_uvector< int32_t > const &next_clusters_v, edge_src_property_t< int32_t, int32_t > const &src_clusters_cache)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< double > > compute_cluster_keys_and_values (raft::handle_t const &handle, cugraph::graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, rmm::device_uvector< int32_t > const &next_clusters_v, edge_src_property_t< int32_t, int32_t > const &src_clusters_cache)
- template float compute_modularity (raft::handle_t const &handle, cugraph::graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, edge_src_property_t< int64_t, int64_t > const &src_clusters_cache, edge_dst_property_t< int64_t, int64_t > const &dst_clusters_cache, rmm::device_uvector< int64_t > const &next_clusters, rmm::device_uvector< float > const &cluster_weights, float total_edge_weight, float resolution)
- template double compute_modularity (raft::handle_t const &handle, cugraph::graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, edge_src_property_t< int64_t, int64_t > const &src_clusters_cache, edge_dst_property_t< int64_t, int64_t > const &dst_clusters_cache, rmm::device_uvector< int64_t > const &next_clusters, rmm::device_uvector< double > const &cluster_weights, double total_edge_weight, double resolution)
- template std::tuple< cugraph::graph_t< int64_t, int64_t, false, false >, std::optional< edge_property_t< int64_t, float > > > graph_contraction (raft::handle_t const &handle, cugraph::graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weights, raft::device_span< int64_t > labels)
- template std::tuple< cugraph::graph_t< int64_t, int64_t, false, false >, std::optional< edge_property_t< int64_t, double > > > graph_contraction (raft::handle_t const &handle, cugraph::graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weights, raft::device_span< int64_t > labels)
- template rmm::device_uvector< int64_t > update_clustering_by_delta_modularity (raft::handle_t const &handle, cugraph::graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, float total_edge_weight, float resolution, rmm::device_uvector< float > const &vertex_weights_v, rmm::device_uvector< int64_t > &&cluster_keys_v, rmm::device_uvector< float > &&cluster_weights_v, rmm::device_uvector< int64_t > &&next_clusters_v, edge_src_property_t< int64_t, float > const &src_vertex_weights_cache, edge_src_property_t< int64_t, int64_t > const &src_clusters_cache, edge_dst_property_t< int64_t, int64_t > const &dst_clusters_cache, bool up_down, float threshold)
- template rmm::device_uvector< int64_t > update_clustering_by_delta_modularity (raft::handle_t const &handle, cugraph::graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, double total_edge_weight, double resolution, rmm::device_uvector< double > const &vertex_weights_v, rmm::device_uvector< int64_t > &&cluster_keys_v, rmm::device_uvector< double > &&cluster_weights_v, rmm::device_uvector< int64_t > &&next_clusters_v, edge_src_property_t< int64_t, double > const &src_vertex_weights_cache, edge_src_property_t< int64_t, int64_t > const &src_clusters_cache, edge_dst_property_t< int64_t, int64_t > const &dst_clusters_cache, bool up_down, double threshold)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< float > > compute_cluster_keys_and_values (raft::handle_t const &handle, cugraph::graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, rmm::device_uvector< int64_t > const &next_clusters_v, edge_src_property_t< int64_t, int64_t > const &src_clusters_cache)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< double > > compute_cluster_keys_and_values (raft::handle_t const &handle, cugraph::graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, rmm::device_uvector< int64_t > const &next_clusters_v, edge_src_property_t< int64_t, int64_t > const &src_clusters_cache)
-
template<typename vertex_t, bool multi_gpu>
rmm::device_uvector<vertex_t> vertices_in_mis_from_decision_edgelist( - raft::handle_t const &handle,
- raft::random::RngState &rng_state,
- raft::host_span<vertex_t const> vertex_partition_range_lasts,
- rmm::device_uvector<vertex_t> &&d_srcs,
- rmm::device_uvector<vertex_t> &&d_dsts
Build a decision graph from an edgelist, compute a maximal independent set of moves, relabel MIS vertices to original ids, and (multi-GPU) shuffle them to owning ranks.
- Parameters:
vertex_partition_range_lasts – Used only when multi_gpu is true (shuffle_int_vertices).
- template rmm::device_uvector< int32_t > vertices_in_mis_from_decision_edgelist< int32_t, true > (raft::handle_t const &handle, raft::random::RngState &rng_state, raft::host_span< int32_t const > vertex_partition_range_lasts, rmm::device_uvector< int32_t > &&d_srcs, rmm::device_uvector< int32_t > &&d_dsts)
- template rmm::device_uvector< int64_t > vertices_in_mis_from_decision_edgelist< int64_t, true > (raft::handle_t const &handle, raft::random::RngState &rng_state, raft::host_span< int64_t const > vertex_partition_range_lasts, rmm::device_uvector< int64_t > &&d_srcs, rmm::device_uvector< int64_t > &&d_dsts)
- template rmm::device_uvector< int32_t > vertices_in_mis_from_decision_edgelist< int32_t, false > (raft::handle_t const &handle, raft::random::RngState &rng_state, raft::host_span< int32_t const > vertex_partition_range_lasts, rmm::device_uvector< int32_t > &&d_srcs, rmm::device_uvector< int32_t > &&d_dsts)
- template rmm::device_uvector< int64_t > vertices_in_mis_from_decision_edgelist< int64_t, false > (raft::handle_t const &handle, raft::random::RngState &rng_state, raft::host_span< int64_t const > vertex_partition_range_lasts, rmm::device_uvector< int64_t > &&d_srcs, rmm::device_uvector< int64_t > &&d_dsts)
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
rmm::device_uvector<vertex_t> maximal_independent_moves( - raft::handle_t const &handle,
- cugraph::graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- raft::random::RngState &rng_state
- template rmm::device_uvector< int32_t > maximal_independent_moves (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &decision_graph_view, raft::random::RngState &rng_state)
- template rmm::device_uvector< int64_t > maximal_independent_moves (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &decision_graph_view, raft::random::RngState &rng_state)
- template rmm::device_uvector< int32_t > maximal_independent_moves (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &decision_graph_view, raft::random::RngState &rng_state)
- template rmm::device_uvector< int64_t > maximal_independent_moves (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &decision_graph_view, raft::random::RngState &rng_state)
-
template<typename vertex_t, typename edge_t, bool multi_gpu, typename weight_t>
std::tuple<rmm::device_uvector<vertex_t>, std::pair<rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>>> refine_clustering( - raft::handle_t const &handle,
- raft::random::RngState &rng_state,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- std::optional<edge_property_view_t<edge_t, weight_t const*>> edge_weight_view,
- weight_t total_edge_weight,
- weight_t resolution,
- weight_t theta,
- rmm::device_uvector<weight_t> const &vertex_weights_v,
- rmm::device_uvector<vertex_t> &&cluster_keys_v,
- rmm::device_uvector<weight_t> &&cluster_weights_v,
- rmm::device_uvector<vertex_t> &&next_clusters_v,
- edge_src_property_t<vertex_t, weight_t> const &src_vertex_weights_cache,
- edge_src_property_t<vertex_t, vertex_t> const &src_clusters_cache,
- edge_dst_property_t<vertex_t, vertex_t> const &dst_clusters_cache
- template std::tuple< rmm::device_uvector< int32_t >, std::pair< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t > > > refine_clustering< int32_t, int32_t, true, float > (raft::handle_t const &handle, raft::random::RngState &rng_state, cugraph::graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, float total_edge_weight, float resolution, float theta, rmm::device_uvector< float > const &vertex_weights_v, rmm::device_uvector< int32_t > &&cluster_keys_v, rmm::device_uvector< float > &&cluster_weights_v, rmm::device_uvector< int32_t > &&next_clusters_v, edge_src_property_t< int32_t, float > const &src_vertex_weights_cache, edge_src_property_t< int32_t, int32_t > const &src_clusters_cache, edge_dst_property_t< int32_t, int32_t > const &dst_clusters_cache)
- template std::tuple< rmm::device_uvector< int32_t >, std::pair< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t > > > refine_clustering< int32_t, int32_t, true, double > (raft::handle_t const &handle, raft::random::RngState &rng_state, cugraph::graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, double total_edge_weight, double resolution, double theta, rmm::device_uvector< double > const &vertex_weights_v, rmm::device_uvector< int32_t > &&cluster_keys_v, rmm::device_uvector< double > &&cluster_weights_v, rmm::device_uvector< int32_t > &&next_clusters_v, edge_src_property_t< int32_t, double > const &src_vertex_weights_cache, edge_src_property_t< int32_t, int32_t > const &src_clusters_cache, edge_dst_property_t< int32_t, int32_t > const &dst_clusters_cache)
- template std::tuple< rmm::device_uvector< int64_t >, std::pair< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t > > > refine_clustering< int64_t, int64_t, true, float > (raft::handle_t const &handle, raft::random::RngState &rng_state, cugraph::graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, float total_edge_weight, float resolution, float theta, rmm::device_uvector< float > const &vertex_weights_v, rmm::device_uvector< int64_t > &&cluster_keys_v, rmm::device_uvector< float > &&cluster_weights_v, rmm::device_uvector< int64_t > &&next_clusters_v, edge_src_property_t< int64_t, float > const &src_vertex_weights_cache, edge_src_property_t< int64_t, int64_t > const &src_clusters_cache, edge_dst_property_t< int64_t, int64_t > const &dst_clusters_cache)
- template std::tuple< rmm::device_uvector< int64_t >, std::pair< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t > > > refine_clustering< int64_t, int64_t, true, double > (raft::handle_t const &handle, raft::random::RngState &rng_state, cugraph::graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, double total_edge_weight, double resolution, double theta, rmm::device_uvector< double > const &vertex_weights_v, rmm::device_uvector< int64_t > &&cluster_keys_v, rmm::device_uvector< double > &&cluster_weights_v, rmm::device_uvector< int64_t > &&next_clusters_v, edge_src_property_t< int64_t, double > const &src_vertex_weights_cache, edge_src_property_t< int64_t, int64_t > const &src_clusters_cache, edge_dst_property_t< int64_t, int64_t > const &dst_clusters_cache)
- template std::tuple< rmm::device_uvector< int32_t >, std::pair< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t > > > refine_clustering< int32_t, int32_t, false, float > (raft::handle_t const &handle, raft::random::RngState &rng_state, cugraph::graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, float total_edge_weight, float resolution, float theta, rmm::device_uvector< float > const &vertex_weights_v, rmm::device_uvector< int32_t > &&cluster_keys_v, rmm::device_uvector< float > &&cluster_weights_v, rmm::device_uvector< int32_t > &&next_clusters_v, edge_src_property_t< int32_t, float > const &src_vertex_weights_cache, edge_src_property_t< int32_t, int32_t > const &src_clusters_cache, edge_dst_property_t< int32_t, int32_t > const &dst_clusters_cache)
- template std::tuple< rmm::device_uvector< int32_t >, std::pair< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t > > > refine_clustering< int32_t, int32_t, false, double > (raft::handle_t const &handle, raft::random::RngState &rng_state, cugraph::graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, double total_edge_weight, double resolution, double theta, rmm::device_uvector< double > const &vertex_weights_v, rmm::device_uvector< int32_t > &&cluster_keys_v, rmm::device_uvector< double > &&cluster_weights_v, rmm::device_uvector< int32_t > &&next_clusters_v, edge_src_property_t< int32_t, double > const &src_vertex_weights_cache, edge_src_property_t< int32_t, int32_t > const &src_clusters_cache, edge_dst_property_t< int32_t, int32_t > const &dst_clusters_cache)
- template std::tuple< rmm::device_uvector< int64_t >, std::pair< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t > > > refine_clustering< int64_t, int64_t, false, float > (raft::handle_t const &handle, raft::random::RngState &rng_state, cugraph::graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, float total_edge_weight, float resolution, float theta, rmm::device_uvector< float > const &vertex_weights_v, rmm::device_uvector< int64_t > &&cluster_keys_v, rmm::device_uvector< float > &&cluster_weights_v, rmm::device_uvector< int64_t > &&next_clusters_v, edge_src_property_t< int64_t, float > const &src_vertex_weights_cache, edge_src_property_t< int64_t, int64_t > const &src_clusters_cache, edge_dst_property_t< int64_t, int64_t > const &dst_clusters_cache)
- template std::tuple< rmm::device_uvector< int64_t >, std::pair< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t > > > refine_clustering< int64_t, int64_t, false, double > (raft::handle_t const &handle, raft::random::RngState &rng_state, cugraph::graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, double total_edge_weight, double resolution, double theta, rmm::device_uvector< double > const &vertex_weights_v, rmm::device_uvector< int64_t > &&cluster_keys_v, rmm::device_uvector< double > &&cluster_weights_v, rmm::device_uvector< int64_t > &&next_clusters_v, edge_src_property_t< int64_t, double > const &src_vertex_weights_cache, edge_src_property_t< int64_t, int64_t > const &src_clusters_cache, edge_dst_property_t< int64_t, int64_t > const &dst_clusters_cache)
-
template<typename vertex_t, typename edge_t, typename weight_t, bool multi_gpu>
std::tuple<rmm::device_uvector<vertex_t>, size_t, weight_t> ecg( - raft::handle_t const &handle,
- raft::random::RngState &rng_state,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- std::optional<edge_property_view_t<edge_t, weight_t const*>> edge_weight_view,
- weight_t min_weight,
- size_t ensemble_size,
- size_t max_level,
- weight_t threshold,
- weight_t resolution
-
template<typename vertex_t, typename edge_t, bool store_transposed, bool multi_gpu>
edge_property_t<edge_t, edge_t> edge_triangle_count_impl( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, store_transposed, multi_gpu> const &graph_view,
- bool do_expensive_check
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
void check_clustering( - graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- vertex_t *clustering
-
template<typename vertex_t, bool multi_gpu>
vertex_t remove_duplicates( - raft::handle_t const &handle,
- rmm::device_uvector<vertex_t> &input_array
-
template<typename vertex_t, typename edge_t, typename weight_t, bool multi_gpu, bool store_transposed = false>
std::pair<std::unique_ptr<Dendrogram<vertex_t>>, weight_t> leiden( - raft::handle_t const &handle,
- raft::random::RngState &rng_state,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- std::optional<edge_property_view_t<edge_t, weight_t const*>> edge_weight_view,
- size_t max_level,
- weight_t resolution,
- weight_t theta = 1.0
-
template<typename vertex_t, bool multi_gpu>
void relabel_cluster_ids( - raft::handle_t const &handle,
- rmm::device_uvector<vertex_t> &unique_cluster_ids,
- vertex_t *clustering,
- size_t num_nodes
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
void flatten_leiden_dendrogram( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- Dendrogram<vertex_t> const &dendrogram,
- vertex_t *clustering
-
template<typename vertex_t, typename edge_t, typename weight_t, bool multi_gpu>
std::pair<std::unique_ptr<Dendrogram<vertex_t>>, weight_t> louvain( - raft::handle_t const &handle,
- std::optional<std::reference_wrapper<raft::random::RngState>> rng_state,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- std::optional<edge_property_view_t<edge_t, weight_t const*>> edge_weight_view,
- size_t max_level,
- weight_t threshold,
- weight_t resolution
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
void flatten_dendrogram( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- Dendrogram<vertex_t> const &dendrogram,
- vertex_t *clustering
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
rmm::device_uvector<vertex_t> maximal_independent_set( - raft::handle_t const &handle,
- cugraph::graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- raft::random::RngState &rng_state
-
template<typename vertex_t, bool multi_gpu, typename ValueIterator, typename ReduceOp>
std::tuple<rmm::device_uvector<vertex_t>, dataframe_buffer_type_t<typename thrust::iterator_traits<ValueIterator>::value_type>> reduce_by_component( - raft::handle_t const &handle,
- raft::device_span<vertex_t const> components,
- ValueIterator value_first,
- ReduceOp reduce_op
-
template<typename vertex_t, bool multi_gpu>
rmm::device_uvector<vertex_t> compute_component_sizes( - raft::handle_t const &handle,
- raft::device_span<vertex_t const> components,
- std::optional<raft::device_span<vertex_t const>> seed_vertices,
- vertex_t local_vertex_partition_range_first
-
template<typename vertex_t, bool multi_gpu>
rmm::device_uvector<vertex_t> extract_length_2_cycle_vertices( - raft::handle_t const &handle,
- raft::device_span<vertex_t const> components,
- raft::device_span<vertex_t const> component_sizes,
- vertex_t local_vertex_partition_range_first
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
rmm::device_uvector<vertex_t> renumber_seed_vertices( - raft::handle_t const &handle,
- raft::device_span<vertex_t const> seed_vertices,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- raft::device_span<vertex_t const> renumber_map,
- bool do_expensive_check
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
std::tuple<rmm::device_uvector<float>, double> compute_in_out_degree_products( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view
-
template<typename T>
rmm::device_uvector<T> concatenate( - raft::handle_t const &handle,
- std::vector<rmm::device_uvector<T>> &&inputs
-
template<typename vertex_t, bool multi_gpu>
std::tuple<std::vector<rmm::device_uvector<vertex_t>>, std::vector<rmm::device_uvector<vertex_t>>> push_back_cycles( - raft::handle_t const &handle,
- std::vector<rmm::device_uvector<vertex_t>> &&cycle_vertex_chunks,
- std::vector<rmm::device_uvector<vertex_t>> &&cycle_length_chunks,
- rmm::device_uvector<vertex_t> &&new_cycle_vertices,
- std::variant<vertex_t, rmm::device_uvector<vertex_t>> &&new_cycle_lengths,
- std::optional<std::tuple<raft::device_span<vertex_t const>, raft::host_span<vertex_t const>>> renumber_info = std::nullopt
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>, std::optional<vertex_t>> enumerate_simple_cycles_expanding_paths( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- raft::device_span<vertex_t const> reverse_distances,
- edge_dst_property_t<vertex_t, vertex_t> const &dst_reverse_distances,
- rmm::device_uvector<vertex_t> &&path_vertices,
- vertex_t start_path_length,
- vertex_t length_bound,
- size_t max_aggregate_paths
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>> enumerate_simple_cycles_including_roots( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- raft::device_span<vertex_t const> roots,
- raft::device_span<vertex_t const> reverse_distances,
- vertex_t length_bound,
- double approx_path_expansion_factor
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
std::tuple<std::vector<rmm::device_uvector<vertex_t>>, std::vector<rmm::device_uvector<vertex_t>>> simple_cycles_impl( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- std::optional<raft::device_span<vertex_t const>> seed_vertices,
- vertex_t length_bound,
- bool do_expensive_check
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
rmm::device_uvector<vertex_t> vertex_coloring( - raft::handle_t const &handle,
- cugraph::graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- raft::random::RngState &rng_state
-
template<typename VT, typename ET, typename WT>
VT sort( - legacy::GraphCOOView<VT, ET, WT> &graph,
- cuda::stream_ref stream_view
Sort input graph and find the total number of vertices.
Lexicographically sort a COO view and find the total number of vertices
- Throws:
cugraph::logic_error – when an error occurs.
- Template Parameters:
VT – Type of vertex identifiers. Supported value : int (signed, 32-bit)
ET – Type of edge identifiers. Supported value : int (signed, 32-bit)
WT – Type of edge weights. Supported value : float or double.
- Parameters:
graph – [in] The input graph object
stream_view – [in] The cuda stream for kernel calls
result – [out] Total number of vertices
-
template<typename VT, typename ET>
void fill_offset(
)#
-
template<typename VT, typename ET>
rmm::device_buffer create_offset( - VT *source,
- VT number_of_vertices,
- ET number_of_edges,
- cuda::stream_ref stream_view,
- rmm::device_async_resource_ref mr
-
template<typename vertex_t, typename value_t, bool multi_gpu>
rmm::device_uvector<value_t> collect_local_vertex_values_from_ext_vertex_value_pairs( - raft::handle_t const &handle,
- rmm::device_uvector<vertex_t> &&d_vertices,
- rmm::device_uvector<value_t> &&d_values,
- rmm::device_uvector<vertex_t> const &number_map,
- vertex_t local_vertex_first,
- vertex_t local_vertex_last,
- value_t default_value,
- bool do_expensive_check
Collect vertex values (represented as k/v pairs across cluster) and return local value arrays on the GPU responsible for each vertex.
Data will be shuffled, renumbered and initialized with the default value, then: return_array[d_vertices[i]] = d_values[i]
- Template Parameters:
vertex_t – Type of vertex identifiers. Needs to be an integral type.
value_t – Type of value associated with the vertex.
bool – multi_gpu flag
- Parameters:
handle – [in] RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
d_vertices – [in] Vertex IDs for the k/v pair
d_values – [in] Values for the k/v pair
The – [in] number map for performing renumbering
local_vertex_first – [in] The first vertex id assigned to the local GPU
local_vertex_last – [in] The last vertex id assigned to the local GPU
default_value – [in] The default value the return array will be initialized by
do_expensive_check – [in] If true, enable expensive validation checks
- Returns:
device vector of values, where return[i] is the value associated with vertex (i + local_vertex_first)
- template rmm::device_uvector< float > collect_local_vertex_values_from_ext_vertex_value_pairs< int32_t, float, true > (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&d_vertices, rmm::device_uvector< float > &&d_values, rmm::device_uvector< int32_t > const &number_map, int32_t local_vertex_first, int32_t local_vertex_last, float default_value, bool do_expensive_check)
- template rmm::device_uvector< int32_t > collect_local_vertex_values_from_ext_vertex_value_pairs< int32_t, int32_t, true > (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&d_vertices, rmm::device_uvector< int32_t > &&d_values, rmm::device_uvector< int32_t > const &number_map, int32_t local_vertex_first, int32_t local_vertex_last, int32_t default_value, bool do_expensive_check)
- template rmm::device_uvector< double > collect_local_vertex_values_from_ext_vertex_value_pairs< int32_t, double, true > (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&d_vertices, rmm::device_uvector< double > &&d_values, rmm::device_uvector< int32_t > const &number_map, int32_t local_vertex_first, int32_t local_vertex_last, double default_value, bool do_expensive_check)
- template rmm::device_uvector< float > collect_local_vertex_values_from_ext_vertex_value_pairs< int64_t, float, true > (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&d_vertices, rmm::device_uvector< float > &&d_values, rmm::device_uvector< int64_t > const &number_map, int64_t local_vertex_first, int64_t local_vertex_last, float default_value, bool do_expensive_check)
- template rmm::device_uvector< double > collect_local_vertex_values_from_ext_vertex_value_pairs< int64_t, double, true > (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&d_vertices, rmm::device_uvector< double > &&d_values, rmm::device_uvector< int64_t > const &number_map, int64_t local_vertex_first, int64_t local_vertex_last, double default_value, bool do_expensive_check)
- template rmm::device_uvector< int64_t > collect_local_vertex_values_from_ext_vertex_value_pairs< int64_t, int64_t, true > (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&d_vertices, rmm::device_uvector< int64_t > &&d_values, rmm::device_uvector< int64_t > const &number_map, int64_t local_vertex_first, int64_t local_vertex_last, int64_t default_value, bool do_expensive_check)
- template rmm::device_uvector< float > collect_local_vertex_values_from_ext_vertex_value_pairs< int32_t, float, false > (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&d_vertices, rmm::device_uvector< float > &&d_values, rmm::device_uvector< int32_t > const &number_map, int32_t local_vertex_first, int32_t local_vertex_last, float default_value, bool do_expensive_check)
- template rmm::device_uvector< int32_t > collect_local_vertex_values_from_ext_vertex_value_pairs< int32_t, int32_t, false > (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&d_vertices, rmm::device_uvector< int32_t > &&d_values, rmm::device_uvector< int32_t > const &number_map, int32_t local_vertex_first, int32_t local_vertex_last, int32_t default_value, bool do_expensive_check)
- template rmm::device_uvector< double > collect_local_vertex_values_from_ext_vertex_value_pairs< int32_t, double, false > (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&d_vertices, rmm::device_uvector< double > &&d_values, rmm::device_uvector< int32_t > const &number_map, int32_t local_vertex_first, int32_t local_vertex_last, double default_value, bool do_expensive_check)
- template rmm::device_uvector< float > collect_local_vertex_values_from_ext_vertex_value_pairs< int64_t, float, false > (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&d_vertices, rmm::device_uvector< float > &&d_values, rmm::device_uvector< int64_t > const &number_map, int64_t local_vertex_first, int64_t local_vertex_last, float default_value, bool do_expensive_check)
- template rmm::device_uvector< double > collect_local_vertex_values_from_ext_vertex_value_pairs< int64_t, double, false > (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&d_vertices, rmm::device_uvector< double > &&d_values, rmm::device_uvector< int64_t > const &number_map, int64_t local_vertex_first, int64_t local_vertex_last, double default_value, bool do_expensive_check)
- template rmm::device_uvector< int64_t > collect_local_vertex_values_from_ext_vertex_value_pairs< int64_t, int64_t, false > (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&d_vertices, rmm::device_uvector< int64_t > &&d_values, rmm::device_uvector< int64_t > const &number_map, int64_t local_vertex_first, int64_t local_vertex_last, int64_t default_value, bool do_expensive_check)
- template rmm::device_uvector< int32_t > device_allgatherv (raft::handle_t const &handle, raft::comms::comms_t const &comm, raft::device_span< int32_t const > d_input)
- template rmm::device_uvector< float > device_allgatherv (raft::handle_t const &handle, raft::comms::comms_t const &comm, raft::device_span< float const > d_input)
- template rmm::device_uvector< int64_t > device_allgatherv (raft::handle_t const &handle, raft::comms::comms_t const &comm, raft::device_span< int64_t const > d_input)
- template rmm::device_uvector< size_t > device_allgatherv (raft::handle_t const &handle, raft::comms::comms_t const &comm, raft::device_span< size_t const > d_input)
- template rmm::device_uvector< double > device_allgatherv (raft::handle_t const &handle, raft::comms::comms_t const &comm, raft::device_span< double const > d_input)
-
template<typename vertex_t>
rmm::device_uvector<size_t> groupby_and_count_edgelist_by_local_partition_id( - raft::handle_t const &handle,
- raft::device_span<vertex_t> edgelist_majors,
- raft::device_span<vertex_t> edgelist_minors,
- raft::host_span<cugraph::arithmetic_device_span_t> edgelist_properties,
- bool groupby_and_count_local_partition_by_minor,
- std::optional<large_buffer_type_t> large_buffer_type
- template rmm::device_uvector< size_t > groupby_and_count_edgelist_by_local_partition_id (raft::handle_t const &handle, raft::device_span< int32_t > edgelist_majors, raft::device_span< int32_t > edgelist_minors, raft::host_span< cugraph::arithmetic_device_span_t > edgelist_properties, bool groupby_and_counts_local_partition, std::optional< large_buffer_type_t > large_buffer_type)
- template rmm::device_uvector< size_t > groupby_and_count_edgelist_by_local_partition_id (raft::handle_t const &handle, raft::device_span< int64_t > edgelist_majors, raft::device_span< int64_t > edgelist_minors, raft::host_span< cugraph::arithmetic_device_span_t > edgelist_properties, bool groupby_and_counts_local_partition, std::optional< large_buffer_type_t > large_buffer_type)
-
template<typename vertex_t>
rmm::device_uvector<vertex_t> permute_range( - raft::handle_t const &handle,
- raft::random::RngState &rng_state,
- vertex_t local_start,
- vertex_t local_range_size,
- bool multi_gpu = false,
- bool do_expensive_check = false
Permute a range.
- Template Parameters:
vertex_t – Type of vertex identifiers. Needs to be an integral type.
- Parameters:
handle – [in] RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
rng_state – [in] The RngState instance holding pseudo-random number generator state.
local_range_size – [in] Size of local range assigned to this process.
local_start – [in] Start of local range assigned to this process.
- Returns:
permuted range.
- template rmm::device_uvector< int32_t > permute_range (raft::handle_t const &handle, raft::random::RngState &rng_state, int32_t local_range_start, int32_t local_range_size, bool multi_gpu, bool do_expensive_check)
- template rmm::device_uvector< int64_t > permute_range (raft::handle_t const &handle, raft::random::RngState &rng_state, int64_t local_range_start, int64_t local_range_size, bool multi_gpu, bool do_expensive_check)
-
template<typename vertex_t>
rmm::device_uvector<size_t> groupby_and_count_edgelist_by_local_partition_id( - raft::handle_t const &handle,
- raft::device_span<vertex_t> edgelist_majors,
- raft::device_span<vertex_t> edgelist_minors,
- raft::host_span<arithmetic_device_span_t> edgelist_properties,
- bool groupby_and_count_local_partition_by_minor = false,
- std::optional<large_buffer_type_t> large_buffer_type = std::nullopt
Groupby and count edgelist using the key function which returns the target local partition ID for an edge. The specified spans are reordered in place.
- Template Parameters:
vertex_t – Type of vertex identifiers. Needs to be an integral type.
- Parameters:
handle – [in] RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
edgelist_majors – [inout] Vertex IDs for sources (if we are internally storing edges in the sparse 2D matrix using sources as major indices) or destinations (otherwise)
edgelist_minors – [inout] Vertex IDs for destinations (if we are internally storing edges in the sparse 2D matrix using sources as major indices) or sources (otherwise)
edgelist_properties – [inout] Span of edge properties, each element a device span of an edge property.
groupby_and_count_local_partition_by_minor – [in] If set to true, groupby and count edges based on (local partition ID, GPU ID) pairs (where GPU IDs are computed by applying the compute_gpu_id_from_vertex_t function to the minor vertex ID). If set to false, groupby and count edges by just local partition ID.
large_buffer_type – [in] Flag indicating the large buffer type to use when we need to create a large device-accessible vector object (if the value is std::nullopt, the default RMM per-device memory resource is used).
- Returns:
A vector containing the number of edges in each local partition (if groupby_and_count_local_partition is false) or in each segment with the same (local partition ID, GPU ID) pair.
- template void uniform_random_fill (cuda::stream_ref const &stream_view, int32_t *d_value, size_t size, int32_t min_value, int32_t max_value, raft::random::RngState &rng_state)
- template void uniform_random_fill (cuda::stream_ref const &stream_view, float *d_value, size_t size, float min_value, float max_value, raft::random::RngState &rng_state)
- template void transform_increment_ints (raft::device_span< int32_t > values, int32_t value, cuda::stream_ref const &stream_view)
- template void transform_not_equal (raft::device_span< int32_t > values, raft::device_span< bool > result, int32_t compare, cuda::stream_ref const &stream_view)
- template int32_t compute_maximum_vertex_id (cuda::stream_ref const &stream_view, int32_t const *d_edgelist_srcs, int32_t const *d_edgelist_dsts, size_t num_edges)
- template bool is_sorted (raft::handle_t const &handle, raft::device_span< int32_t > span)
- template bool is_sorted (raft::handle_t const &handle, raft::device_span< int32_t const > span)
- template bool is_equal (raft::handle_t const &handle, raft::device_span< int32_t > span1, raft::device_span< int32_t > span2)
- template bool is_equal (raft::handle_t const &handle, raft::device_span< int32_t const > span1, raft::device_span< int32_t const > span2)
- template size_t count_values< int32_t > (raft::handle_t const &handle, raft::device_span< int32_t const > span, int32_t value)
- template void uniform_random_fill (cuda::stream_ref const &stream_view, int64_t *d_value, size_t size, int64_t min_value, int64_t max_value, raft::random::RngState &rng_state)
- template void uniform_random_fill (cuda::stream_ref const &stream_view, double *d_value, size_t size, double min_value, double max_value, raft::random::RngState &rng_state)
- template void transform_increment_ints (raft::device_span< int64_t > values, int64_t value, cuda::stream_ref const &stream_view)
- template void transform_not_equal (raft::device_span< int64_t > values, raft::device_span< bool > result, int64_t compare, cuda::stream_ref const &stream_view)
- template int64_t compute_maximum_vertex_id (cuda::stream_ref const &stream_view, int64_t const *d_edgelist_srcs, int64_t const *d_edgelist_dsts, size_t num_edges)
- template bool is_sorted (raft::handle_t const &handle, raft::device_span< int64_t > span)
- template bool is_sorted (raft::handle_t const &handle, raft::device_span< int64_t const > span)
- template bool is_equal (raft::handle_t const &handle, raft::device_span< int64_t > span1, raft::device_span< int64_t > span2)
- template bool is_equal (raft::handle_t const &handle, raft::device_span< int64_t const > span1, raft::device_span< int64_t const > span2)
- template size_t count_values< int64_t > (raft::handle_t const &handle, raft::device_span< int64_t const > span, int64_t value)
-
template<typename T>
rmm::device_uvector<T> append_all( - raft::handle_t const &handle,
- std::vector<rmm::device_uvector<T>> &&input
- template<typename uvertex_t> __device__ std::enable_if_t< sizeof(uvertex_t)==8, uvertex_t > bitreversal (uvertex_t value)
- template<typename uvertex_t> __device__ std::enable_if_t< sizeof(uvertex_t)==4, uvertex_t > bitreversal (uvertex_t value)
- template<typename uvertex_t> __device__ std::enable_if_t< sizeof(uvertex_t)==2, uvertex_t > bitreversal (uvertex_t value)
- template<typename vertex_t> __device__ vertex_t scramble (vertex_t value, size_t lgN)
-
template<typename vertex_t, typename edge_t, typename weight_t>
void barnes_hut( - raft::handle_t const &handle,
- raft::random::RngState &rng_state,
- legacy::GraphCOOView<vertex_t, edge_t, weight_t> &graph,
- float *pos,
- const int max_iter = 500,
- float *x_start = nullptr,
- float *y_start = nullptr,
- bool outbound_attraction_distribution = true,
- bool lin_log_mode = false,
- bool prevent_overlapping = false,
- float *vertex_radius = nullptr,
- const float overlap_scaling_ratio = 100.0,
- const float edge_weight_influence = 1.0,
- const float jitter_tolerance = 1.0,
- const float theta = 0.5,
- const float scaling_ratio = 2.0,
- bool strong_gravity_mode = false,
- const float gravity = 1.0,
- float *vertex_mobility = nullptr,
- float *vertex_mass = nullptr,
- bool verbose = false,
- internals::GraphBasedDimRedCallback *callback = nullptr
- static __global__ void InitializationKernel (unsigned *restrict limiter, int *restrict maxdepthd, float *restrict radiusd)
Intializes the states of objects. This speeds the overall kernel up.
- static __global__ void ResetKernel (float *restrict radiusd_squared, int *restrict bottomd, const int NNODES, const float *restrict radiusd)
Reset root.
- static __global__ __launch_bounds__ (THREADS1, FACTOR1) void BoundingBoxKernel(int *restrict startd
Figures the bounding boxes for every point in the embedding.
- for (int j=i+blockIdx.x *THREADS1;j< N;j+=inc)
- for (int j=THREADS1/2;j > i;j/=2)
- if (i==0)
- static __global__ __launch_bounds__ (1024, 1) void ClearKernel1(int *restrict childd
Clear some of the state vectors up.
Clean more state vectors.
- if (k< FOUR_N) k+
- static __global__ __launch_bounds__ (THREADS2, FACTOR2) void TreeBuildingKernel(int *restrict childd
Build the actual KD Tree.
- while (i< N)
- if (localmaxdepth > 32) localmaxdepth
-
atomicMax(maxdepthd, localmaxdepth)#
- static __global__ __launch_bounds__ (THREADS3, FACTOR3) void SummarizationKernel(int *restrict countd
Summarize the KD Tree via cell gathering
- while (k<=NNODES)
- static __global__ __launch_bounds__ (THREADS4, FACTOR4) void SortKernel(int *restrict sortd
Sort the cells
- while (k >=bottom)
- static __global__ __launch_bounds__ (THREADS5, FACTOR5) void RepulsionKernel(const float scaling_ratio
Calculate the repulsive forces using the KD Tree
- if (threadIdx.x==0)
-
__syncthreads()#
-
__threadfence_block()#
- static __global__ __launch_bounds__ (THREADS6, FACTOR6) void apply_forces_bh(float *restrict Y_x
-
template<typename vertex_t, typename edge_t, typename weight_t>
void exact_fa2( - raft::handle_t const &handle,
- raft::random::RngState &rng_state,
- legacy::GraphCOOView<vertex_t, edge_t, weight_t> &graph,
- float *pos,
- const int max_iter = 500,
- float *x_start = nullptr,
- float *y_start = nullptr,
- bool outbound_attraction_distribution = true,
- bool lin_log_mode = false,
- bool prevent_overlapping = false,
- float *vertex_radius = nullptr,
- const float overlap_scaling_ratio = 100.0,
- const float edge_weight_influence = 1.0,
- const float jitter_tolerance = 1.0,
- const float scaling_ratio = 2.0,
- bool strong_gravity_mode = false,
- const float gravity = 1.0,
- float *vertex_mobility = nullptr,
- float *vertex_mass = nullptr,
- bool verbose = false,
- internals::GraphBasedDimRedCallback *callback = nullptr
- template<typename vertex_t> static __global__ void repulsion_kernel (const float *restrict x_pos, const float *restrict y_pos, float *restrict repel_x, float *restrict repel_y, const float *restrict mass, const float scaling_ratio, bool prevent_overlapping, const float *restrict vertex_radius, const float overlap_scaling_ratio, const vertex_t n)
- template<typename vertex_t, int TPB_X = 32, int TPB_Y = 32> void apply_repulsion (const float *restrict x_pos, const float *restrict y_pos, float *restrict repel_x, float *restrict repel_y, const float *restrict mass, const float scaling_ratio, bool prevent_overlapping, const float *restrict vertex_radius, const float overlap_scaling_ratio, const vertex_t n, cudaStream_t stream)
- template<typename vertex_t, typename edge_t, typename weight_t> static __global__ void attraction_kernel (const vertex_t *restrict row, const vertex_t *restrict col, const weight_t *restrict v, const edge_t e, const float *restrict x_pos, const float *restrict y_pos, float *restrict attract_x, float *restrict attract_y, const float *restrict mass, bool outbound_attraction_distribution, bool lin_log_mode, const float edge_weight_influence, bool prevent_overlapping, const float *restrict vertex_radius, const float coef)
- template<typename vertex_t, typename edge_t, typename weight_t> void apply_attraction (const vertex_t *restrict row, const vertex_t *restrict col, const weight_t *restrict v, const edge_t e, const float *restrict x_pos, const float *restrict y_pos, float *restrict attract_x, float *restrict attract_y, const float *restrict mass, bool outbound_attraction_distribution, bool lin_log_mode, const float edge_weight_influence, const float coef, bool prevent_overlapping, const float *restrict vertex_radius, cudaStream_t stream)
- template<typename vertex_t> static __global__ void linear_gravity_kernel (const float *restrict x_pos, const float *restrict y_pos, float *restrict attract_x, float *restrict attract_y, const float *restrict mass, const float gravity, const vertex_t n)
- template<typename vertex_t> static __global__ void strong_gravity_kernel (const float *restrict x_pos, const float *restrict y_pos, float *restrict attract_x, float *restrict attract_y, const float *restrict mass, const float gravity, const float scaling_ratio, const vertex_t n)
- template<typename vertex_t> void apply_gravity (const float *restrict x_pos, const float *restrict y_pos, float *restrict attract_x, float *restrict attract_y, const float *restrict mass, const float gravity, bool strong_gravity_mode, const float scaling_ratio, const vertex_t n, cudaStream_t stream)
- template<typename vertex_t> static __global__ void local_speed_kernel (const float *restrict repel_x, const float *restrict repel_y, const float *restrict attract_x, const float *restrict attract_y, const float *restrict old_dx, const float *restrict old_dy, const float *restrict mass, float *restrict swinging, float *restrict traction, const vertex_t n)
- template<typename vertex_t> void compute_local_speed (const float *restrict repel_x, const float *restrict repel_y, const float *restrict attract_x, const float *restrict attract_y, float *restrict old_dx, float *restrict old_dy, const float *restrict mass, float *restrict swinging, float *restrict traction, const vertex_t n, cudaStream_t stream)
- template<typename vertex_t> void adapt_speed (const float jitter_tolerance, float *restrict jt, float *restrict speed, float *restrict speed_efficiency, const float s, const float t, const vertex_t n)
- template<typename vertex_t> static __global__ void update_positions_kernel (float *restrict x_pos, float *restrict y_pos, const float *restrict repel_x, const float *restrict repel_y, const float *restrict attract_x, const float *restrict attract_y, float *restrict old_dx, float *restrict old_dy, const float *restrict swinging, const bool prevent_overlapping, const float *restrict vertex_mobility, const float speed, const vertex_t n)
- template<typename vertex_t> void apply_forces (float *restrict x_pos, float *restrict y_pos, const float *restrict repel_x, const float *restrict repel_y, const float *restrict attract_x, const float *restrict attract_y, float *restrict old_dx, float *restrict old_dy, const float *restrict swinging, const bool prevent_overlapping, const float *restrict vertex_mobility, const float speed, const vertex_t n, cudaStream_t stream)
-
inline int getMultiProcessorCount()#
helper method to get multi-processor count parameter
-
template<>
float default_epsilon()#
-
template<>
double default_epsilon()#
-
template<typename index_t, typename weight_t>
weight_t hungarian( - raft::handle_t const &handle,
- index_t num_rows,
- index_t num_cols,
- weight_t const *d_original_cost,
- index_t *d_assignment,
- weight_t epsilon
-
template<typename vertex_t, typename edge_t, typename weight_t>
weight_t hungarian_sparse( - raft::handle_t const &handle,
- legacy::GraphCOOView<vertex_t, edge_t, weight_t> const &graph,
- vertex_t num_workers,
- vertex_t const *workers,
- vertex_t *assignment,
- weight_t epsilon
-
template<typename GraphViewType, typename ReduceOp, typename result_t>
void normalize( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- result_t *hubs,
- result_t init,
- ReduceOp reduce_op
-
template<typename GraphViewType, typename result_t>
std::tuple<result_t, size_t> hits( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- result_t *const hubs,
- result_t *const authorities,
- result_t epsilon,
- size_t max_iterations,
- bool has_initial_hubs_guess,
- bool normalize,
- bool do_expensive_check
-
template<typename GraphViewType, typename weight_t, typename result_t>
centrality_algorithm_metadata_t pagerank( - raft::handle_t const &handle,
- GraphViewType const &pull_graph_view,
- std::optional<edge_property_view_t<typename GraphViewType::edge_type, weight_t const*>> edge_weight_view,
- std::optional<raft::device_span<weight_t const>> precomputed_vertex_out_weight_sums,
- std::optional<std::tuple<raft::device_span<typename GraphViewType::vertex_type const>, raft::device_span<result_t const>>> personalization,
- raft::device_span<result_t> pageranks,
- result_t alpha,
- result_t epsilon,
- size_t max_iterations,
- bool do_expensive_check
-
template<typename vertex_t, typename edge_t, typename weight_t, bool multi_gpu>
rmm::device_uvector<weight_t> similarity( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- std::optional<edge_property_view_t<edge_t, weight_t const*>> edge_weight_view,
- std::tuple<raft::device_span<vertex_t const>, raft::device_span<vertex_t const>> vertex_pairs,
- coefficient_t coeff,
- bool do_expensive_check = false
-
template<typename vertex_t, typename edge_t, typename weight_t, bool multi_gpu>
std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>, rmm::device_uvector<weight_t>> all_pairs_similarity( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- std::optional<edge_property_view_t<edge_t, weight_t const*>> edge_weight_view,
- std::optional<raft::device_span<vertex_t const>> vertices,
- std::optional<size_t> topk,
- coefficient_t coeff,
- bool do_expensive_check = false
- template rmm::device_uvector< float > similarity< int32_t, int32_t, float, true > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::tuple< raft::device_span< int32_t const >, raft::device_span< int32_t const > > vertex_pairs, coefficient_t coeff, bool do_expensive_check)
- template rmm::device_uvector< double > similarity< int32_t, int32_t, double, true > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::tuple< raft::device_span< int32_t const >, raft::device_span< int32_t const > > vertex_pairs, coefficient_t coeff, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, rmm::device_uvector< float > > all_pairs_similarity< int32_t, int32_t, float, true > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< raft::device_span< int32_t const > > vertices, std::optional< size_t > topk, coefficient_t coeff, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, rmm::device_uvector< double > > all_pairs_similarity< int32_t, int32_t, double, true > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< raft::device_span< int32_t const > > vertices, std::optional< size_t > topk, coefficient_t coeff, bool do_expensive_check)
- template rmm::device_uvector< float > similarity< int64_t, int64_t, float, true > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::tuple< raft::device_span< int64_t const >, raft::device_span< int64_t const > > vertex_pairs, coefficient_t coeff, bool do_expensive_check)
- template rmm::device_uvector< double > similarity< int64_t, int64_t, double, true > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::tuple< raft::device_span< int64_t const >, raft::device_span< int64_t const > > vertex_pairs, coefficient_t coeff, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, rmm::device_uvector< float > > all_pairs_similarity< int64_t, int64_t, float, true > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< raft::device_span< int64_t const > > vertices, std::optional< size_t > topk, coefficient_t coeff, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, rmm::device_uvector< double > > all_pairs_similarity< int64_t, int64_t, double, true > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< raft::device_span< int64_t const > > vertices, std::optional< size_t > topk, coefficient_t coeff, bool do_expensive_check)
- template rmm::device_uvector< float > similarity< int32_t, int32_t, float, false > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::tuple< raft::device_span< int32_t const >, raft::device_span< int32_t const > > vertex_pairs, coefficient_t coeff, bool do_expensive_check)
- template rmm::device_uvector< double > similarity< int32_t, int32_t, double, false > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::tuple< raft::device_span< int32_t const >, raft::device_span< int32_t const > > vertex_pairs, coefficient_t coeff, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, rmm::device_uvector< float > > all_pairs_similarity< int32_t, int32_t, float, false > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, float const * > > edge_weight_view, std::optional< raft::device_span< int32_t const > > vertices, std::optional< size_t > topk, coefficient_t coeff, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, rmm::device_uvector< double > > all_pairs_similarity< int32_t, int32_t, double, false > (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, std::optional< edge_property_view_t< int32_t, double const * > > edge_weight_view, std::optional< raft::device_span< int32_t const > > vertices, std::optional< size_t > topk, coefficient_t coeff, bool do_expensive_check)
- template rmm::device_uvector< float > similarity< int64_t, int64_t, float, false > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::tuple< raft::device_span< int64_t const >, raft::device_span< int64_t const > > vertex_pairs, coefficient_t coeff, bool do_expensive_check)
- template rmm::device_uvector< double > similarity< int64_t, int64_t, double, false > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::tuple< raft::device_span< int64_t const >, raft::device_span< int64_t const > > vertex_pairs, coefficient_t coeff, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, rmm::device_uvector< float > > all_pairs_similarity< int64_t, int64_t, float, false > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, float const * > > edge_weight_view, std::optional< raft::device_span< int64_t const > > vertices, std::optional< size_t > topk, coefficient_t coeff, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, rmm::device_uvector< double > > all_pairs_similarity< int64_t, int64_t, double, false > (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, std::optional< edge_property_view_t< int64_t, double const * > > edge_weight_view, std::optional< raft::device_span< int64_t const > > vertices, std::optional< size_t > topk, coefficient_t coeff, bool do_expensive_check)
-
template<typename GraphViewType, typename EdgeIdInputWrapper, typename EdgeTypeInputWrapper, typename EdgeTypeAndIdToSrcDstLookupContainerType>
EdgeTypeAndIdToSrcDstLookupContainerType build_edge_id_and_type_to_src_dst_lookup_map( - raft::handle_t const &handle,
- GraphViewType const &graph_view,
- EdgeIdInputWrapper edge_id_view,
- EdgeTypeInputWrapper edge_type_view
-
template<typename vertex_t, typename edge_id_t, typename edge_type_t, typename EdgeTypeAndIdToSrcDstLookupContainerType, bool multi_gpu>
std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>> lookup_endpoints_from_edge_ids_and_single_type( - raft::handle_t const &handle,
- EdgeTypeAndIdToSrcDstLookupContainerType const &search_container,
- raft::device_span<edge_id_t const> edge_ids_to_lookup,
- edge_type_t edge_type_to_lookup
-
template<typename vertex_t, typename edge_id_t, typename edge_type_t, typename EdgeTypeAndIdToSrcDstLookupContainerType, bool multi_gpu>
std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>> lookup_endpoints_from_edge_ids_and_types( - raft::handle_t const &handle,
- EdgeTypeAndIdToSrcDstLookupContainerType const &search_container,
- raft::device_span<edge_id_t const> edge_ids_to_lookup,
- raft::device_span<edge_type_t const> edge_types_to_lookup
-
template<typename vertex_t, typename edge_t, typename bias_t, bool multi_gpu>
std::tuple<size_t, size_t> check_edge_bias_values( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- edge_property_view_t<edge_t, bias_t const*> edge_bias_view
Check edge bias values.
Count the number of negative edge bias values & the number of vertices with the sum of their outgoing edge bias values exceeding std::numeric_limits<bias_t>::max().
- Template Parameters:
vertex_t – Type of vertex identifiers. Needs to be an integral type.
edge_t – Type of edge identifiers. Needs to be an integral type.
bias_t – Type of edge bias values. Needs to be a floating point type.
multi_gpu – Flag indicating whether template instantiation should target single-GPU (false)
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Graph View object to generate neighbor sampling on.
edge_weight_view – View object holding edge bias values for
graph_view.
- template std::tuple< size_t, size_t > check_edge_bias_values (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, edge_property_view_t< int32_t, float const * > edge_bias_view)
- template std::tuple< size_t, size_t > check_edge_bias_values (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, true > const &graph_view, edge_property_view_t< int32_t, double const * > edge_bias_view)
- template std::tuple< size_t, size_t > check_edge_bias_values (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, edge_property_view_t< int64_t, float const * > edge_bias_view)
- template std::tuple< size_t, size_t > check_edge_bias_values (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, true > const &graph_view, edge_property_view_t< int64_t, double const * > edge_bias_view)
- template std::tuple< size_t, size_t > check_edge_bias_values (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, edge_property_view_t< int32_t, float const * > edge_bias_view)
- template std::tuple< size_t, size_t > check_edge_bias_values (raft::handle_t const &handle, graph_view_t< int32_t, int32_t, false, false > const &graph_view, edge_property_view_t< int32_t, double const * > edge_bias_view)
- template std::tuple< size_t, size_t > check_edge_bias_values (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, edge_property_view_t< int64_t, float const * > edge_bias_view)
- template std::tuple< size_t, size_t > check_edge_bias_values (raft::handle_t const &handle, graph_view_t< int64_t, int64_t, false, false > const &graph_view, edge_property_view_t< int64_t, double const * > edge_bias_view)
- rmm::device_uvector<int32_t> convert_starting_vertex_label_offsets_to_labels(
- raft::handle_t const &handle,
- raft::device_span<size_t const> starting_vertex_label_offsets
Convert the starting vertex offsets into starting vertex labels.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
starting_vertex_label_offsets – Offsets array defining where each vertex label begins
- Returns:
device vector containing labels for each starting vertex
-
template<typename label_t>
rmm::device_uvector<int32_t> flatten_label_map( - raft::handle_t const &handle,
- std::tuple<raft::device_span<label_t const>, raft::device_span<int32_t const>> label_to_output_comm_rank
Flatten the legacy label_to_output_comm_rank into the new structure.
Legacy structure supported arbitrary labels, the new structure is a dense mapping of labels from [0,n).
- Template Parameters:
label_t – typename for the label
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
label_to_output_comm_rank – A tuple containing label ids and the comm rank each label should be assigned to
- Returns:
device vector containing the mapping to comm_rank. Entry
iwill be the comm rank destination for labeli.
- template rmm::device_uvector< int32_t > flatten_label_map (raft::handle_t const &handle, std::tuple< raft::device_span< int32_t const >, raft::device_span< int32_t const > > label_to_output_comm_rank)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, arithmetic_device_uvector_t, std::optional< rmm::device_uvector< int32_t > >, rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, arithmetic_device_uvector_t, arithmetic_device_uvector_t, std::optional< rmm::device_uvector< int32_t > > > deduplicate_edges_by_minor< int32_t, int32_t, false > (raft::handle_t const &, graph_view_t< int32_t, int32_t, false, false > const &, rmm::device_uvector< int32_t > &&, rmm::device_uvector< int32_t > &&, arithmetic_device_uvector_t &&, arithmetic_device_uvector_t &&, std::optional< rmm::device_uvector< int32_t > > &&)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, arithmetic_device_uvector_t, std::optional< rmm::device_uvector< int32_t > >, rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, arithmetic_device_uvector_t, arithmetic_device_uvector_t, std::optional< rmm::device_uvector< int32_t > > > deduplicate_edges_by_minor< int32_t, int32_t, true > (raft::handle_t const &, graph_view_t< int32_t, int32_t, false, true > const &, rmm::device_uvector< int32_t > &&, rmm::device_uvector< int32_t > &&, arithmetic_device_uvector_t &&, arithmetic_device_uvector_t &&, std::optional< rmm::device_uvector< int32_t > > &&)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, arithmetic_device_uvector_t, std::optional< rmm::device_uvector< int32_t > >, rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, arithmetic_device_uvector_t, arithmetic_device_uvector_t, std::optional< rmm::device_uvector< int32_t > > > deduplicate_edges_by_minor< int64_t, int64_t, false > (raft::handle_t const &, graph_view_t< int64_t, int64_t, false, false > const &, rmm::device_uvector< int64_t > &&, rmm::device_uvector< int64_t > &&, arithmetic_device_uvector_t &&, arithmetic_device_uvector_t &&, std::optional< rmm::device_uvector< int32_t > > &&)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, arithmetic_device_uvector_t, std::optional< rmm::device_uvector< int32_t > >, rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, arithmetic_device_uvector_t, arithmetic_device_uvector_t, std::optional< rmm::device_uvector< int32_t > > > deduplicate_edges_by_minor< int64_t, int64_t, true > (raft::handle_t const &, graph_view_t< int64_t, int64_t, false, true > const &, rmm::device_uvector< int64_t > &&, rmm::device_uvector< int64_t > &&, arithmetic_device_uvector_t &&, arithmetic_device_uvector_t &&, std::optional< rmm::device_uvector< int32_t > > &&)
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>, arithmetic_device_uvector_t, std::optional<rmm::device_uvector<int32_t>>, rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>, arithmetic_device_uvector_t, arithmetic_device_uvector_t, std::optional<rmm::device_uvector<int32_t>>> deduplicate_edges_by_minor( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- rmm::device_uvector<vertex_t> &&result_majors,
- rmm::device_uvector<vertex_t> &&result_minors,
- arithmetic_device_uvector_t &&result_edge_property,
- arithmetic_device_uvector_t &&result_types,
- std::optional<rmm::device_uvector<int32_t>> &&result_labels
Deduplicate edges by minor (and optional label).
Keeps one edge per (label, minor) or per minor. Callers should merge the returned minors into visited sets via update_dst_visited_vertices_and_labels.
When edges are removed, the last four return values contain the discarded edges (majors, minors, edge_property, labels in lockstep). Callers such as sample_unvisited_outgoing_edges use those to build the resample frontier. When there are no duplicates, discarded bundles are empty (length zero / monostate / nullopt).
- Template Parameters:
vertex_t – Type of vertex identifiers. Needs to be an integral type.
edge_t – Type of edge identifiers. Needs to be an integral type.
multi_gpu – Flag indicating whether template instantiation should target single-GPU (false)
- Parameters:
handle – RAFT handle object.
graph_view – Graph View object for context (partitioning, MG routing, etc.).
result_majors – Device vector of edge major (source) vertices.
result_minors – Device vector of edge minor (destination) vertices.
result_edge_property – Per-edge property column in lockstep with majors/minors (monostate if none, or rmm::device_uvector<edge_t> multi-edge index when present).
result_types – Optional per-edge edge-type column (monostate or int32_t), in lockstep when present for sort/split; only discarded_types is returned, not kept types.
result_labels – Optional device vector of labels per edge.
- Returns:
Tuple of kept (majors, minors, result_edge_property, labels), then discarded (majors, minors, discarded_edge_property, discarded_types, labels). Kept rows are the first edge per (label, minor) or per minor after sorting by that key. Callers that do not need discards may bind the last five tuple elements to
std::ignore.
- CUGRAPH_INSTANTIATE_GATHER_ONE_HOP (false)
- CUGRAPH_INSTANTIATE_GATHER_ONE_HOP (true)
- CUGRAPH_INSTANTIATE_TEMPORAL_GATHER_ONE_HOP (int32_t, false)
- CUGRAPH_INSTANTIATE_TEMPORAL_GATHER_ONE_HOP (int32_t, true)
- CUGRAPH_INSTANTIATE_TEMPORAL_GATHER_ONE_HOP (int64_t, false)
- CUGRAPH_INSTANTIATE_TEMPORAL_GATHER_ONE_HOP (int64_t, true)
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>, arithmetic_device_uvector_t, std::optional<rmm::device_uvector<int32_t>>> gather_one_hop_edgelist( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- size_t number_of_edge_properties,
- std::optional<edge_property_view_t<edge_t, int32_t const*>> edge_type_view,
- raft::device_span<vertex_t const> active_majors,
- std::optional<raft::device_span<int32_t const>> active_major_labels,
- std::optional<raft::device_span<bool const>> gather_flags,
- bool do_expensive_check
Gather edge list for specified vertices.
Collect all the edges that are present in the adjacency lists on the current gpu
- Template Parameters:
vertex_t – Type of vertex identifiers. Needs to be an integral type.
edge_t – Type of edge identifiers. Needs to be an integral type.
multi_gpu – Flag indicating whether template instantiation should target single-GPU (false)
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Graph View object to generate neighbor sampling on.
number_of_edge_properties – Number of edge property columns to gather later via gather_sampled_properties (0 means majors/minors only).
edge_type_view – Optional view object holding edge types for
graph_view. If specified this view will be used for heterogeneous type filtering (requires number_of_edge_properties > 0).active_majors – Device vector containing all the vertex id that are processed by gpus in the column communicator
active_major_labels – Optional device vector containing labels for each device vector
gather_flags – Optional device span indicating whether to gather edge or not for each edge type.
gather_flags.has_value()should coincide withedge_type_view.has_value().
- Returns:
Majors, minors, multi-edge index for gather_sampled_properties (monostate when number_of_edge_properties is 0), optional per-edge labels.
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>, arithmetic_device_uvector_t, std::optional<rmm::device_uvector<int32_t>>, rmm::device_uvector<vertex_t>, std::optional<rmm::device_uvector<int32_t>>> gather_one_hop_edgelist_to_unvisited_neighbors( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- size_t number_of_edge_properties,
- std::optional<edge_property_view_t<edge_t, int32_t const*>> edge_type_view,
- raft::device_span<vertex_t const> active_majors,
- std::optional<raft::device_span<int32_t const>> active_major_labels,
- std::optional<raft::device_span<bool const>> gather_flags,
- rmm::device_uvector<vertex_t> &&visited_minors,
- std::optional<rmm::device_uvector<int32_t>> &&visited_minor_labels,
- bool do_expensive_check
Gather one-hop edges to unvisited neighbors.
Like gather_one_hop_edgelist with
number_of_edge_properties, but drops edges whose destinations are already in the visited sets. Caller should call gather_sampled_properties (if number_of_edge_properties > 0) to obtain edge properties from the returned indices.
-
template<typename vertex_t, typename edge_t, typename time_stamp_t, bool multi_gpu>
std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>, arithmetic_device_uvector_t, std::optional<rmm::device_uvector<int32_t>>> temporal_gather_one_hop_edgelist( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- edge_property_view_t<edge_t, time_stamp_t const*> edge_time_view,
- std::optional<edge_property_view_t<edge_t, int32_t const*>> edge_type_view,
- raft::device_span<vertex_t const> active_majors,
- std::optional<raft::device_span<time_stamp_t const>> active_major_window_starts,
- std::optional<raft::device_span<time_stamp_t const>> active_major_window_ends,
- std::optional<raft::device_span<int32_t const>> active_major_labels,
- std::optional<raft::device_span<bool const>> gather_flags,
- temporal_sampling_comparison_t temporal_sampling_comparison,
- bool fixed_window,
- bool do_expensive_check
Gather edge list for specified vertices with a temporal filter.
Collect all the edges that are present in the adjacency lists on the current gpu. Returns majors, minors, and edge indices (for gather_sampled_properties). Caller should gather edge properties after any further filtering / deduplication that needs to preserve MG ownership of those indices.
- Template Parameters:
vertex_t – Type of vertex identifiers. Needs to be an integral type.
edge_t – Type of edge identifiers. Needs to be an integral type.
multi_gpu – Flag indicating whether template instantiation should target single-GPU (false)
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
graph_view – Graph View object to generate neighbor sampling on.
edge_time_view – View object holding edge times for
graph_viewthat will be used for time filtering.edge_type_view – Optional view object holding edge types for
graph_view. If specified this view will be used for heterogeneous type filtering.active_majors – Device vector containing all the vertex id that are processed by gpus in the column communicator
active_major_window_starts – Optional device vector containing the window-start timestamp for each active major. When omitted, the window start is unbounded. Together with
active_major_window_endsthis defines the temporal window used to filter gathered edges.active_major_window_ends – Optional device vector containing the window-end timestamp for each active major. When omitted, the window end is unbounded.
active_major_labels – Optional device vector containing labels for each device vector
gather_flags – Optional device span indicating whether to gather edge or not for each edge type.
gather_flags.has_value()should coincide withedge_type_view.has_value().temporal_sampling_comparison – Temporal sampling comparison type
- Returns:
A tuple of device vectors containing the sampled majors, minors, edge indices and optional label
-
template<typename vertex_t, typename edge_t, typename time_stamp_t, bool multi_gpu>
std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>, std::vector<arithmetic_device_uvector_t>, std::optional<rmm::device_uvector<int32_t>>, rmm::device_uvector<vertex_t>, std::optional<rmm::device_uvector<int32_t>>> temporal_gather_one_hop_edgelist_to_unvisited_neighbors( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- raft::host_span<edge_arithmetic_property_view_t<edge_t>> edge_property_views,
- edge_property_view_t<edge_t, time_stamp_t const*> edge_time_view,
- std::optional<edge_property_view_t<edge_t, int32_t const*>> edge_type_view,
- raft::device_span<vertex_t const> active_majors,
- std::optional<raft::device_span<time_stamp_t const>> active_major_window_starts,
- std::optional<raft::device_span<time_stamp_t const>> active_major_window_ends,
- std::optional<raft::device_span<int32_t const>> active_major_labels,
- std::optional<raft::device_span<bool const>> gather_flags,
- rmm::device_uvector<vertex_t> &&visited_minors,
- std::optional<rmm::device_uvector<int32_t>> &&visited_minor_labels,
- temporal_sampling_comparison_t temporal_sampling_comparison,
- bool fixed_window,
- bool do_expensive_check
Gather one-hop temporally-valid edges to unvisited neighbors.
Like temporal_gather_one_hop_edgelist, but additionally drops edges whose destinations are already in the visited sets, deduplicates by (minor[, label]) while carrying graph edge indices through the MG shuffle, gathers the requested output properties from the surviving indices, and updates the visited sets. Used by always-disjoint temporal neighbor sampling.
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>, std::vector<arithmetic_device_uvector_t>> gather_sampled_properties( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- rmm::device_uvector<vertex_t> &&majors,
- rmm::device_uvector<vertex_t> &&minors,
- arithmetic_device_uvector_t &&multi_index,
- raft::host_span<edge_arithmetic_property_view_t<edge_t>> edge_property_views
Gather properties.
- template std::tuple< rmm::device_uvector< vertex_t >, rmm::device_uvector< vertex_t >, std::vector< arithmetic_device_uvector_t > > gather_sampled_properties (raft::handle_t const &handle, graph_view_t< vertex_t, edge_t, false, false > const &graph_view, rmm::device_uvector< vertex_t > &&majors, rmm::device_uvector< vertex_t > &&minors, arithmetic_device_uvector_t &&multi_index, raft::host_span< edge_arithmetic_property_view_t< edge_t > > edge_property_views)
- template std::tuple< rmm::device_uvector< vertex_t >, rmm::device_uvector< vertex_t >, std::vector< arithmetic_device_uvector_t > > gather_sampled_properties (raft::handle_t const &handle, graph_view_t< vertex_t, edge_t, false, true > const &graph_view, rmm::device_uvector< vertex_t > &&majors, rmm::device_uvector< vertex_t > &&minors, arithmetic_device_uvector_t &&multi_index, raft::host_span< edge_arithmetic_property_view_t< edge_t > > edge_property_views)
-
template<typename label_t, bool multi_gpu>
std::optional<rmm::device_uvector<label_t>> compute_output_labels( - raft::handle_t const &handle,
- std::optional<raft::device_span<label_t const>> starting_vertex_labels,
- std::optional<raft::device_span<int32_t const>> label_to_output_comm_rank
Determine which labels this GPU is responsible for reporting in the sampling output.
The offsets array returned by shuffle_and_organize_output delineates one range per label, so it needs an entry for every label this GPU reports plus a trailing total. The label set has to be derived from the seeds rather than from the labels that survive sampling: a label can legitimately sample no edges (for temporal sampling, when nothing incident on its seeds satisfies the time window), and dropping it would shift every subsequent label’s range.
When
label_to_output_comm_rankis specified the sampled edges are shuffled so that each label’s edges end up on the rank owning that label, so this GPU reports exactly the labels assigned to it. Without that mapping no shuffling happens, so every GPU reports the entire label range while holding only the edges it sampled locally.Labels are expected to be dense in [0, n).
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
starting_vertex_labels – Optional label associated with each seed vertex
label_to_output_comm_rank – Optional map associating each label to a comm rank
- Returns:
the sorted labels this GPU reports, or std::nullopt if the seeds carry no labels
-
template<typename vertex_t, typename label_t, typename time_stamp_t>
std::tuple<rmm::device_uvector<vertex_t>, std::optional<rmm::device_uvector<label_t>>, std::optional<rmm::device_uvector<time_stamp_t>>, std::optional<rmm::device_uvector<time_stamp_t>>, std::optional<std::tuple<rmm::device_uvector<vertex_t>, std::optional<rmm::device_uvector<label_t>>, std::optional<rmm::device_uvector<time_stamp_t>>>>> prepare_next_frontier( - raft::handle_t const &handle,
- raft::device_span<vertex_t const> sampled_src_vertices,
- std::optional<raft::device_span<label_t const>> sampled_src_vertex_labels,
- std::optional<raft::device_span<time_stamp_t const>> sampled_src_vertex_window_starts,
- std::optional<raft::device_span<time_stamp_t const>> sampled_src_vertex_window_ends,
- raft::host_span<raft::device_span<vertex_t const>> sampled_dst_vertices,
- std::optional<raft::host_span<raft::device_span<label_t const>>> sampled_dst_vertex_labels,
- std::optional<raft::host_span<raft::device_span<time_stamp_t const>>> sampled_dst_vertex_window_start_spans,
- std::optional<raft::host_span<raft::device_span<time_stamp_t const>>> sampled_dst_vertex_window_end_spans,
- std::optional<std::tuple<rmm::device_uvector<vertex_t>, std::optional<rmm::device_uvector<label_t>>, std::optional<rmm::device_uvector<time_stamp_t>>>> &&vertex_used_as_source,
- raft::host_span<vertex_t const> vertex_partition_range_lasts,
- prior_sources_behavior_t prior_sources_behavior,
- bool dedupe_sources,
- bool multi_gpu,
- bool do_expensive_check
Use the sampling results from hop N to populate the new frontier for hop N+1.
- Template Parameters:
vertex_t – Type of vertex identifiers. Needs to be an integral type.
label_t – Type of label. Needs to be an integral type. @
time_stamp_t – Type of time. Needs to be an integral type.
multi_gpu – Flag indicating whether template instantiation should target single-GPU (false)
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
sampled_src_vertices – The source vertices for the current frontier
sampled_src_vertex_labels – Optional labels for the vertices for the current frontier
sampled_src_vertex_window_starts – Optional window start times for the current frontier
sampled_src_vertex_window_ends – Optional window end times for the current frontier
sampled_dst_vertices – Vertices for the next frontier
sampled_dst_vertex_labels – Optional labels for the next frontier
sampled_dst_vertex_window_start_spans – Optional window start times for the next frontier
sampled_dst_vertex_window_end_spans – Optional window end times for the next frontier
vertex_used_as_source – Optional. If specified then we want to exclude vertices that were previously used as sources. These vertices (and optional labels and times) will be updated based on the contents of sampled_src_vertices / sampled_src_vertex_labels / sampled_src_vertex_window_starts and the update will be part of the return value.
vertex_partition_range_lasts – End of range information from graph view
prior_sources_behavior – Identifies how to treat sources in each hop
dedupe_sources – boolean flag, if true then if a vertex v appears as a destination in hop X multiple times with the same label, it will only be passed once (for each label) as a source for the next hop. Default is false.
do_expensive_check – A flag to run expensive checks for input arguments (if set to
true).
- Returns:
A tuple of device vectors containing the vertices for the next frontier expansion and optional labels and times associated with the vertices, optional window end times, along with the updated value for
vertex_used_as_sources
- template std::tuple< rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< std::tuple< rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > > > prepare_next_frontier (raft::handle_t const &handle, raft::device_span< int32_t const > sampled_src_vertices, std::optional< raft::device_span< int32_t const > > sampled_src_vertex_labels, std::optional< raft::device_span< int32_t const > > sampled_src_vertex_window_starts, std::optional< raft::device_span< int32_t const > > sampled_src_vertex_window_ends, raft::host_span< raft::device_span< int32_t const > > sampled_dst_vertices, std::optional< raft::host_span< raft::device_span< int32_t const > > > sampled_dst_vertex_labels, std::optional< raft::host_span< raft::device_span< int32_t const > > > sampled_dst_vertex_window_start_spans, std::optional< raft::host_span< raft::device_span< int32_t const > > > sampled_dst_vertex_window_end_spans, std::optional< std::tuple< rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > > &&vertex_used_as_source, raft::host_span< int32_t const > vertex_partition_range_lasts, prior_sources_behavior_t prior_sources_behavior, bool dedupe_sources, bool multi_gpu, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< std::tuple< rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > > > > > prepare_next_frontier (raft::handle_t const &handle, raft::device_span< int32_t const > sampled_src_vertices, std::optional< raft::device_span< int32_t const > > sampled_src_vertex_labels, std::optional< raft::device_span< int64_t const > > sampled_src_vertex_window_starts, std::optional< raft::device_span< int64_t const > > sampled_src_vertex_window_ends, raft::host_span< raft::device_span< int32_t const > > sampled_dst_vertices, std::optional< raft::host_span< raft::device_span< int32_t const > > > sampled_dst_vertex_labels, std::optional< raft::host_span< raft::device_span< int64_t const > > > sampled_dst_vertex_window_start_spans, std::optional< raft::host_span< raft::device_span< int64_t const > > > sampled_dst_vertex_window_end_spans, std::optional< std::tuple< rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > > > > &&vertex_used_as_source, raft::host_span< int32_t const > vertex_partition_range_lasts, prior_sources_behavior_t prior_sources_behavior, bool dedupe_sources, bool multi_gpu, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< std::tuple< rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > > > prepare_next_frontier (raft::handle_t const &handle, raft::device_span< int64_t const > sampled_src_vertices, std::optional< raft::device_span< int32_t const > > sampled_src_vertex_labels, std::optional< raft::device_span< int32_t const > > sampled_src_vertex_window_starts, std::optional< raft::device_span< int32_t const > > sampled_src_vertex_window_ends, raft::host_span< raft::device_span< int64_t const > > sampled_dst_vertices, std::optional< raft::host_span< raft::device_span< int32_t const > > > sampled_dst_vertex_labels, std::optional< raft::host_span< raft::device_span< int32_t const > > > sampled_dst_vertex_window_start_spans, std::optional< raft::host_span< raft::device_span< int32_t const > > > sampled_dst_vertex_window_end_spans, std::optional< std::tuple< rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > > &&vertex_used_as_source, raft::host_span< int64_t const > vertex_partition_range_lasts, prior_sources_behavior_t prior_sources_behavior, bool dedupe_sources, bool multi_gpu, bool do_expensive_check)
- template std::tuple< rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< std::tuple< rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > > > > > prepare_next_frontier (raft::handle_t const &handle, raft::device_span< int64_t const > sampled_src_vertices, std::optional< raft::device_span< int32_t const > > sampled_src_vertex_labels, std::optional< raft::device_span< int64_t const > > sampled_src_vertex_window_starts, std::optional< raft::device_span< int64_t const > > sampled_src_vertex_window_ends, raft::host_span< raft::device_span< int64_t const > > sampled_dst_vertices, std::optional< raft::host_span< raft::device_span< int32_t const > > > sampled_dst_vertex_labels, std::optional< raft::host_span< raft::device_span< int64_t const > > > sampled_dst_vertex_window_start_spans, std::optional< raft::host_span< raft::device_span< int64_t const > > > sampled_dst_vertex_window_end_spans, std::optional< std::tuple< rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > > > > &&vertex_used_as_source, raft::host_span< int64_t const > vertex_partition_range_lasts, prior_sources_behavior_t prior_sources_behavior, bool dedupe_sources, bool multi_gpu, bool do_expensive_check)
-
template<typename vertex_t, typename label_t, typename time_stamp_t>
std::tuple<rmm::device_uvector<vertex_t>, std::optional<rmm::device_uvector<label_t>>, std::optional<rmm::device_uvector<time_stamp_t>>, std::optional<rmm::device_uvector<time_stamp_t>>> remove_visited_vertices_from_frontier( - raft::handle_t const &handle,
- rmm::device_uvector<vertex_t> &&frontier_vertices,
- std::optional<rmm::device_uvector<label_t>> &&frontier_vertex_labels,
- std::optional<rmm::device_uvector<time_stamp_t>> &&frontier_vertex_times,
- std::optional<rmm::device_uvector<time_stamp_t>> &&frontier_vertex_window_ends,
- raft::device_span<vertex_t const> vertices_used_as_source,
- std::optional<raft::device_span<label_t const>> vertex_labels_used_as_source
Remove from the frontier any vertices that have already been used as a source.
- Template Parameters:
vertex_t – Type of vertex identifiers. Needs to be an integral type.
label_t – Type of label. Needs to be an integral type.
time_stamp_t – Type of time. 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.
frontier_vertices – Vertices discovered in the current hop
frontier_vertex_labels – Labels for the vertices discovered in the current hop
frontier_vertex_times – Times for the vertices discovered in the current hop
vertices_used_as_source – Device vector containing all vertices used in previous hops as a source
vertex_labels_used_as_source – Device vector containing vertex labels associated with the
vertices_used_as_sourceused in previous hops as a source vertex label
- Returns:
tuple containing the modified frontier_vertices, frontier_vertex_labels and frontier_vertex_times
- template std::tuple< rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > remove_visited_vertices_from_frontier (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&frontier_vertices, std::optional< rmm::device_uvector< int32_t > > &&frontier_vertex_labels, std::optional< rmm::device_uvector< int32_t > > &&frontier_vertex_times, std::optional< rmm::device_uvector< int32_t > > &&frontier_vertex_window_ends, raft::device_span< int32_t const > vertices_used_as_source, std::optional< raft::device_span< int32_t const > > vertex_labels_used_as_source)
- template std::tuple< rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > remove_visited_vertices_from_frontier (raft::handle_t const &handle, rmm::device_uvector< int32_t > &&frontier_vertices, std::optional< rmm::device_uvector< int32_t > > &&frontier_vertex_labels, std::optional< rmm::device_uvector< int64_t > > &&frontier_vertex_times, std::optional< rmm::device_uvector< int64_t > > &&frontier_vertex_window_ends, raft::device_span< int32_t const > vertices_used_as_source, std::optional< raft::device_span< int32_t const > > vertex_labels_used_as_source)
- template std::tuple< rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int32_t > > > remove_visited_vertices_from_frontier (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&frontier_vertices, std::optional< rmm::device_uvector< int32_t > > &&frontier_vertex_labels, std::optional< rmm::device_uvector< int32_t > > &&frontier_vertex_times, std::optional< rmm::device_uvector< int32_t > > &&frontier_vertex_window_ends, raft::device_span< int64_t const > vertices_used_as_source, std::optional< raft::device_span< int32_t const > > vertex_labels_used_as_source)
- template std::tuple< rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< int32_t > >, std::optional< rmm::device_uvector< int64_t > >, std::optional< rmm::device_uvector< int64_t > > > remove_visited_vertices_from_frontier (raft::handle_t const &handle, rmm::device_uvector< int64_t > &&frontier_vertices, std::optional< rmm::device_uvector< int32_t > > &&frontier_vertex_labels, std::optional< rmm::device_uvector< int64_t > > &&frontier_vertex_times, std::optional< rmm::device_uvector< int64_t > > &&frontier_vertex_window_ends, raft::device_span< int64_t const > vertices_used_as_source, std::optional< raft::device_span< int32_t const > > vertex_labels_used_as_source)
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>, arithmetic_device_uvector_t, std::optional<rmm::device_uvector<int32_t>>> sample_edges( - raft::handle_t const &handle,
- raft::random::RngState &rng_state,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- size_t number_of_edge_properties,
- std::optional<edge_arithmetic_property_view_t<edge_t>> edge_type_view,
- std::optional<edge_arithmetic_property_view_t<edge_t>> edge_bias_view,
- raft::device_span<vertex_t const> active_majors,
- std::optional<raft::device_span<int32_t const>> active_major_labels,
- raft::host_span<size_t const> Ks,
- bool with_replacement
Randomly sample edges from the adjacency list of specified vertices.
Returns majors, minors, and tmp_edge_indices (for gather_sampled_properties). Caller should call gather_sampled_properties (if number_of_edge_properties > 0) to obtain edge properties.
- Template Parameters:
vertex_t – Type of vertex identifiers. Needs to be an integral type.
edge_t – Type of edge identifiers. Needs to be an integral type.
multi_gpu – Flag indicating whether template instantiation should target single-GPU (false)
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>, arithmetic_device_uvector_t, std::optional<rmm::device_uvector<int32_t>>, rmm::device_uvector<vertex_t>, std::optional<rmm::device_uvector<int32_t>>> sample_edges_to_unvisited_neighbors( - raft::handle_t const &handle,
- raft::random::RngState &rng_state,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- size_t number_of_edge_properties,
- std::optional<edge_arithmetic_property_view_t<edge_t>> edge_type_view,
- std::optional<edge_arithmetic_property_view_t<edge_t>> edge_bias_view,
- raft::device_span<vertex_t const> active_majors,
- std::optional<raft::device_span<int32_t const>> active_major_labels,
- raft::host_span<size_t const> Ks,
- rmm::device_uvector<vertex_t> &&visited_minors,
- std::optional<rmm::device_uvector<int32_t>> &&visited_minor_labels,
- bool with_replacement
Randomly sample edges and update visited sets.
Like sample_edges with
number_of_edge_properties, but filters by visited sets and updates them. Caller should call gather_sampled_properties (if number_of_edge_properties > 0) to get edge properties from the returned indices.- Template Parameters:
vertex_t – Type of vertex identifiers. Needs to be an integral type.
edge_t – Type of edge identifiers. Needs to be an integral type.
multi_gpu – Flag indicating whether template instantiation should target single-GPU (false)
-
template<typename vertex_t, typename edge_t, typename time_stamp_t, bool multi_gpu>
std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>, arithmetic_device_uvector_t, std::optional<rmm::device_uvector<int32_t>>, rmm::device_uvector<vertex_t>, std::optional<rmm::device_uvector<int32_t>>> temporal_sample_edges_to_unvisited_neighbors( - raft::handle_t const &handle,
- raft::random::RngState &rng_state,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- size_t number_of_edge_properties,
- edge_property_view_t<edge_t, time_stamp_t const*> edge_time_view,
- std::optional<edge_arithmetic_property_view_t<edge_t>> edge_type_view,
- std::optional<edge_arithmetic_property_view_t<edge_t>> edge_bias_view,
- raft::device_span<vertex_t const> active_majors,
- std::optional<raft::device_span<time_stamp_t const>> active_major_window_starts,
- std::optional<raft::device_span<time_stamp_t const>> active_major_window_ends,
- std::optional<raft::device_span<int32_t const>> active_major_labels,
- raft::host_span<size_t const> Ks,
- rmm::device_uvector<vertex_t> &&visited_minors,
- std::optional<rmm::device_uvector<int32_t>> &&visited_minor_labels,
- bool with_replacement,
- temporal_sampling_comparison_t temporal_sampling_comparison,
- neighbor_selection_t neighbor_selection = neighbor_selection_t::RANDOM,
- bool fixed_window = false
Randomly sample temporally-valid edges to unvisited neighbors.
Combines the per-source temporal window filter with the disjoint (unvisited) constraint, reusing the resample-to-K loop so each source yields up to K distinct unvisited temporal neighbors. Returns majors, minors, tmp_edge_indices (for gather_sampled_properties), optional labels, and the updated visited sets. Used by always-disjoint temporal neighbor sampling.
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, arithmetic_device_uvector_t, std::optional< rmm::device_uvector< int32_t > > > sample_edges (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, size_t number_of_edge_properties, std::optional< edge_arithmetic_property_view_t< int32_t > > edge_type_view, std::optional< edge_arithmetic_property_view_t< int32_t > > edge_bias_view, raft::device_span< int32_t const > active_majors, std::optional< raft::device_span< int32_t const > > active_major_labels, raft::host_span< size_t const > Ks, bool with_replacement)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, arithmetic_device_uvector_t, std::optional< rmm::device_uvector< int32_t > >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< int32_t > > > sample_edges_to_unvisited_neighbors (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, size_t number_of_edge_properties, std::optional< edge_arithmetic_property_view_t< int32_t > > edge_type_view, std::optional< edge_arithmetic_property_view_t< int32_t > > edge_bias_view, raft::device_span< int32_t const > active_majors, std::optional< raft::device_span< int32_t const > > active_major_labels, raft::host_span< size_t const > Ks, rmm::device_uvector< int32_t > &&visited_minors, std::optional< rmm::device_uvector< int32_t > > &&visited_minor_labels, bool with_replacement)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, arithmetic_device_uvector_t, std::optional< rmm::device_uvector< int32_t > >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< int32_t > > > temporal_sample_edges_to_unvisited_neighbors (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, size_t number_of_edge_properties, edge_property_view_t< int32_t, int32_t const * > edge_time_view, std::optional< edge_arithmetic_property_view_t< int32_t > > edge_type_view, std::optional< edge_arithmetic_property_view_t< int32_t > > edge_bias_view, raft::device_span< int32_t const > active_majors, std::optional< raft::device_span< int32_t const > > active_major_window_starts, std::optional< raft::device_span< int32_t const > > active_major_window_ends, std::optional< raft::device_span< int32_t const > > active_major_labels, raft::host_span< size_t const > Ks, rmm::device_uvector< int32_t > &&visited_minors, std::optional< rmm::device_uvector< int32_t > > &&visited_minor_labels, bool with_replacement, temporal_sampling_comparison_t temporal_sampling_comparison, neighbor_selection_t neighbor_selection, bool fixed_window)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, arithmetic_device_uvector_t, std::optional< rmm::device_uvector< int32_t > >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< int32_t > > > temporal_sample_edges_to_unvisited_neighbors (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, true > const &graph_view, size_t number_of_edge_properties, edge_property_view_t< int32_t, int64_t const * > edge_time_view, std::optional< edge_arithmetic_property_view_t< int32_t > > edge_type_view, std::optional< edge_arithmetic_property_view_t< int32_t > > edge_bias_view, raft::device_span< int32_t const > active_majors, std::optional< raft::device_span< int64_t const > > active_major_window_starts, std::optional< raft::device_span< int64_t const > > active_major_window_ends, std::optional< raft::device_span< int32_t const > > active_major_labels, raft::host_span< size_t const > Ks, rmm::device_uvector< int32_t > &&visited_minors, std::optional< rmm::device_uvector< int32_t > > &&visited_minor_labels, bool with_replacement, temporal_sampling_comparison_t temporal_sampling_comparison, neighbor_selection_t neighbor_selection, bool fixed_window)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, arithmetic_device_uvector_t, std::optional< rmm::device_uvector< int32_t > > > sample_edges (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, size_t number_of_edge_properties, std::optional< edge_arithmetic_property_view_t< int64_t > > edge_type_view, std::optional< edge_arithmetic_property_view_t< int64_t > > edge_bias_view, raft::device_span< int64_t const > active_majors, std::optional< raft::device_span< int32_t const > > active_major_labels, raft::host_span< size_t const > Ks, bool with_replacement)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, arithmetic_device_uvector_t, std::optional< rmm::device_uvector< int32_t > >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< int32_t > > > sample_edges_to_unvisited_neighbors (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, size_t number_of_edge_properties, std::optional< edge_arithmetic_property_view_t< int64_t > > edge_type_view, std::optional< edge_arithmetic_property_view_t< int64_t > > edge_bias_view, raft::device_span< int64_t const > active_majors, std::optional< raft::device_span< int32_t const > > active_major_labels, raft::host_span< size_t const > Ks, rmm::device_uvector< int64_t > &&visited_minors, std::optional< rmm::device_uvector< int32_t > > &&visited_minor_labels, bool with_replacement)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, arithmetic_device_uvector_t, std::optional< rmm::device_uvector< int32_t > >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< int32_t > > > temporal_sample_edges_to_unvisited_neighbors (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, size_t number_of_edge_properties, edge_property_view_t< int64_t, int32_t const * > edge_time_view, std::optional< edge_arithmetic_property_view_t< int64_t > > edge_type_view, std::optional< edge_arithmetic_property_view_t< int64_t > > edge_bias_view, raft::device_span< int64_t const > active_majors, std::optional< raft::device_span< int32_t const > > active_major_window_starts, std::optional< raft::device_span< int32_t const > > active_major_window_ends, std::optional< raft::device_span< int32_t const > > active_major_labels, raft::host_span< size_t const > Ks, rmm::device_uvector< int64_t > &&visited_minors, std::optional< rmm::device_uvector< int32_t > > &&visited_minor_labels, bool with_replacement, temporal_sampling_comparison_t temporal_sampling_comparison, neighbor_selection_t neighbor_selection, bool fixed_window)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, arithmetic_device_uvector_t, std::optional< rmm::device_uvector< int32_t > >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< int32_t > > > temporal_sample_edges_to_unvisited_neighbors (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, true > const &graph_view, size_t number_of_edge_properties, edge_property_view_t< int64_t, int64_t const * > edge_time_view, std::optional< edge_arithmetic_property_view_t< int64_t > > edge_type_view, std::optional< edge_arithmetic_property_view_t< int64_t > > edge_bias_view, raft::device_span< int64_t const > active_majors, std::optional< raft::device_span< int64_t const > > active_major_window_starts, std::optional< raft::device_span< int64_t const > > active_major_window_ends, std::optional< raft::device_span< int32_t const > > active_major_labels, raft::host_span< size_t const > Ks, rmm::device_uvector< int64_t > &&visited_minors, std::optional< rmm::device_uvector< int32_t > > &&visited_minor_labels, bool with_replacement, temporal_sampling_comparison_t temporal_sampling_comparison, neighbor_selection_t neighbor_selection, bool fixed_window)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, arithmetic_device_uvector_t, std::optional< rmm::device_uvector< int32_t > > > sample_edges (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, size_t number_of_edge_properties, std::optional< edge_arithmetic_property_view_t< int32_t > > edge_type_view, std::optional< edge_arithmetic_property_view_t< int32_t > > edge_bias_view, raft::device_span< int32_t const > active_majors, std::optional< raft::device_span< int32_t const > > active_major_labels, raft::host_span< size_t const > Ks, bool with_replacement)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, arithmetic_device_uvector_t, std::optional< rmm::device_uvector< int32_t > >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< int32_t > > > sample_edges_to_unvisited_neighbors (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, size_t number_of_edge_properties, std::optional< edge_arithmetic_property_view_t< int32_t > > edge_type_view, std::optional< edge_arithmetic_property_view_t< int32_t > > edge_bias_view, raft::device_span< int32_t const > active_majors, std::optional< raft::device_span< int32_t const > > active_major_labels, raft::host_span< size_t const > Ks, rmm::device_uvector< int32_t > &&visited_minors, std::optional< rmm::device_uvector< int32_t > > &&visited_minor_labels, bool with_replacement)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, arithmetic_device_uvector_t, std::optional< rmm::device_uvector< int32_t > >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< int32_t > > > temporal_sample_edges_to_unvisited_neighbors (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, size_t number_of_edge_properties, edge_property_view_t< int32_t, int32_t const * > edge_time_view, std::optional< edge_arithmetic_property_view_t< int32_t > > edge_type_view, std::optional< edge_arithmetic_property_view_t< int32_t > > edge_bias_view, raft::device_span< int32_t const > active_majors, std::optional< raft::device_span< int32_t const > > active_major_window_starts, std::optional< raft::device_span< int32_t const > > active_major_window_ends, std::optional< raft::device_span< int32_t const > > active_major_labels, raft::host_span< size_t const > Ks, rmm::device_uvector< int32_t > &&visited_minors, std::optional< rmm::device_uvector< int32_t > > &&visited_minor_labels, bool with_replacement, temporal_sampling_comparison_t temporal_sampling_comparison, neighbor_selection_t neighbor_selection, bool fixed_window)
- template std::tuple< rmm::device_uvector< int32_t >, rmm::device_uvector< int32_t >, arithmetic_device_uvector_t, std::optional< rmm::device_uvector< int32_t > >, rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< int32_t > > > temporal_sample_edges_to_unvisited_neighbors (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int32_t, int32_t, false, false > const &graph_view, size_t number_of_edge_properties, edge_property_view_t< int32_t, int64_t const * > edge_time_view, std::optional< edge_arithmetic_property_view_t< int32_t > > edge_type_view, std::optional< edge_arithmetic_property_view_t< int32_t > > edge_bias_view, raft::device_span< int32_t const > active_majors, std::optional< raft::device_span< int64_t const > > active_major_window_starts, std::optional< raft::device_span< int64_t const > > active_major_window_ends, std::optional< raft::device_span< int32_t const > > active_major_labels, raft::host_span< size_t const > Ks, rmm::device_uvector< int32_t > &&visited_minors, std::optional< rmm::device_uvector< int32_t > > &&visited_minor_labels, bool with_replacement, temporal_sampling_comparison_t temporal_sampling_comparison, neighbor_selection_t neighbor_selection, bool fixed_window)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, arithmetic_device_uvector_t, std::optional< rmm::device_uvector< int32_t > > > sample_edges (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, size_t number_of_edge_properties, std::optional< edge_arithmetic_property_view_t< int64_t > > edge_type_view, std::optional< edge_arithmetic_property_view_t< int64_t > > edge_bias_view, raft::device_span< int64_t const > active_majors, std::optional< raft::device_span< int32_t const > > active_major_labels, raft::host_span< size_t const > Ks, bool with_replacement)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, arithmetic_device_uvector_t, std::optional< rmm::device_uvector< int32_t > >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< int32_t > > > sample_edges_to_unvisited_neighbors (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, size_t number_of_edge_properties, std::optional< edge_arithmetic_property_view_t< int64_t > > edge_type_view, std::optional< edge_arithmetic_property_view_t< int64_t > > edge_bias_view, raft::device_span< int64_t const > active_majors, std::optional< raft::device_span< int32_t const > > active_major_labels, raft::host_span< size_t const > Ks, rmm::device_uvector< int64_t > &&visited_minors, std::optional< rmm::device_uvector< int32_t > > &&visited_minor_labels, bool with_replacement)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, arithmetic_device_uvector_t, std::optional< rmm::device_uvector< int32_t > >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< int32_t > > > temporal_sample_edges_to_unvisited_neighbors (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, size_t number_of_edge_properties, edge_property_view_t< int64_t, int32_t const * > edge_time_view, std::optional< edge_arithmetic_property_view_t< int64_t > > edge_type_view, std::optional< edge_arithmetic_property_view_t< int64_t > > edge_bias_view, raft::device_span< int64_t const > active_majors, std::optional< raft::device_span< int32_t const > > active_major_window_starts, std::optional< raft::device_span< int32_t const > > active_major_window_ends, std::optional< raft::device_span< int32_t const > > active_major_labels, raft::host_span< size_t const > Ks, rmm::device_uvector< int64_t > &&visited_minors, std::optional< rmm::device_uvector< int32_t > > &&visited_minor_labels, bool with_replacement, temporal_sampling_comparison_t temporal_sampling_comparison, neighbor_selection_t neighbor_selection, bool fixed_window)
- template std::tuple< rmm::device_uvector< int64_t >, rmm::device_uvector< int64_t >, arithmetic_device_uvector_t, std::optional< rmm::device_uvector< int32_t > >, rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< int32_t > > > temporal_sample_edges_to_unvisited_neighbors (raft::handle_t const &handle, raft::random::RngState &rng_state, graph_view_t< int64_t, int64_t, false, false > const &graph_view, size_t number_of_edge_properties, edge_property_view_t< int64_t, int64_t const * > edge_time_view, std::optional< edge_arithmetic_property_view_t< int64_t > > edge_type_view, std::optional< edge_arithmetic_property_view_t< int64_t > > edge_bias_view, raft::device_span< int64_t const > active_majors, std::optional< raft::device_span< int64_t const > > active_major_window_starts, std::optional< raft::device_span< int64_t const > > active_major_window_ends, std::optional< raft::device_span< int32_t const > > active_major_labels, raft::host_span< size_t const > Ks, rmm::device_uvector< int64_t > &&visited_minors, std::optional< rmm::device_uvector< int32_t > > &&visited_minor_labels, bool with_replacement, temporal_sampling_comparison_t temporal_sampling_comparison, neighbor_selection_t neighbor_selection, bool fixed_window)
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>, arithmetic_device_uvector_t, std::optional<rmm::device_uvector<int32_t>>> sample_outgoing_edges( - raft::handle_t const &handle,
- raft::random::RngState &rng_state,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- bool has_output_edge_properties,
- std::optional<edge_arithmetic_property_view_t<edge_t>> edge_type_view,
- std::optional<edge_arithmetic_property_view_t<edge_t>> edge_bias_view,
- cugraph::key_bucket_view_t<vertex_t, void, multi_gpu, false> const &key_bucket_view,
- raft::host_span<size_t const> Ks,
- std::optional<raft::device_span<int32_t const>> active_major_labels,
- bool with_replacement
Randomly sample outgoing edges.
When
has_output_edge_propertiesis true andgraph_viewis a multigraph, returns multi-edge indices so later gather_sampled_properties can identify parallel edges. Otherwise returns monostate (endpoints uniquely identify edges, or no output properties are needed).- Template Parameters:
vertex_t – Type of vertex identifiers. Needs to be an integral type.
edge_t – Type of edge identifiers. Needs to be an integral type.
multi_gpu – Flag indicating whether template instantiation should target single-GPU (false)
-
template<typename vertex_t, typename edge_t, typename tag_t, bool multi_gpu, typename temporal_params_t = no_temporal_params_t>
std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>, arithmetic_device_uvector_t, std::optional<rmm::device_uvector<int32_t>>, rmm::device_uvector<vertex_t>, std::optional<rmm::device_uvector<int32_t>>> sample_unvisited_outgoing_edges( - raft::handle_t const &handle,
- raft::random::RngState &rng_state,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- bool has_output_edge_properties,
- std::optional<edge_arithmetic_property_view_t<edge_t>> edge_type_view,
- std::optional<edge_arithmetic_property_view_t<edge_t>> edge_bias_view,
- cugraph::key_bucket_view_t<vertex_t, tag_t, multi_gpu, false> const &key_bucket_view,
- rmm::device_uvector<vertex_t> &&visited_minors,
- std::optional<rmm::device_uvector<int32_t>> &&visited_minor_labels,
- raft::host_span<size_t const> Ks,
- std::optional<raft::device_span<int32_t const>> active_major_labels,
- bool with_replacement,
- temporal_params_t temporal_params = temporal_params_t{}
Randomly sample unvisited outgoing edges.
When
has_output_edge_propertiesis true andgraph_viewis a multigraph, returns multi-edge indices so later gather_sampled_properties can identify parallel edges. Otherwise returns monostate.- Template Parameters:
vertex_t – Type of vertex identifiers. Needs to be an integral type.
edge_t – Type of edge identifiers. Needs to be an integral type.
tag_t – Type of the key bucket tag.
multi_gpu – Flag indicating whether template instantiation should target single-GPU (false)
- CUGRAPH_INSTANTIATE_SAMPLE_OUTGOING_EDGES (false)
- CUGRAPH_INSTANTIATE_SAMPLE_OUTGOING_EDGES (true)
- CUGRAPH_INSTANTIATE_SAMPLE_UNVISITED_OUTGOING_EDGES (void, false)
- CUGRAPH_INSTANTIATE_SAMPLE_UNVISITED_OUTGOING_EDGES (void, true)
- CUGRAPH_INSTANTIATE_SAMPLE_UNVISITED_OUTGOING_EDGES (int32_t, false)
- CUGRAPH_INSTANTIATE_SAMPLE_UNVISITED_OUTGOING_EDGES (int32_t, true)
- CUGRAPH_INSTANTIATE_TEMPORAL_SAMPLE_UNVISITED_OUTGOING_EDGES (void, int32_t, false)
- CUGRAPH_INSTANTIATE_TEMPORAL_SAMPLE_UNVISITED_OUTGOING_EDGES (void, int32_t, true)
- CUGRAPH_INSTANTIATE_TEMPORAL_SAMPLE_UNVISITED_OUTGOING_EDGES (void, int64_t, false)
- CUGRAPH_INSTANTIATE_TEMPORAL_SAMPLE_UNVISITED_OUTGOING_EDGES (void, int64_t, true)
- CUGRAPH_INSTANTIATE_TEMPORAL_SAMPLE_UNVISITED_OUTGOING_EDGES (int32_t, int32_t, false)
- CUGRAPH_INSTANTIATE_TEMPORAL_SAMPLE_UNVISITED_OUTGOING_EDGES (int32_t, int32_t, true)
- CUGRAPH_INSTANTIATE_TEMPORAL_SAMPLE_UNVISITED_OUTGOING_EDGES (int32_t, int64_t, false)
- CUGRAPH_INSTANTIATE_TEMPORAL_SAMPLE_UNVISITED_OUTGOING_EDGES (int32_t, int64_t, true)
-
template<typename vertex_t, typename edge_t, typename tag_t, typename biases_view_t, typename edge_type_t, typename biases_op_t, bool multi_gpu>
std::tuple<std::optional<rmm::device_uvector<int32_t>>, rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>, arithmetic_device_uvector_t> call_biased_per_v_random_select_transform_outgoing_e( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- cugraph::key_bucket_view_t<vertex_t, tag_t, multi_gpu, false> const &key_bucket_view,
- biases_view_t edge_biases_view,
- bool has_output_edge_properties,
- biases_op_t biases_op,
- std::optional<cugraph::edge_property_view_t<edge_t, edge_type_t const*>> edge_type_view,
- raft::random::RngState &rng_state,
- raft::host_span<size_t const> Ks,
- std::optional<raft::device_span<int32_t const>> active_major_labels,
- bool with_replacement
Helper function for random sampling of outgoing edges with a custom bias operator, used in homogeneous and heterogeneous sampling functions.
Standard biased sampling (sample_outgoing_edges): biases_op is sample_edge_biases_op_t; edge_biases_view holds float or double weights. Optional edge_type_view for heterogeneous type filtering. Used when sampling neighbors without an “unvisited” constraint.
Unvisited-neighbor biased sampling (sample_unvisited_outgoing_edges): biases_op is sample_unvisited_edge_biases_op_t or, when temporal_unvisited_params_t is supplied, sample_unvisited_temporal_edge_biases_op_t. The latter down-weights or excludes already-visited minors and edges outside the temporal window.
When
has_output_edge_propertiesis true andgraph_viewis a multigraph, multi-edge indices are sampled so gather_sampled_properties can identify parallel edges. Otherwise the transform property is a dummy view and the returned property column is monostate.
-
template<typename vertex_t, typename edge_t, typename tag_t, typename biases_view_t, typename edge_type_t, typename biases_op_t, bool multi_gpu>
std::tuple<std::optional<rmm::device_uvector<int32_t>>, rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>, arithmetic_device_uvector_t> call_biased_per_v_top_k_select_transform_outgoing_e( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- cugraph::key_bucket_view_t<vertex_t, tag_t, multi_gpu, false> const &key_bucket_view,
- biases_view_t edge_biases_view,
- bool has_output_edge_properties,
- biases_op_t biases_op,
- std::optional<cugraph::edge_property_view_t<edge_t, edge_type_t const*>> edge_type_view,
- raft::host_span<size_t const> Ks,
- std::optional<raft::device_span<int32_t const>> active_major_labels
LAST analog of call_biased_per_v_random_select_transform_outgoing_e. Selects the K highest-bias outgoing edges per (tagged-)vertex via per_v_top_k_select_transform_outgoing_e (no RNG, no replacement).
biases_opmust return last_n_bias_t.
-
template<typename vertex_t, typename edge_t, typename edge_type_t, bool multi_gpu>
std::tuple<std::optional<rmm::device_uvector<int32_t>>, rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>, arithmetic_device_uvector_t> call_unbiased_per_v_random_select_transform_outgoing_e( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- cugraph::key_bucket_view_t<vertex_t, void, multi_gpu, false> const &key_bucket_view,
- bool has_output_edge_properties,
- std::optional<cugraph::edge_property_view_t<edge_t, edge_type_t const*>> edge_type_view,
- raft::random::RngState &rng_state,
- raft::host_span<size_t const> Ks,
- std::optional<raft::device_span<int32_t const>> active_major_labels,
- bool with_replacement
Helper function for random sampling of outgoing edges without a bias operator, used in homogeneous and heterogeneous sampling functions.
When
has_output_edge_propertiesis true andgraph_viewis a multigraph, multi-edge indices are sampled so gather_sampled_properties can identify parallel edges. Otherwise the transform property is a dummy view and the returned property column is monostate.
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
rmm::device_uvector<int32_t> gather_edge_types_for_sampled_edgelist( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- edge_property_view_t<edge_t, int32_t const*> edge_type_view,
- raft::device_span<vertex_t const> majors,
- raft::device_span<vertex_t const> minors,
- arithmetic_device_uvector_t &multi_edge_index
-
template<typename vertex_t, typename edge_t, typename T, bool multi_gpu>
std::tuple<rmm::device_uvector<T>, rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>, arithmetic_device_uvector_t> gather_scalar_edge_property_for_edgelist( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- rmm::device_uvector<vertex_t> &&majors,
- rmm::device_uvector<vertex_t> &&minors,
- arithmetic_device_uvector_t &&multi_edge_index,
- edge_property_view_t<edge_t, T const*> prop_view
-
template<typename vertex_t, typename time_stamp_t>
rmm::device_uvector<time_stamp_t> lookup_temporal_bounds_for_active_majors( - raft::handle_t const &handle,
- raft::device_span<vertex_t const> sorted_majors,
- cuda::std::optional<raft::device_span<int32_t const>> sorted_labels,
- raft::device_span<time_stamp_t const> sorted_values,
- raft::device_span<vertex_t const> query_majors,
- std::optional<raft::device_span<int32_t const>> query_labels
-
template<typename vertex_t, typename label_t>
std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>, std::vector<arithmetic_device_uvector_t>, std::optional<rmm::device_uvector<label_t>>, std::optional<rmm::device_uvector<int32_t>>> concatenate_produced_edge_list_properties( - raft::handle_t const &handle,
- std::vector<std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>, std::vector<cugraph::arithmetic_device_uvector_t>, std::optional<rmm::device_uvector<label_t>>, int32_t>> &&produced_edge_lists,
- bool return_hops
- std::tuple<std::vector<cugraph::arithmetic_device_uvector_t>, std::optional<rmm::device_uvector<int32_t>>, std::optional<rmm::device_uvector<int32_t>>, std::optional<rmm::device_uvector<size_t>>> shuffle_and_organize_output(
- raft::handle_t const &handle,
- std::vector<cugraph::arithmetic_device_uvector_t> &&property_edges,
- std::optional<rmm::device_uvector<int32_t>> &&labels,
- std::optional<rmm::device_uvector<int32_t>> &&hops,
- std::optional<int32_t> input_hops,
- std::optional<raft::device_span<int32_t const>> output_labels,
- std::optional<raft::device_span<int32_t const>> label_to_output_comm_rank
Organize sampling results by shuffling to the proper GPU (if necessary as identified by labels and label_to_output_comm_rank) and sorting the vertices by label and hop.
- Parameters:
handle – RAFT handle object to encapsulate resources (e.g. CUDA stream, communicator, and handles to various CUDA libraries) to run graph algorithms.
property_edges – vector of arithmetic device vectors of the edge data and the properties. This should include the src and dst vertices, any edge properties that exist for the sampled edge and optionally the hop where the edge was sampled
hops – Optional hops associated with each edge. If hops are specified the result is sorted by label and hop
output_labels – Sorted labels this GPU is responsible for reporting (see compute_output_labels). The returned offsets array holds one range per entry plus a trailing total, so a label that sampled no edges gets an empty range rather than being dropped. Required whenever
labelsis specifiedlabel_to_output_comm_rank – Optional map associating each label to a comm rank. If specified this will result in shuffling the data, if not specified this will skip the shuffling step and only consider sorting the results
-
template<typename vertex_t, typename edge_t, bool multi_gpu>
std::tuple<rmm::device_uvector<vertex_t>, std::optional<rmm::device_uvector<int32_t>>> update_dst_visited_vertices_and_labels( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- rmm::device_uvector<vertex_t> &&visited_minors,
- std::optional<rmm::device_uvector<int32_t>> &&visited_minor_labels,
- raft::device_span<vertex_t const> sampled_vertices,
- std::optional<raft::device_span<int32_t const>> sampled_vertex_labels
Update visited destination vertices and optional labels with newly sampled items.
This updates the visited sets using the most recent sampling results. If labels are provided, the visited sets are treated as pairs of (vertex, label); otherwise only vertices are tracked.
- Template Parameters:
vertex_t – Type of vertex identifiers. Needs to be an integral type.
- Parameters:
handle – RAFT handle object.
graph_view – Graph View object for context (partitioning, MG routing, etc.).
visited_minors – Device vector of already visited minor vertices.
visited_minor_labels – Optional device vector of labels for visited minor vertices.
sampled_vertices – Device span of newly sampled vertices to mark visited.
sampled_vertex_labels – Device span of labels corresponding to sampled vertices.
- Returns:
Tuple with updated visited vertices and labels.
- inline __host__ __device__ bool is_temporal_decreasing (temporal_sampling_comparison_t temporal_sampling_comparison)
- inline __host__ __device__ bool propagates_sampled_edge_times_as_window_start (bool fixed_window)
- template<typename time_stamp_t> inline __host__ __device__ time_stamp_t unbounded_temporal_window_start (temporal_sampling_comparison_t temporal_sampling_comparison)
- template<typename time_stamp_t> inline __host__ __device__ time_stamp_t unbounded_temporal_window_end (temporal_sampling_comparison_t temporal_sampling_comparison)
- template<typename time_stamp_t> inline __host__ __device__ bool passes_temporal_filter (temporal_sampling_comparison_t temporal_sampling_comparison, time_stamp_t key_time, time_stamp_t window_end, time_stamp_t edge_time)
- template<typename vertex_t> inline __device__ bool try_find_temporal_key_index (raft::device_span< vertex_t const > majors, vertex_t major, size_t &idx)
- template<typename vertex_t, typename label_t> inline __device__ bool try_find_temporal_key_index (raft::device_span< vertex_t const > majors, raft::device_span< label_t const > labels, vertex_t major, label_t label, size_t &idx)
- template<typename time_stamp_t> inline __device__ last_n_bias_t last_n_time_bias (time_stamp_t edge_time, temporal_sampling_comparison_t temporal_sampling_comparison)
- template<typename time_stamp_t> inline __device__ last_n_bias_t last_n_selection_bias (time_stamp_t edge_time, temporal_sampling_comparison_t temporal_sampling_comparison, last_n_bias_t uniform_key)
- template std::tuple< rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< int32_t > > > update_dst_visited_vertices_and_labels< int32_t, int32_t, false > (raft::handle_t const &, graph_view_t< int32_t, int32_t, false, false > const &, rmm::device_uvector< int32_t > &&, std::optional< rmm::device_uvector< int32_t > > &&, raft::device_span< int32_t const >, std::optional< raft::device_span< int32_t const > >)
- template std::tuple< rmm::device_uvector< int32_t >, std::optional< rmm::device_uvector< int32_t > > > update_dst_visited_vertices_and_labels< int32_t, int32_t, true > (raft::handle_t const &, graph_view_t< int32_t, int32_t, false, true > const &, rmm::device_uvector< int32_t > &&, std::optional< rmm::device_uvector< int32_t > > &&, raft::device_span< int32_t const >, std::optional< raft::device_span< int32_t const > >)
- template std::tuple< rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< int32_t > > > update_dst_visited_vertices_and_labels< int64_t, int64_t, false > (raft::handle_t const &, graph_view_t< int64_t, int64_t, false, false > const &, rmm::device_uvector< int64_t > &&, std::optional< rmm::device_uvector< int32_t > > &&, raft::device_span< int64_t const >, std::optional< raft::device_span< int32_t const > >)
- template std::tuple< rmm::device_uvector< int64_t >, std::optional< rmm::device_uvector< int32_t > > > update_dst_visited_vertices_and_labels< int64_t, int64_t, true > (raft::handle_t const &, graph_view_t< int64_t, int64_t, false, true > const &, rmm::device_uvector< int64_t > &&, std::optional< rmm::device_uvector< int32_t > > &&, raft::device_span< int64_t const >, std::optional< raft::device_span< int32_t const > >)
-
template<typename vertex_t, typename edge_t, typename weight_t, bool store_transposed, bool multi_gpu>
std::tuple<std::optional<rmm::device_uvector<weight_t>>, std::optional<rmm::device_uvector<weight_t>>> normalize_biases( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, store_transposed, multi_gpu> const &graph_view,
- raft::device_span<weight_t const> biases
-
template<typename vertex_t, typename edge_t, typename weight_t, bool store_transposed, bool multi_gpu>
rmm::device_uvector<vertex_t> create_local_samples( - raft::handle_t const &handle,
- raft::random::RngState &rng_state,
- graph_view_t<vertex_t, edge_t, store_transposed, multi_gpu> const &graph_view,
- std::optional<rmm::device_uvector<weight_t>> const &normalized_biases,
- std::optional<rmm::device_uvector<weight_t>> const &gpu_biases,
- size_t samples_in_this_batch
-
template<typename vertex_t, typename edge_t, typename weight_t, typename edge_type_t, typename bias_t, typename label_t, bool store_transposed, bool multi_gpu>
std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>, std::optional<rmm::device_uvector<weight_t>>, std::optional<rmm::device_uvector<edge_t>>, std::optional<rmm::device_uvector<edge_type_t>>, std::optional<rmm::device_uvector<int32_t>>, std::optional<rmm::device_uvector<label_t>>, std::optional<rmm::device_uvector<size_t>>> neighbor_sample_impl( - raft::handle_t const &handle,
- raft::random::RngState &rng_state,
- graph_view_t<vertex_t, edge_t, store_transposed, multi_gpu> const &graph_view,
- std::optional<edge_property_view_t<edge_t, weight_t const*>> edge_weight_view,
- std::optional<edge_property_view_t<edge_t, edge_t const*>> edge_id_view,
- std::optional<edge_property_view_t<edge_t, edge_type_t const*>> edge_type_view,
- std::optional<edge_property_view_t<edge_t, bias_t const*>> edge_bias_view,
- raft::device_span<vertex_t const> starting_vertices,
- std::optional<raft::device_span<label_t const>> starting_vertex_labels,
- std::optional<raft::device_span<int32_t const>> label_to_output_comm_rank,
- raft::host_span<int32_t const> fan_out,
- std::optional<edge_type_t> num_edge_types,
- sampling_flags_t sampling_flags,
- bool do_expensive_check
-
template<typename vertex_t, typename edge_t, typename weight_t, bool multi_gpu, typename random_selector_t>
std::tuple<rmm::device_uvector<vertex_t>, std::optional<rmm::device_uvector<weight_t>>> random_walk_impl( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, false, multi_gpu> const &graph_view,
- std::optional<edge_property_view_t<edge_t, weight_t const*>> edge_weight_view,
- raft::device_span<vertex_t const> start_vertices,
- size_t max_length,
- random_selector_t random_selector
-
template<typename time_stamp_t>
void validate_starting_vertex_time_windows( - raft::handle_t const &handle,
- raft::device_span<time_stamp_t const> starting_vertex_start_times,
- raft::device_span<time_stamp_t const> starting_vertex_end_times
-
template<typename vertex_t, typename label_t>
void validate_no_duplicate_seeds( - raft::handle_t const &handle,
- raft::device_span<vertex_t const> starting_vertices,
- std::optional<raft::device_span<label_t const>> starting_vertex_labels
-
template<typename vertex_t, typename time_stamp_t, typename label_t>
void dedupe_temporal_frontier( - raft::handle_t const &handle,
- rmm::device_uvector<vertex_t> &frontier_vertices,
- std::optional<rmm::device_uvector<label_t>> &frontier_vertex_labels,
- std::optional<rmm::device_uvector<time_stamp_t>> &frontier_vertex_times,
- std::optional<rmm::device_uvector<time_stamp_t>> &frontier_vertex_window_ends,
- temporal_sampling_comparison_t temporal_sampling_comparison,
- bool fixed_window
-
template<typename vertex_t, typename time_stamp_t, typename label_t>
rmm::device_uvector<time_stamp_t> lookup_src_time_from_frontier( - raft::handle_t const &handle,
- raft::device_span<vertex_t const> frontier_vertices,
- std::optional<raft::device_span<label_t const>> frontier_labels,
- raft::device_span<time_stamp_t const> frontier_times,
- raft::device_span<vertex_t const> srcs,
- std::optional<raft::device_span<label_t const>> src_labels
-
template<typename vertex_t, typename time_stamp_t, typename label_t>
std::optional<rmm::device_uvector<time_stamp_t>> frontier_times_keeping_bound_for_missing_edges( - raft::handle_t const &handle,
- temporal_sampling_comparison_t temporal_sampling_comparison,
- raft::device_span<vertex_t const> frontier_vertices,
- std::optional<raft::device_span<label_t const>> frontier_labels,
- std::optional<raft::device_span<time_stamp_t const>> frontier_times,
- raft::device_span<time_stamp_t const> edge_start_times,
- raft::device_span<vertex_t const> srcs,
- std::optional<raft::device_span<label_t const>> src_labels
-
template<typename edge_t, typename time_stamp_t, typename edge_type_t, bool multi_gpu>
void validate_last_n_heterogeneous_edge_times( - raft::handle_t const &handle,
- edge_property_view_t<edge_t, time_stamp_t const*> edge_start_time_view,
- edge_property_view_t<edge_t, edge_type_t const*> edge_type_view,
- edge_type_t num_edge_types
-
template<typename vertex_t, typename edge_t, typename weight_t, typename edge_type_t, typename time_stamp_t, typename bias_t, typename label_t, bool store_transposed, bool multi_gpu>
std::tuple<rmm::device_uvector<vertex_t>, rmm::device_uvector<vertex_t>, std::optional<rmm::device_uvector<weight_t>>, std::optional<rmm::device_uvector<edge_t>>, std::optional<rmm::device_uvector<edge_type_t>>, std::optional<rmm::device_uvector<time_stamp_t>>, std::optional<rmm::device_uvector<time_stamp_t>>, std::optional<rmm::device_uvector<int32_t>>, std::optional<rmm::device_uvector<size_t>>> temporal_neighbor_sample_impl( - raft::handle_t const &handle,
- raft::random::RngState &rng_state,
- graph_view_t<vertex_t, edge_t, store_transposed, multi_gpu> const &graph_view,
- std::optional<edge_property_view_t<edge_t, weight_t const*>> edge_weight_view,
- std::optional<edge_property_view_t<edge_t, edge_t const*>> edge_id_view,
- std::optional<edge_property_view_t<edge_t, edge_type_t const*>> edge_type_view,
- edge_property_view_t<edge_t, time_stamp_t const*> edge_start_time_view,
- std::optional<edge_property_view_t<edge_t, time_stamp_t const*>> edge_end_time_view,
- std::optional<edge_property_view_t<edge_t, bias_t const*>> edge_bias_view,
- raft::device_span<vertex_t const> starting_vertices,
- std::optional<raft::device_span<time_stamp_t const>> starting_vertex_start_times,
- std::optional<raft::device_span<time_stamp_t const>> starting_vertex_end_times,
- std::optional<raft::device_span<label_t const>> starting_vertex_labels,
- std::optional<raft::device_span<int32_t const>> label_to_output_comm_rank,
- raft::host_span<int32_t const> fan_out,
- std::optional<edge_type_t> num_edge_types,
- sampling_flags_t sampling_flags,
- bool do_expensive_check
-
template<typename vertex_t, typename edge_t, typename weight_t, bool store_transposed, bool multi_gpu>
std::enable_if_t<multi_gpu, std::tuple<graph_t<vertex_t, edge_t, store_transposed, multi_gpu>, std::optional<edge_property_t<edge_t, weight_t>>, std::optional<rmm::device_uvector<vertex_t>>>> coarsen_graph( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t, store_transposed, multi_gpu> const &graph_view,
- std::optional<edge_property_view_t<edge_t, weight_t const*>> edge_weight_view,
- vertex_t const *labels,
- bool renumber,
- bool do_expensive_check
-
template<typename vertex_t, typename edge_t, typename weight_t, bool store_transposed, bool multi_gpu>
std::enable_if_t<!multi_gpu, std::tuple<graph_t<vertex_t, edge_t, store_transposed, multi_gpu>, std::optional<edge_property_t<edge_t, weight_t>>, std::optional<rmm::device_uvector<vertex_t>>>> coarsen_graph( - raft::handle_t const &handle,
- graph_view_t<vertex_t, edge_t,
-
typedef int32_t vertex_t#
-
template<typename VT, typename ET, typename WT>