-
Notifications
You must be signed in to change notification settings - Fork 304
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
[REVIEW] 2D cython/python infrastructure- BFS & SSSP #1177
[REVIEW] 2D cython/python infrastructure- BFS & SSSP #1177
Conversation
Please update the changelog in order to start CI tests. View the gpuCI docs here. |
…st_mnmg_pagerank_bfs_sssp
…st_mnmg_pagerank_bfs_sssp
…n alnog the minor direction
rerun tests |
Codecov Report
@@ Coverage Diff @@
## branch-0.16 #1177 +/- ##
===============================================
- Coverage 57.04% 56.79% -0.25%
===============================================
Files 61 62 +1
Lines 2514 2546 +32
===============================================
+ Hits 1434 1446 +12
- Misses 1080 1100 +20
Continue to review full report at Codecov.
|
dg = cugraph.DiGraph() | ||
dg.from_dask_cudf_edgelist(ddf, "src", "dst") | ||
|
||
expected_dist = cugraph.sssp(g, 0) |
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.
Second problem looks similar to the issue that was fixed with pagerank values... note that the index restarts... perhaps the predecessor and distance aren't getting gathered from the correct GPU?
cpp/src/utilities/cython.cu
Outdated
graph_container.graph_ptr_union.GraphCSCViewDoublePtr->get_vertex_identifiers( | ||
reinterpret_cast<int32_t*>(identifiers)); | ||
} else if (graph_container.graph_type == graphTypeEnum::graph_t) { | ||
if (graph_container.edgeType == numberTypeEnum::int32Type) { |
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.
This would be cleaner (for pagerank, BFS and SSSP) to use the technique used by louvain... define a functor for each algorithm and then call detail::call_function<true, void>(handle, graph_container, functor);
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.
Although we could defer this work to 0.17
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, but some conflicts here as well.
graph : cugraph.DiGraph | ||
cuGraph graph descriptor, should contain the connectivity information | ||
as dask cudf edge list dataframe(edge weights are not used for this | ||
algorithm). Undirected Graph not currently supported. |
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.
"Undirected Graph not currently supported."
Could we add that undirected graphs should be passed as Digraph with edges in both directions (apply to other MG APIs as well).
|
||
Returns | ||
------- | ||
df : cudf.DataFrame |
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.
Should this be a dask data frame or are we assuming that 3 global V sets will fit in one GPU?
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.
Saw that in #1175 too
No description provided.