GraphMat graph analytics framework

Build Status

Note: This is a major update from GraphMat v1.0 (single node and distributed). Please see changelog for details.


  • Intel compiler (icpc) + Intel MPI (mpiicpc + mpi libraries)


  • GCC + MPICH (Other MPI libraries not tested)

  • Boost serialization library (links to libboost_serialization)

To compile with Intel compiler + Intel MPI :


To compile with gcc + MPICH:

make MPICXX=mpic++ CXX=g++

To run:

Set the following environment variables:

export OMP_NUM_THREADS=[ number of cores in system ]
export KMP_AFFINITY=scatter

Use numactl for NUMA (multi-socket) systems if you are running 1 MPI rank on all the sockets e.g.

mpirun -np <NRANKS> numactl -i all bin/PageRank < graph file >
mpirun -np <NRANKS> numactl -i all bin/BFS < graph file > < start vertex >

To compile and run tests:

GraphMat uses Catch, a C++ based testing framework.

git submodule init
git submodule update
make test

To run all the tests with a single MPI rank,


Tests are also runnable in distributed mode with multiple ranks,

mpirun -np <NRANKS> ./testbin/test

You can also do ./testbin/test -? to list all the options available

Reading graph files to use with GraphMat:

See wiki page -


If you use GraphMat in your work, please cite the following papers:

  • Narayanan Sundaram, Nadathur Satish, Md Mostofa Ali Patwary, Subramanya R Dulloor, Michael J. Anderson, Satya Gautam Vadlamudi, Dipankar Das, Pradeep Dubey, “GraphMat: High performance graph analytics made productive”, Proceedings of VLDB 2015, volume 8, pages 1214 - 1225.

  • Michael J. Anderson, Narayanan Sundaram, Nadathur Satish, Md Mostofa Ali Patwary, Theodore L. Willke and Pradeep Dubey, “GraphPad: Optimized Graph Primitives for Parallel and Distributed Platforms,” 2016 IEEE International Parallel and Distributed Processing Symposium (IPDPS), Chicago, IL, USA, 2016, pp. 313-322.

Paper URL: - -

More documentation coming soon. For questions, please email [email protected]

Related Repositories



GraphMat graph analytics framework ...