fill_edge_src_dst_property.cuh#

namespace cugraph

Functions

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).

namespace detail

Functions

template<typename Iterator, typename T> __device__ std::enable_if_t< std::is_same_v< T, bool >, void > fill_thrust_tuple_element (Iterator iter, size_t offset, T value)
template<typename Iterator, typename T> __device__ std::enable_if_t<!std::is_same_v< T, bool >, void > fill_thrust_tuple_element (Iterator iter, size_t offset, T value)
template<typename Iterator, typename T, std::size_t... Is> __device__ void fill_thrust_tuple (Iterator iter, size_t offset, T value, std::index_sequence< Is... >)
template<typename Iterator, typename T> __device__ void fill_scalar_or_thrust_tuple (Iterator iter, size_t offset, T value)
template<typename GraphViewType, typename EdgeMajorPropertyOutputWrapper, typename T>
void fill_edge_major_property(
raft::handle_t const &handle,
GraphViewType const &graph_view,
EdgeMajorPropertyOutputWrapper edge_major_property_output,
T input
)
template<typename GraphViewType, typename VertexIterator, typename EdgeMajorPropertyOutputWrapper, typename T>
void fill_edge_major_property(
raft::handle_t const &handle,
GraphViewType const &graph_view,
VertexIterator sorted_unique_vertex_first,
VertexIterator sorted_unique_vertex_last,
EdgeMajorPropertyOutputWrapper edge_major_property_output,
T input
)
template<typename GraphViewType, typename EdgeMinorPropertyOutputWrapper, typename T>
void fill_edge_minor_property(
raft::handle_t const &handle,
GraphViewType const &graph_view,
EdgeMinorPropertyOutputWrapper edge_minor_property_output,
T input
)
template<typename GraphViewType, typename VertexIterator, typename EdgeMinorPropertyOutputWrapper, typename T>
void fill_edge_minor_property(
raft::handle_t const &handle,
GraphViewType const &graph_view,
VertexIterator sorted_unique_vertex_first,
VertexIterator sorted_unique_vertex_last,
EdgeMinorPropertyOutputWrapper edge_minor_property_output,
T input
)
template<typename vertex_t>
struct within_valid_range_t

Public Functions

inline __device__ bool operator() (vertex_t i) const

Public Members

raft::device_span<vertex_t const> local_v_list_sizes = {}#
vertex_t max_padded_local_v_list_size = {}#