Download Latest Version Mapgraph 0.3.3 (18.7 MB)
Email in envelope

Get an email when there's a new version of mapgraph

Home / 0.1
Name Modified Size InfoDownloads / Week
Parent folder
mpgraph-code-29.zip 2013-07-30 585.4 kB
README 2013-07-30 3.9 kB
Totals: 2 Items   589.2 kB 0
Quick Start Guide
-----------------

The executables are built in the following directories:
- make_cuda_dev0: Build for GPU device 0 using CUDA
- make_cuda_dev1: Build for GPU device 1 using CUDA.
- make_omp: Build using the OpenMP thrust backed for multicore
- make_tbb: Buid using Intel Thread Building Blocks
- make_mic: Buid for Intel Xeon Phi native mode

The CUDA Makefile assumes that CUDA (version >= 5.0) has been installed and
is in the PATH. 

Note: The CUDA Makefile builds the executable for a specified CUDA device
number. This is a total hack put in place to allow you to compile and run
on a machine with more than one GPU by specifying the target GPU using
environment variables. This should go away once we develop a real build
system (either cmake or GNU autoconf is put in place.)

Note: If you want to run with an older version of CUDA (e.g., 5.0), there
are some thrust random number methods that are in an experimental namespace.
Thus, you will have to add experimental:: to those methods. The compiler
will tell you which they are. Alteratively, you can add the latest version
of thrust to the compiler include paths. The latest version can be downloaded
from http://thrust.github.io/.

Note: TBB and Intel Xeon Phi users will need to download Thrust and add the
include files to the compilation include paths. The latest version can 
be downloaded from http://thrust.github.io/

You also need to have zlib installed:
 - zlib code: http://www.zlib.net/
 - zlib license: http://www.zlib.net/zlib_license.html

In the appropriate build directory, type 'make' to build the sample programs.
These are all based on the GraphLab 2.1 Gather Apply Scatter (GAS) API:

1) simpleBFS (Breadth-First Search)
2) simplePageRank (Pagerank implementation with dynamic vertex activation)
3) simpleSSSP (Single source shortest path)
4) simpleCC (Connected Components)
5) sampleBC (Approximate Exact Betweenness Centrality)

you can run the programs against the small graphs in ../smallRegressionGraphs/ .

For example:

./simpleBFS ../smallRegressionGraphs/small.mtx

If you wish to view the results of a run (which currently consists of all the
vertices and their final values), then supply a second argument for the output
file.

./simpleBFS ../smallRegressionGraphs/small.mtx small.out

The printed output should look something like:

numActive: 3
numActive: 3
numActive: 0
Took: 0.216544 ms
Graph Diameter: 2
M-Edges / sec: .050798

Each iteration will print the number of active vertices on that iteration.

The contents of small.out should be:

0 0
1 1
2 1
3 1
4 2
5 2
6 2

The first column is the vertex id and the second column is that value of that
vertex, in this case its depth in the BFS.

----------------------------------
There are a variety of additional directories that will get cleaned up in
a subsequent release.  Many of these are related to the b40c library.

- b40c - the back40computing library. See http://code.google.com/p/back40computing
- test - the back40computing library (microbenchmarks, etc.)
- doc  - some doxygen files for b40c.

The following directories support performance and correctness regression tests
for mpgraph.  See regressions/README for this.  Correctness testing depends on
powergraph (which can be very complex to install).

- regressions - makefile and scripts for regression testing.
- smallRegressionGraphs - a few very small sample data sets.
- largePerformanceGraphs - includes makefiles to download various graphs of
  interest.
- PowerGraphReferenceImplementations - implementations of various algorithms
  for the powergraph API that are also implemented by mpgraph.  This is to
  support regression testing.
- dataset - generators for some random data sets.


----------------------------------
This work was (partially) funded by the DARPA XDATA program under
AFRL Contract #FA8750-13-C-0002.
Source: README, updated 2013-07-30