cugraph icon indicating copy to clipboard operation
cugraph copied to clipboard

Add generic edge properties object

Open ChuckHastings opened this issue 11 months ago • 0 comments

Adding features to support type-erased edge properties within cugraph.

Temporal graph support would require adding 2 additional edge properties. This would result in 4x compile time and code size for functions that manipulate edge properties during the graph creation process.

This PR adds some new features to cugraph to reduce this compile time and provide the basis for adding the temporal edge properties to the graph in an efficient manner:

  • device_vector_t - an analog to a cudf series... this is a type-erased structure for storing a vector that allows us to interpret it upon use rather than needing to templatize the types
  • type_dispatcher - adapted from cudf to allow us to do dynamic type dispatching
  • edge_properties_t - a single object that contains a collection of device_vector_t objects allowing us to pass the edge properties in a single unit between functions that need to operate on the

ChuckHastings avatar Nov 15 '24 19:11 ChuckHastings