GAP Benchmark Suite (GAPBS) tests

This document provides instructions to create a GAP Benchmarks Suite (GAPBS) disk image, which, along with provided configuration scripts, may be used to run GAPBS within gem5 simulations.

A pre-build disk image, for X86, can be found, gzipped, here:

Building the Disk Image

Assuming that you are in the src/gapbs/ directory, first create m5 (which is needed to create the disk image):

git clone
cd gem5/util/m5
scons build/x86/out/m5

To create the disk image you need to add the packer binary in the disk-image directory:

cd disk-image/
wget   # (if packer is not already installed)
unzip # (if packer is not already installed)
./packer validate gapbs/gapbs.json
./packer build gapbs/gapbs.json

After this process succeeds, the disk image can be found on the src/gapbs/disk-image/gapbs-image/gapbs.

gem5 Configuration Scripts

gem5 scripts which configure the system and run the simulation are available in configs/. The main script expects following arguments:

--kernel : path to the Linux kernel. GAPBS has been tested with vmlinux-5.2.3.

--disk : Path to the disk image.

--cpu_type : Cpu model (kvm, atomic, simple, o3).

--num_cpus : Number of cpu cores.

--mem_sys : Memory model (classic, MI_example, MESI_Two_Level).

--benchmark : The graph workload (cc, bc, bfs, tc, pr, sssp).

--synthetic : Type of graph (if synthetic graph 1, if real world graph 0)

--graph : Size of graph (if synthetic then number of nodes, else name of the graph )

Example usage:

gem5/build/X86/gem5.opt configs/ [path to the linux kernel] [path to the disk image] kvm 1 classic cc 1 20