Skip to content

Commit 10ceed8

Browse files
author
Udit Agarwal
committed
adding louvain partitioning implementation
1 parent 8432404 commit 10ceed8

6 files changed

Lines changed: 1161 additions & 0 deletions

File tree

lonestar/analytics/cpu/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,5 @@ add_subdirectory(pointstoanalysis)
1515
add_subdirectory(preflowpush)
1616
add_subdirectory(sssp)
1717
add_subdirectory(triangle-counting)
18+
19+
add_subdirectory(louvain-partitioning)
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
add_executable(louvain-partitioning-cpu louvain-partitioning.cpp serial-partitioning.cpp)
2+
add_dependencies(apps louvain-partitioning-cpu)
3+
target_link_libraries(louvain-partitioning-cpu PRIVATE Galois::shmem lonestar)
4+
install(TARGETS louvain-partitioning-cpu DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT apps EXCLUDE_FROM_ALL)
5+
add_test_scale(small1 louvain-partitioning-cpu -symmetricGraph "${BASEINPUT}/scalefree/symmetric/rmat10.sgr")
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
Partitioning using Louvain
2+
================================================================================
3+
4+
DESCRIPTION
5+
--------------------------------------------------------------------------------
6+
7+
This directory contains a graph partitioning algorithm that uses a hierarchical community detection algorithm for coarsening. The algorithm uses the well-known multi-level partitioning approach, similar to GMetis.
8+
9+
INPUT
10+
--------------------------------------------------------------------------------
11+
12+
This application takes in symmetric Galois .gr graphs.
13+
You must specify the -symmetricGraph flag when running this benchmark.
14+
15+
BUILD
16+
--------------------------------------------------------------------------------
17+
18+
1. Run cmake at BUILD directory (refer to top-level README for cmake instructions).
19+
20+
2. Run `cd <BUILD>/lonestar/analytics/cpu/louvain_partitioning; make -j`
21+
22+
RUN
23+
--------------------------------------------------------------------------------
24+
25+
The following is an example command line.
26+
27+
-`$ ./louvain-partitioning-cpu -input <path-to-graph> -t 4 -tolerance=15 -threshold=0.000001 -max_iter 1000 -symmetricGraph`
28+

0 commit comments

Comments
 (0)