Skip to content

nsakharnykh/GraphMat

This branch is 2 commits ahead of, 23 commits behind narayanan2004/GraphMat:master.

Folders and files

NameName
Last commit message
Last commit date
Nov 23, 2015
Jun 18, 2015
Mar 3, 2017
Feb 7, 2017
Feb 9, 2017
Oct 24, 2016
Oct 24, 2016
Feb 6, 2017
Feb 1, 2017
Sep 1, 2015
Feb 7, 2017
Feb 7, 2017

Repository files navigation

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.

Requirements:

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

(or)

  • GCC + MPICH (Other MPI libraries not tested)

  • Boost serialization library (links to libboost_serialization)

To compile with Intel compiler + Intel MPI :

make

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,

./testbin/test 

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 - https://github.com/narayanan2004/GraphMat/wiki/Reading-graph-files

References:

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 narayanan.sundaram@intel.com

About

GraphMat graph analytics framework

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 98.8%
  • Other 1.2%