Skip to content
This repository has been archived by the owner on Dec 22, 2022. It is now read-only.

Implementating CSC graph functions #64

Merged
merged 5 commits into from
May 1, 2021
Merged

Conversation

bkj
Copy link
Contributor

@bkj bkj commented Apr 29, 2021

  • Implemented get_source_vertex, get_destination_vertex and get_edge for CSC graphs. Note that I think get_source_vertex(edge_id) should return row_indices[edge_id] -- my interpretation of a graph stored as a CSC is that row_indices stores the in-neighbors.
  • I think the CSC construction logic in build/detail/build.hxx:from_csr was incorrect. Should be fixed in this PR. Note that to have both a CSR and a CSC view at the same time, we'll need another copy of the values array. In total, for the two views we'd have 6 datastructures:
row_offsets
column_indices
row_ordered_values
column_offsets
row_indices
column_ordered_values

This is because the edges are sorted differently for CSR and CSC, so values is sorted differently as well.

@bkj bkj changed the base branch from master to dev April 29, 2021 04:30
@neoblizz neoblizz added 🐲 enhancement New feature or request 🐙 c++ C++ related issues. labels Apr 29, 2021
@bkj
Copy link
Contributor Author

bkj commented Apr 29, 2021

  • Changed build/detail/ functions + CSR/CSC/COO set functions to use more obvious names:
Ap -> row_offsets
J -> column_indices
X -> values
Aj -> column_offsets
I -> row_indices

@neoblizz neoblizz merged commit f9530e3 into gunrock:dev May 1, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
🐙 c++ C++ related issues. 🐲 enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

graph_t views interface needs to be completed
2 participants