Skip to content
edgesep
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
Doc
 
 
 
 
 
 
Lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Mongoose

Build Status codecov

Mongoose is a graph partitioning library. Currently, Mongoose only supports edge partitioning, but in the future a vertex separator extension will be added.

Prerequisites and Dependencies

Mongoose requires CMake 2.8 and any ISO/IEC 14882:1998 compliant C++ compiler. Mongoose has been tested to work with GNU GCC 4.4+ and LLVM Clang 3.5+ on Linux, and Apple Xcode 6.4+ on macOS.

Installation

Mongoose uses CMake. To build Mongoose, follow the commands below:

git clone https://github.com/ScottKolo/Mongoose
cd Mongoose
make         # Builds Mongoose (uses CMake) and runs the demo

Then to install, do

sudo make install 

After compilation, the Mongoose demo can be run from the build directory using ./bin/demo.

Usage

You can use Mongoose in one of three ways:

  1. The mongoose executable. Once built, the mongoose executable will be located in build/bin/mongoose. This executable can read a Matrix Market file containing an adjacency matrix and output timing and partitioning information to a plain-text file. Simply call it with the following syntax: mongoose <MM-input-file.mtx> [output-file]
  2. The C++ API. A static library is built at Lib/libmongoose.a. Include the header file Include/Mongoose.hpp and link to this library to access the C++ API.
  3. The MATLAB API. From MATLAB, navigate to the Mongoose/MATLAB/ directory and build the Mongoose MEX functions by calling mongoose_make. This will build Mongoose, run a demo, and allows access to the MATLAB API.

For more details about the specific APIs and their available functionality, see the Mongoose user guide located at Doc/Mongoose_UserGuide.pdf.

Credits

The following people have made significant contributions to Mongoose:

  • Nuri Yeralan, Microsoft Research
  • Scott Kolodziej, Texas A&M University
  • Tim Davis, Texas A&M University
  • William Hager, University of Florida

License

Mongoose is licensed under the GNU Public License, version 3. For commercial license inquiries, please contact Dr. Tim Davis at davis@tamu.edu. The specific text of the license can be found in Doc/License.txt.