Home

Awesome

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:

(or)

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:

Paper URL:

More documentation coming soon. For questions, please email narayanan.sundaram@intel.com