This page contains information about how to build and run the NVRAM-based code used in our paper Sage: Parallel Semi-Asymmetric Graph Algorithms for NVRAMs.
Our code is currently included as part of the GBBS benchmarks, under the
sage directory. You can download the code by cloning the
gbbs repository through ssh (see our
github for other download options).
Compilation requires the
bazel build tool, which you can find
installation instructions for
After installing bazel, all of the Sage implementations can be built by running:
This command will compile binaries and store them in the top-level
bazel-bin directory. For example, the BFS benchmark is located at:
The code currently requires users to use either the binary compressed-sparse row format (binary CSR), or the parallel byte-encoded compressed-sparse row format (parallel-byte CSR). Both formats are supported by GBBS, and we provide more information about the formats here.
The default format is the binary CSR. Specifying that the input graph
is compressed is done through the command-line argument