Skip to content

Commit 3db00d4

Browse files
author
Laxman Dhulipala
committed
Extend PageRank implementation in GBBS to handle sources/seeds (multi-PPR) and migrate fully to bzlmod.
1 parent ec487cb commit 3db00d4

File tree

7 files changed

+811
-412
lines changed

7 files changed

+811
-412
lines changed

WORKSPACE

Lines changed: 0 additions & 23 deletions
This file was deleted.

benchmarks/PageRank/BUILD

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ cc_library(
1717
"//gbbs:macros",
1818
"//gbbs:vertex_subset",
1919
"//gbbs/helpers:assert",
20+
"@abseil-cpp//absl/container:flat_hash_set",
21+
"@abseil-cpp//absl/types:span",
2022
"@parlaylib//parlay:monoid",
2123
"@parlaylib//parlay:sequence",
2224
],
@@ -27,6 +29,8 @@ cc_binary(
2729
srcs = ["PageRank.cc"],
2830
deps = [
2931
":PageRank",
32+
":PageRank_delta",
33+
":PageRank_edgeMapReduce",
3034
"//gbbs:benchmark",
3135
"//gbbs:bridge",
3236
"//gbbs/helpers:parse_command_line",
@@ -38,6 +42,7 @@ gbbs_cc_test(
3842
srcs = ["PageRank_test.cc"],
3943
deps = [
4044
":PageRank",
45+
":PageRank_edgeMapReduce",
4146
"//gbbs:bridge",
4247
"//gbbs:graph",
4348
"//gbbs:macros",
@@ -46,4 +51,36 @@ gbbs_cc_test(
4651
"@googletest//:gtest_main",
4752
],
4853
size = "small",
54+
)
55+
56+
cc_library(
57+
name = "PageRank_delta",
58+
hdrs = ["PageRank_delta.h"],
59+
deps = [
60+
"//gbbs:bridge",
61+
"//gbbs:edge_map_data",
62+
"//gbbs:edge_map_reduce",
63+
"//gbbs:flags",
64+
"//gbbs:macros",
65+
"//gbbs:vertex_subset",
66+
"//gbbs/helpers:assert",
67+
"@parlaylib//parlay:monoid",
68+
"@parlaylib//parlay:sequence",
69+
],
70+
)
71+
72+
cc_library(
73+
name = "PageRank_edgeMapReduce",
74+
hdrs = ["PageRank_edgeMapReduce.h"],
75+
deps = [
76+
"//gbbs:bridge",
77+
"//gbbs:edge_map_reduce",
78+
"//gbbs:flags",
79+
"//gbbs:macros",
80+
"//gbbs:vertex_subset",
81+
"//gbbs/helpers:assert",
82+
"@abseil-cpp//absl/container:flat_hash_set",
83+
"@parlaylib//parlay:monoid",
84+
"@parlaylib//parlay:sequence",
85+
],
4986
)

benchmarks/PageRank/PageRank.cc

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,13 @@
3535
// -s : indicate that the graph is symmetric
3636

3737
#include "PageRank.h"
38+
#include "PageRank_delta.h"
39+
#include "PageRank_edgeMapReduce.h"
3840

3941
#include <cstddef>
4042
#include <iostream>
4143

44+
4245
#include "gbbs/benchmark.h"
4346
#include "gbbs/bridge.h"
4447
#include "gbbs/helpers/parse_command_line.h"
@@ -67,11 +70,11 @@ double PageRank_runner(Graph& G, commandLine P) {
6770
double damping_factor = P.getOptionDoubleValue("-damping_factor", 0.85);
6871
size_t iters = P.getOptionLongValue("-iters", 100);
6972
if (P.getOptionValue("-em")) {
70-
auto ret = PageRank_edgeMap(G, eps, damping_factor, iters);
73+
auto ret = PageRank_edgeMap(G, eps, /*sources=*/{}, damping_factor, iters);
7174
} else if (P.getOptionValue("-delta")) {
7275
auto ret = delta::PageRankDelta(G, eps, local_eps, damping_factor, iters);
7376
} else {
74-
auto ret = PageRank_edgeMapReduce(G, eps, damping_factor, iters);
77+
auto ret = PageRank_edgeMapReduce(G, eps, /*sources=*/{}, damping_factor, iters);
7578
}
7679
double tt = t.stop();
7780

0 commit comments

Comments
 (0)