Short Guide

Installation

Create a build directory and cd into it. Then call

cmake /path/to/numabench/source
If you have root access on the machine I recommend to use "REALTIME_BENCHMARKS=TRUE". You can do this by adding this switch to the cmake call:
cmake -DREALTIME_BENCHMARKS=TRUE /path/to/numabench/source
If you want to use a different compiler (GCC >= 4.3 is recommended) you can set the CC and CXX environment variables before you call cmake.

Simply call

make
to compile numabench.

Run the Benchmark

Usage ./numabench [OPTION]...
Measure throughput and latency of memory in steps of 1GB

  -h, --help          print this message
  -o <filename>       output measurements to a file instead of stdout
  --firstCpu <id>
  --cpuStep <id>
  --size <GB>
  --only <test function>

You might have to use the --size option. Numabench will try to allocate as much memory as it thinks it can get. If that is too much it will crash. You can use the --size switch to specify how much memory numabench may allocate.

Without the -o switch numabench will output the results as it measures them to stdout. This format is not useful for any further processing. Use the -o <filename> switch to create a CSV (tabs actually) file which contains the results. You can then use the supplied processOutput.sh script to create a PDF using gnuplot internally:

./numabench -o data
./processOutput.sh data