Build Instructions

Visit the Github page

Download the code

You will need `git` installed for this.

git clone scorec

Install dependencies

MPI is a required third-party library, there are two good implementations:

Zoltan and ParMetis are strongly recommended third-party libraries.

It is recommended that you add the installation paths of third-party libraries to the environment variable


which will make the following step go a lot smoother


You will need `cmake`2.8 or higher installed for this.
An example configure script is provided

cd scores
mkdir build
cd build

For more advanced configuration, here is a description of some
available options:

  • Required: Set -DCMAKE_C_COMPILER to /path/to/C/mpi/compiler/wrapper
  • Required: Set -DCMAKE_CXX_COMPILER to /path/to/C++/mpi/compiler/wrapper
  • Optional: Set -DCMAKE_INSTALL_PREFIX to the directory where headers, libs, and binary files are installed when 'make install' is ran.
  • Optional: Specifying CMake dependency install locations
    • Set -DCMAKE_PREFIX_PATH to the prefix directories for optional components instead of setting the INSTALL_PREFIX for each component.
  • Optional: Build all executables and prepare for testing
  • Optional: Specifying ParMETIS and ZOLTAN install locations
    • Set -DMETIS_LIBRARY to /path/to/lib/libmetis.a
    • Set -DPARMETIS_LIBRARY to /path/to/lib/libparmetis.a
    • Set -DPARMETIS_INCLUDE_DIR to /path/to/parmetis/include where parmetis.h is located
    • Set -DZOLTAN_LIBRARY to /path/to/lib/libzoltan.a
    • Set -DZOLTAN_INCLUDE_DIR to /path/to/zoltan/include where zoltan.h is located


To compile all the libraries, use

make -j 4

To compile executables, list them as make targets:

make split zsplit balance

You can also just set IS_TESTING=True in CMake and
all executables will build by default.

The executables are then available in


To install the libraries and headers after defining CMAKE_INSTALL_PREFIX, run

make install

Running tests

Download the test meshes

git clone :SCOREC/pumi-meshes.git meshes

Reconfigure with MESHES and IS_TESTING defined



make -j 4

Run CTest

ctest -VV