Skip to content
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

Merged
merged 85 commits into from
Oct 13, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
560e15f
add minimal update to create a PR
seunghwak Sep 30, 2020
aaa3d01
pagerank 2D cython/python infrastructure
Iroy30 Sep 30, 2020
f7f89ed
2D infra- bfs and sssp
Iroy30 Sep 30, 2020
252f660
Merge branch 'branch-0.16' of github.com:rapidsai/cugraph into bug_te…
seunghwak Oct 1, 2020
2be9e5f
add a work around for source (or destination) == self case for isend/…
seunghwak Oct 1, 2020
25607ca
fix a warning
seunghwak Oct 1, 2020
208ceab
remove dummy change log
seunghwak Oct 1, 2020
7ce38cd
sgpu pagerank edits
Iroy30 Oct 1, 2020
4d9fc73
edits
Iroy30 Oct 2, 2020
23d33d5
Merge branch 'branch-0.16' of github.com:rapidsai/cugraph into bug_te…
seunghwak Oct 2, 2020
2e58744
add namespace
Iroy30 Oct 2, 2020
fe15517
pull branch0.16
Iroy30 Oct 2, 2020
ff836d9
pull branch0.16
Iroy30 Oct 2, 2020
eb22356
update test
Iroy30 Oct 2, 2020
8e7fd10
Merge branch 'branch-0.16' of https://github.com/rapidsai/cugraph int…
Iroy30 Oct 2, 2020
7463576
Merge branch 'branch-0.16' of github.com:rapidsai/cugraph into bug_te…
seunghwak Oct 3, 2020
6e1b152
in copy_v_transform_reduce_in|out_nbr, implement missing communicatio…
seunghwak Oct 3, 2020
e2bde19
pull branch 0.16
Iroy30 Oct 3, 2020
9d7f2b6
Merge branch 'upstream_python_binding_pagerank' into bug_test_mnmg_pa…
seunghwak Oct 3, 2020
a33c2d1
bug fix (assertion failure)\n
seunghwak Oct 3, 2020
f874f65
bug fix in copy_v_transform_reduce_in_out_nbr.cuh
seunghwak Oct 4, 2020
761f7aa
clang-format
seunghwak Oct 4, 2020
790549f
enforce consistency in variable naming related to subcommunicators
seunghwak Oct 4, 2020
59fadef
bug fix (graph construction)
seunghwak Oct 5, 2020
a006b99
bug fix (vertex_partition_segment_offsets)
seunghwak Oct 5, 2020
3495b2e
review updates
Iroy30 Oct 5, 2020
0e2965c
clang
Iroy30 Oct 5, 2020
bd2dd83
bug fix (caching comm_rank in partition_t object)
seunghwak Oct 5, 2020
2b4e16b
Merge commit 'refs/pull/1175/head' of github.com:rapidsai/cugraph int…
seunghwak Oct 5, 2020
b097f1f
updatelocal_verts
Iroy30 Oct 5, 2020
d592456
Merge commit 'refs/pull/1175/head' of github.com:rapidsai/cugraph int…
seunghwak Oct 5, 2020
15818f7
bug fix (scale dangling_sum by damping factor)
seunghwak Oct 5, 2020
21d4e10
remove transform_reduce_v_with_adj_matrix_row
seunghwak Oct 5, 2020
d6b2e58
replace device_vector with device_uvector in sssp
seunghwak Oct 5, 2020
347edbc
bfs updates to 2D infra
Iroy30 Oct 5, 2020
4c5bcba
pull PR1177
seunghwak Oct 5, 2020
e21a910
sssp 2D integration
Iroy30 Oct 5, 2020
d85da53
sssp
Iroy30 Oct 5, 2020
ebf6bde
flake8
Iroy30 Oct 5, 2020
125b0d6
clang
Iroy30 Oct 5, 2020
7ca55d2
Merge branch 'branch-0.16' of github.com:rapidsai/cugraph into bug_te…
seunghwak Oct 6, 2020
d2d831d
pull pull/1177/head
seunghwak Oct 6, 2020
6430ad5
add host_scalalr_bcast to comm_utils
seunghwak Oct 6, 2020
c55dbfb
remove unnecessary include
seunghwak Oct 6, 2020
dd80001
bug fix in update_frontier_v_push_if_out_nbr
seunghwak Oct 6, 2020
44e3e10
bug fix in VertexFrontier declaration
seunghwak Oct 6, 2020
c479b6d
add debug print for pagerank sum
seunghwak Oct 6, 2020
facc70c
remove dummy code
seunghwak Oct 6, 2020
97b98ed
bug fix in assert
seunghwak Oct 6, 2020
e0e696a
fix timing bug with isend/irecv
seunghwak Oct 6, 2020
900fd11
fix compile error
seunghwak Oct 6, 2020
ffb1b18
review updates
Iroy30 Oct 8, 2020
bc6cd0b
review updates
Iroy30 Oct 9, 2020
a68a911
Revert "fix compile error"
Iroy30 Oct 9, 2020
50ba863
Revert "fix timing bug with isend/irecv"
Iroy30 Oct 9, 2020
1cb3ede
Revert "bug fix in assert"
Iroy30 Oct 9, 2020
eaa79ed
Revert "remove dummy code"
Iroy30 Oct 9, 2020
0870a99
Revert "add debug print for pagerank sum"
Iroy30 Oct 9, 2020
5d56bf4
Revert "bug fix in VertexFrontier declaration"
Iroy30 Oct 9, 2020
9d60561
Revert "bug fix in update_frontier_v_push_if_out_nbr"
Iroy30 Oct 9, 2020
919f1b8
Revert "remove unnecessary include"
Iroy30 Oct 9, 2020
79e4321
Revert "add host_scalalr_bcast to comm_utils"
Iroy30 Oct 9, 2020
4d9987c
Revert "replace device_vector with device_uvector in sssp"
Iroy30 Oct 9, 2020
d41374e
Revert "remove transform_reduce_v_with_adj_matrix_row"
Iroy30 Oct 9, 2020
23d9d93
Revert "bug fix (scale dangling_sum by damping factor)"
Iroy30 Oct 9, 2020
6104ae4
Revert "bug fix (caching comm_rank in partition_t object)"
Iroy30 Oct 9, 2020
2f2c9e0
Revert "bug fix (vertex_partition_segment_offsets)"
Iroy30 Oct 9, 2020
d058d68
Revert "bug fix (graph construction)"
Iroy30 Oct 9, 2020
915254e
Revert "enforce consistency in variable naming related to subcommunic…
Iroy30 Oct 9, 2020
5efe343
Revert "clang-format"
Iroy30 Oct 9, 2020
26bd54f
Revert "bug fix in copy_v_transform_reduce_in_out_nbr.cuh"
Iroy30 Oct 9, 2020
af73243
Revert "bug fix (assertion failure)\n"
Iroy30 Oct 9, 2020
5bef4a6
Revert "in copy_v_transform_reduce_in|out_nbr, implement missing comm…
Iroy30 Oct 9, 2020
678357e
Revert "fix a warning"
Iroy30 Oct 9, 2020
4e20dd5
Revert "add a work around for source (or destination) == self case fo…
Iroy30 Oct 9, 2020
bf45e68
revert
Iroy30 Oct 9, 2020
88be458
clang
Iroy30 Oct 9, 2020
7d280ec
update tests and predecessor
Iroy30 Oct 9, 2020
d8364bf
update doc
Iroy30 Oct 12, 2020
136e54f
update edge weights
Iroy30 Oct 12, 2020
764d249
Merge branch 'branch-0.16' into 2D_traversal_infra
Iroy30 Oct 12, 2020
99ffc55
remove partition row/col size
Iroy30 Oct 12, 2020
0bdd6fc
remove partition row/col size
Iroy30 Oct 12, 2020
1f2bf7c
remove partition row/col size
Iroy30 Oct 12, 2020
9f734a8
remove partition row/col size
Iroy30 Oct 12, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
- PR #1163 Integrated 2D shuffling and Louvain updates
- PR #1178 Refactored cython graph factory code to scale to additional data types
- PR #1175 Integrated 2D pagerank python/cython infra
- PR #1177 Integrated 2D bfs and sssp python/cython infra

## Improvements
- PR 1081 MNMG Renumbering - sort partitions by degree
Expand Down Expand Up @@ -49,6 +50,7 @@
- PR #1196 Move subcomms init outside of individual algorithm functions
- PR #1198 Remove deprecated call to from_gpu_matrix


# cuGraph 0.15.0 (26 Aug 2020)

## New Features
Expand Down
4 changes: 2 additions & 2 deletions cpp/include/algorithms.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -965,7 +965,7 @@ namespace experimental {
* @param do_expensive_check A flag to run expensive checks for input arguments (if set to `true`).
*/
template <typename vertex_t, typename edge_t, typename weight_t, bool multi_gpu>
void bfs(raft::handle_t &handle,
void bfs(raft::handle_t const &handle,
graph_view_t<vertex_t, edge_t, weight_t, false, multi_gpu> const &graph_view,
vertex_t *distances,
vertex_t *predecessors,
Expand Down Expand Up @@ -998,7 +998,7 @@ void bfs(raft::handle_t &handle,
* @param do_expensive_check A flag to run expensive checks for input arguments (if set to `true`).
*/
template <typename vertex_t, typename edge_t, typename weight_t, bool multi_gpu>
void sssp(raft::handle_t &handle,
void sssp(raft::handle_t const &handle,
graph_view_t<vertex_t, edge_t, weight_t, false, multi_gpu> const &graph_view,
weight_t *distances,
vertex_t *predecessors,
Expand Down
20 changes: 20 additions & 0 deletions cpp/include/utilities/cython.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,26 @@ void call_pagerank(raft::handle_t const& handle,
int64_t max_iter,
bool has_guess);

// Wrapper for calling BFS through a graph container
template <typename vertex_t, typename weight_t>
void call_bfs(raft::handle_t const& handle,
graph_container_t const& graph_container,
vertex_t* identifiers,
vertex_t* distances,
vertex_t* predecessors,
double* sp_counters,
const vertex_t start_vertex,
bool directed);

// Wrapper for calling SSSP through a graph container
template <typename vertex_t, typename weight_t>
void call_sssp(raft::handle_t const& handle,
graph_container_t const& graph_container,
vertex_t* identifiers,
weight_t* distances,
vertex_t* predecessors,
const vertex_t source_vertex);

// Helper for setting up subcommunicators, typically called as part of the
// user-initiated comms initialization in Python.
//
Expand Down
28 changes: 14 additions & 14 deletions cpp/src/experimental/bfs.cu
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ namespace experimental {
namespace detail {

template <typename GraphViewType, typename PredecessorIterator>
void bfs(raft::handle_t &handle,
void bfs(raft::handle_t const &handle,
GraphViewType const &push_graph_view,
typename GraphViewType::vertex_type *distances,
PredecessorIterator predecessor_first,
Expand Down Expand Up @@ -164,7 +164,7 @@ void bfs(raft::handle_t &handle,
} // namespace detail

template <typename vertex_t, typename edge_t, typename weight_t, bool multi_gpu>
void bfs(raft::handle_t &handle,
void bfs(raft::handle_t const &handle,
graph_view_t<vertex_t, edge_t, weight_t, false, multi_gpu> const &graph_view,
vertex_t *distances,
vertex_t *predecessors,
Expand Down Expand Up @@ -196,7 +196,7 @@ void bfs(raft::handle_t &handle,

// explicit instantiation

template void bfs(raft::handle_t &handle,
template void bfs(raft::handle_t const &handle,
graph_view_t<int32_t, int32_t, float, false, true> const &graph_view,
int32_t *distances,
int32_t *predecessors,
Expand All @@ -205,7 +205,7 @@ template void bfs(raft::handle_t &handle,
int32_t depth_limit,
bool do_expensive_check);

template void bfs(raft::handle_t &handle,
template void bfs(raft::handle_t const &handle,
graph_view_t<int32_t, int32_t, double, false, true> const &graph_view,
int32_t *distances,
int32_t *predecessors,
Expand All @@ -214,7 +214,7 @@ template void bfs(raft::handle_t &handle,
int32_t depth_limit,
bool do_expensive_check);

template void bfs(raft::handle_t &handle,
template void bfs(raft::handle_t const &handle,
graph_view_t<int32_t, int64_t, float, false, true> const &graph_view,
int32_t *distances,
int32_t *predecessors,
Expand All @@ -223,7 +223,7 @@ template void bfs(raft::handle_t &handle,
int32_t depth_limit,
bool do_expensive_check);

template void bfs(raft::handle_t &handle,
template void bfs(raft::handle_t const &handle,
graph_view_t<int32_t, int64_t, double, false, true> const &graph_view,
int32_t *distances,
int32_t *predecessors,
Expand All @@ -232,7 +232,7 @@ template void bfs(raft::handle_t &handle,
int32_t depth_limit,
bool do_expensive_check);

template void bfs(raft::handle_t &handle,
template void bfs(raft::handle_t const &handle,
graph_view_t<int64_t, int64_t, float, false, true> const &graph_view,
int64_t *distances,
int64_t *predecessors,
Expand All @@ -241,7 +241,7 @@ template void bfs(raft::handle_t &handle,
int64_t depth_limit,
bool do_expensive_check);

template void bfs(raft::handle_t &handle,
template void bfs(raft::handle_t const &handle,
graph_view_t<int64_t, int64_t, double, false, true> const &graph_view,
int64_t *distances,
int64_t *predecessors,
Expand All @@ -250,7 +250,7 @@ template void bfs(raft::handle_t &handle,
int64_t depth_limit,
bool do_expensive_check);

template void bfs(raft::handle_t &handle,
template void bfs(raft::handle_t const &handle,
graph_view_t<int32_t, int32_t, float, false, false> const &graph_view,
int32_t *distances,
int32_t *predecessors,
Expand All @@ -259,7 +259,7 @@ template void bfs(raft::handle_t &handle,
int32_t depth_limit,
bool do_expensive_check);

template void bfs(raft::handle_t &handle,
template void bfs(raft::handle_t const &handle,
graph_view_t<int32_t, int32_t, double, false, false> const &graph_view,
int32_t *distances,
int32_t *predecessors,
Expand All @@ -268,7 +268,7 @@ template void bfs(raft::handle_t &handle,
int32_t depth_limit,
bool do_expensive_check);

template void bfs(raft::handle_t &handle,
template void bfs(raft::handle_t const &handle,
graph_view_t<int32_t, int64_t, float, false, false> const &graph_view,
int32_t *distances,
int32_t *predecessors,
Expand All @@ -277,7 +277,7 @@ template void bfs(raft::handle_t &handle,
int32_t depth_limit,
bool do_expensive_check);

template void bfs(raft::handle_t &handle,
template void bfs(raft::handle_t const &handle,
graph_view_t<int32_t, int64_t, double, false, false> const &graph_view,
int32_t *distances,
int32_t *predecessors,
Expand All @@ -286,7 +286,7 @@ template void bfs(raft::handle_t &handle,
int32_t depth_limit,
bool do_expensive_check);

template void bfs(raft::handle_t &handle,
template void bfs(raft::handle_t const &handle,
graph_view_t<int64_t, int64_t, float, false, false> const &graph_view,
int64_t *distances,
int64_t *predecessors,
Expand All @@ -295,7 +295,7 @@ template void bfs(raft::handle_t &handle,
int64_t depth_limit,
bool do_expensive_check);

template void bfs(raft::handle_t &handle,
template void bfs(raft::handle_t const &handle,
graph_view_t<int64_t, int64_t, double, false, false> const &graph_view,
int64_t *distances,
int64_t *predecessors,
Expand Down
28 changes: 14 additions & 14 deletions cpp/src/experimental/sssp.cu
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ namespace experimental {
namespace detail {

template <typename GraphViewType, typename PredecessorIterator>
void sssp(raft::handle_t &handle,
void sssp(raft::handle_t const &handle,
GraphViewType const &push_graph_view,
typename GraphViewType::weight_type *distances,
PredecessorIterator predecessor_first,
Expand Down Expand Up @@ -241,7 +241,7 @@ void sssp(raft::handle_t &handle,
} // namespace detail

template <typename vertex_t, typename edge_t, typename weight_t, bool multi_gpu>
void sssp(raft::handle_t &handle,
void sssp(raft::handle_t const &handle,
graph_view_t<vertex_t, edge_t, weight_t, false, multi_gpu> const &graph_view,
weight_t *distances,
vertex_t *predecessors,
Expand All @@ -265,95 +265,95 @@ void sssp(raft::handle_t &handle,

// explicit instantiation

template void sssp(raft::handle_t &handle,
template void sssp(raft::handle_t const &handle,
graph_view_t<int32_t, int32_t, float, false, true> const &graph_view,
float *distances,
int32_t *predecessors,
int32_t source_vertex,
float cutoff,
bool do_expensive_check);

template void sssp(raft::handle_t &handle,
template void sssp(raft::handle_t const &handle,
graph_view_t<int32_t, int32_t, double, false, true> const &graph_view,
double *distances,
int32_t *predecessors,
int32_t source_vertex,
double cutoff,
bool do_expensive_check);

template void sssp(raft::handle_t &handle,
template void sssp(raft::handle_t const &handle,
graph_view_t<int32_t, int64_t, float, false, true> const &graph_view,
float *distances,
int32_t *predecessors,
int32_t source_vertex,
float cutoff,
bool do_expensive_check);

template void sssp(raft::handle_t &handle,
template void sssp(raft::handle_t const &handle,
graph_view_t<int32_t, int64_t, double, false, true> const &graph_view,
double *distances,
int32_t *predecessors,
int32_t source_vertex,
double cutoff,
bool do_expensive_check);

template void sssp(raft::handle_t &handle,
template void sssp(raft::handle_t const &handle,
graph_view_t<int64_t, int64_t, float, false, true> const &graph_view,
float *distances,
int64_t *predecessors,
int64_t source_vertex,
float cutoff,
bool do_expensive_check);

template void sssp(raft::handle_t &handle,
template void sssp(raft::handle_t const &handle,
graph_view_t<int64_t, int64_t, double, false, true> const &graph_view,
double *distances,
int64_t *predecessors,
int64_t source_vertex,
double cutoff,
bool do_expensive_check);

template void sssp(raft::handle_t &handle,
template void sssp(raft::handle_t const &handle,
graph_view_t<int32_t, int32_t, float, false, false> const &graph_view,
float *distances,
int32_t *predecessors,
int32_t source_vertex,
float cutoff,
bool do_expensive_check);

template void sssp(raft::handle_t &handle,
template void sssp(raft::handle_t const &handle,
graph_view_t<int32_t, int32_t, double, false, false> const &graph_view,
double *distances,
int32_t *predecessors,
int32_t source_vertex,
double cutoff,
bool do_expensive_check);

template void sssp(raft::handle_t &handle,
template void sssp(raft::handle_t const &handle,
graph_view_t<int32_t, int64_t, float, false, false> const &graph_view,
float *distances,
int32_t *predecessors,
int32_t source_vertex,
float cutoff,
bool do_expensive_check);

template void sssp(raft::handle_t &handle,
template void sssp(raft::handle_t const &handle,
graph_view_t<int32_t, int64_t, double, false, false> const &graph_view,
double *distances,
int32_t *predecessors,
int32_t source_vertex,
double cutoff,
bool do_expensive_check);

template void sssp(raft::handle_t &handle,
template void sssp(raft::handle_t const &handle,
graph_view_t<int64_t, int64_t, float, false, false> const &graph_view,
float *distances,
int64_t *predecessors,
int64_t source_vertex,
float cutoff,
bool do_expensive_check);

template void sssp(raft::handle_t &handle,
template void sssp(raft::handle_t const &handle,
graph_view_t<int64_t, int64_t, double, false, false> const &graph_view,
double *distances,
int64_t *predecessors,
Expand Down
Loading