blob: a2521d112ac3519bf6990ec41225003922ba7a84 [file] [log] [blame] [view]
# 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: <http://dist.gem5.org/dist/v20/images/x86/ubuntu-18-04/gapbs.img.gz>.
## Building the Disk Image
Assuming that you are in the `src/gapbs/` directory, first create `m5` (which is needed to create the disk image):
```sh
git clone https://gem5.googlesource.com/public/gem5
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:
```sh
cd disk-image/
wget https://releases.hashicorp.com/packer/1.6.0/packer_1.6.0_linux_amd64.zip # (if packer is not already installed)
unzip packer_1.6.0_linux_amd64.zip # (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 `run_gapbs.py` expects following arguments:
**--kernel** : path to the Linux kernel. GAPBS has been tested with [vmlinux-5.2.3](http://dist.gem5.org/dist/v20/kernels/x86/static/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:
```sh
gem5/build/X86/gem5.opt configs/run_gapbs.py [path to the linux kernel] [path to the disk image] kvm 1 classic cc 1 20
```