ZPart
is a thin frontend around Zoltan, a
hypergraph partitioner parallelized with MPI. This codebase provides a
commandline frontend for partitioning hypergraphs in
hMetis format in
parallel.
This source code was developed for the experiments in the 2016 IPDPS paper A Medium-Grained Algorithm for Distributed Sparse Tensor Factorization (paper here).
- An MPI compiler (tested with OpenMPI)
- CMake >= 2.6.0
- Zoltan
Though supported, we do not recommend an in-source build. You can build ZPart
via:
$ mkdir build && cd build
$ cmake <PATH_TO_ZPART>
$ make
After building ZPart
, an executable is found in location bin/zpart
. You
can run via:
$ mpirun -np <NUM_PROCS> ./bin/zpart [hgraph] [nparts] [output]
After running, output
will store the assigned partition for each vertex in
the hypergraph (0-indexed).
Zoltan
is highly configurable. The source code in ZPart
uses some values
which were used in our experimental evaluation and we felt were sane. These
can be changed in the source code in src/part.c
, in the function
__init_zoltan()
.