Skip to content
Implementation of the algorithm described in "Aggregative Coarsening for Multilevel Hypergraph Partitioning" by Shaydulin and Safro SEA 2018
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmake
commonTools
demos/buildAgainstTrilinos
doc
driver_test
packages
sampleScripts
.gitdist.default
.gitignore
.mailmap
CMakeLists.txt
CTestConfig.cmake
Copyright.txt
INSTALL
INSTALL.rst
LICENSE
PackagesList.cmake
ProjectName.cmake
README
RELEASE_NOTES
TPLsList.cmake
Version.cmake
checkin-test.py
clone_extra_repos.py
compile_commands.json
project-checkin-test-config.py
sparse_checkout.sh

README

This repository contains the source code implementing the algorithm described in "Aggregative Coarsening for Multilevel Hypergraph Partitioning" by Shaydulin and Safro SEA 2018

====================

Install

====================

Dependencies:

Tested with:
- gcc 4.8.1
- openmpi 1.8.4
and
- intel 16.0 and newer

Installation:

cd algebraic-distance-on-hypergraphs
mkdir build
cd build
cmake -D CMAKE_INSTALL_PREFIX:FILEPATH="/home/rshaydu/algebraic-distance-on-hypergraphs/build" -D MPI_BASE_DIR="/software/openmpi/1.8.4_gcc" -D MPI_C_COMPILER:FILEPATH="/software/openmpi/1.8.4_gcc/bin/mpicc" -D MPI_CXX_COMPILER:FILEPATH="/software/openmpi/1.8.4_gcc/bin/mpic++" -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=OFF -D Trilinos_ENABLE_Zoltan:BOOL=ON  -D Zoltan_ENABLE_EXAMPLES:BOOL=ON -D TPL_ENABLE_MPI:BOOL=ON -D Trilinos_ENABLE_Fortran:BOOL=OFF -D Zoltan_ENABLE_TESTS:BOOL=ON -D CMAKE_EXPORT_COMPILE_COMMANDS=ON -D COMM=mpi ..
make

==================

Notes on algorithms:

The paper describes two versions, inner-product coarsening and stable matching coarsening. By default, when run with PHG_COARSENING_METHOD=rs_alg_dist, the inner product coarsening is used. The code for stable matching is provided only for reproducibility purposes; stable matching based coarsening doesn't produce better results and is more computationally expensive (especially in this inefficient implementation). To use it, go to `packages/zoltan/src/phg/rs_amg_match.cpp` and uncomment `#define RS_STABLE_MATCHING`. 

Note that both algorithm only work in serial (when run with one process).

===================

In general, the user is advised to refer to Trilinos documentation for troubleshooting any problems during installation: http://trilinos.org/about/documentation/

If you have any questions, contanct me at rshaydu@g.clemson.edu, I'll be happy to help.

===================

For the full results, refer to http://shaydul.in/hypergraph-partitioning-archive/misc/aggregative-coarsening-for-multilevel-hypergraph-partitioning/
You can’t perform that action at this time.