-
Notifications
You must be signed in to change notification settings - Fork 6
Developer's Guide
To access engpar's CSR arrays in the agi::PNgraph class use the publicize function:
https://github.com/SCOREC/EnGPar/blob/40d649c0bf6d8021367692a065018894c14d7a96/agi/ngraph.h#L103
The agi::PNgraph class is defined here:
https://github.com/SCOREC/EnGPar/blob/40d649c0bf6d8021367692a065018894c14d7a96/agi/pngraph.h
The variables relevant to running an on-process vertex coloring are:
int num_types;lid_t num_local_edges[MAX_TYPES];lid_t* degree_list[MAX_TYPES];lid_t* edge_list[MAX_TYPES];
Note, the EnGPar multi-graph/Ngraph supports multiple edge types. Assume for now that we will be coloring with consideration for only one edge type at a time. I.e., when the user asks for the graph to be colored they must indicate which edge type to use.
The following example implements a pull-based breadth first search using the CSR arrays. This supports both hypergraphs and regular graphs:
Here is some exploratory work to run a breadth first search using kokkos on the CSR - the code that creates the views may be helpful:
- Note, I have not tested this in many moons - based on the comments it looks like it did something :)