extract_transform_v_frontier_incoming_outgoing_e.cuh#
-
namespace cugraph
Functions
-
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 KeyBucketType, typename EdgeSrcValueInputWrapper, typename EdgeDstValueInputWrapper, typename EdgeValueInputWrapper, typename EdgeOp>