An open API service indexing awesome lists of open source software.

https://github.com/shadensmith/zpart

A simple Zoltan frontend for partitioning hypergraphs.
https://github.com/shadensmith/zpart

Last synced: 12 months ago
JSON representation

A simple Zoltan frontend for partitioning hypergraphs.

Awesome Lists containing this project

README

          

ZPart: A Simple Zoltan Frontend
===============================
`ZPart` is a thin frontend around [Zoltan](http://www.cs.sandia.gov/Zoltan/), a
hypergraph partitioner parallelized with MPI. This codebase provides a
commandline frontend for partitioning hypergraphs in
[hMetis](http://glaros.dtc.umn.edu/gkhome/metis/hmetis/overview) 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](http://shaden.io/pub-files/smith2016medium.pdf)).

Requirements
------------
* An MPI compiler (tested with OpenMPI)
* CMake >= 2.6.0
* [Zoltan](http://www.cs.sandia.gov/Zoltan/)

Building
--------
Though supported, we do not recommend an in-source build. You can build `ZPart`
via:

$ mkdir build && cd build
$ cmake
$ make

Running
-------
After building `ZPart`, an executable is found in location `bin/zpart`. You
can run via:

$ mpirun -np ./bin/zpart [hgraph] [nparts] [output]

After running, `output` will store the assigned partition for each vertex in
the hypergraph (0-indexed).

Configuration
-------------
`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()`.