-
Notifications
You must be signed in to change notification settings - Fork 300
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
Update C++ SG and MG Louvain tests to support Rmat and benchmark tests #2054
Update C++ SG and MG Louvain tests to support Rmat and benchmark tests #2054
Conversation
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.
Looks good to me.
@@ -29,7 +29,8 @@ | |||
#include <vector> | |||
|
|||
struct Louvain_Usecase { | |||
bool test_weighted_{false}; |
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.
So, are we always testing for weighted graphs only?
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.
Yes. Louvain requires a weighted graph. All of the computations operate on the edge weights.
I'll add a CUGRAPH_EXPECTS
in the algorithm implementation to check this, since we don't currently check that.
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.
Can't we implicitly assume edge weights of 1 if the input graph is unweighted? Or no real use case for this?
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.
I assume finding communities in unweighted graphs to be something practical.
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.
The python layer will add a weight of 1 for edges if the input graph is unweighted.
I think it would make the C++ code unwieldy to allow the input graph to be unweighted. Once we coarsen the graph it must be weighted, so we'd end up having to have different code paths for the original graph than from the coarsened graphs.
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.
Gotcha, just wanted to point out that there is memory requirement vs implementation complexity trade-off.
Codecov Report
@@ Coverage Diff @@
## branch-22.04 #2054 +/- ##
===============================================
Coverage ? 73.08%
===============================================
Files ? 151
Lines ? 9827
Branches ? 0
===============================================
Hits ? 7182
Misses ? 2645
Partials ? 0 Continue to review full report at Codecov.
|
@gpucibot merge |
Some general cleanup of C++ Louvain tests.