You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Support for dynamic graphs is in design currently. I expect that we will have a clearer concept of how we plan on handling them and what the timeline for implementation will be at some point this summer.
Removing Edges
Until the dynamic graphs feature is in place, there is no support for removing edges from a graph. You can use the edge mask to virtually remove the edges.
is a recent update to a unit test that uses edge masking. You can create an edge property (from an rmm::device_uvector that identifies which edges to mask out. They will still consume memory, and there will be a small overhead to skip them when traversing, but you should get the correct functionality and performance on edge masking is pretty good.
Adding Edges
Until the dynamic graphs feature is in place, there is no mechanism for adding edges to an existing graph without rebuilding it. If you know the entire possible edge set up front you can create the graph and use edge masking to simulate the addition of edges from the graph. If you are truly dynamically adding edges to the graph and you don't know them all a priori then you will need to recreate the graph.
Graph creation is pretty fast. If you still have the original list of edges, append the new edges to the list and create a new graph. If you don't have a copy of the original edges, you can construct a new copy from the graph using the function
which will take a cugraph::graph_view_t and generate the list of edges that are part of it. Appending your new edges to this structure you should be able to create the new graph.
rmm::device_uvector<int64_t> d_edge_srcs(srcs.size(), stream1);
rmm::device_uvector<int64_t> d_edge_dsts(dsts.size(), stream1);
the edge masking is supported in v24.04.00 ,so how i can add or remove edges without destructing the graph_t ?
Code of Conduct
The text was updated successfully, but these errors were encountered: