-
Notifications
You must be signed in to change notification settings - Fork 99
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix624: lots of distance-2 changes, fix Utils transpose #661
Conversation
Testing: RIDE: |
Also, I ran kokkos-dev2 spot check with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since the transpose did not have an issue after all we might not need to change the code there?
On the other hand adding a test and maybe a simpler interface that takes in a Kokkos::CrsMatrix
could make life easier, I would also argue that separating the transpose capability into its own header file would make it more obvious (it took me a bit of time to find it).
Now distinguishing between D-2 (which doesn't allow dist-1 conflicts either) and one-sided bipartite coloring (which DOES allow dist-1 conflicts, because rows and columns are considered distinct sets of vertices).
@lucbv I did the things you suggested and the transpose changes are completely reverted. Re-running tests. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @brian-kelley ! See comments below
Man .. GitHub ate some of my comments .. will do them again .. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
More comments now ...
WIP: debugging the transpose issue. Using the old transpose, bipartite column test gets a wrong rowmap
Wow, just figured out the bug in kk_transpose_graph():
The functor gets constructed with |
by not constructing the functor with -1 as the chunk size by default. Fixed by moving functor construction after the logic to choose the default team/vector/chunk sizes.
Also cleaned up debugging code, now that transpose is fixed
@brian-kelley : Can you add performance numbers for reproducibility and documentation ? We spoke about few other things, you can take care of it and resolve the conversations Looks like this is ready to go .. |
Re-running the tests. I added the symmetric bipartite test, but I will put the transpose unit test in a different PR. |
Testing is good: ####################################################### |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @brian-kelley !
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Fix #624.
Refactor the D2 interface: deprecate old function
graph_compute_distance2_color()
, and add 3 new functionsgraph_color_distance2()
,bipartite_color_rows()
, andbipartite_color_columns()
. The first new function does distance-2 coloring on an undirected/symmetric graph (so no d-1 or d-2 conflicts). The other two do one-sided coloring of a bipartite graph, so d-1 conflicts are not considered, and the input graph doesn't have to be symmetric (but it can be). If it isn't symmetric, the transpose is computed internally so the user doesn't have to.All the new functions and the old one (if deprecated enabled) are tested.
Delete the matrix-squared version of D2 (it was temporary anyway).
Fix a bug in
kk_generate_sparse_matrix
where a row could have a negative number of entries, e.g.rowmap(k+1) < rowmap(k)
.