The first step is to build the Full System Gem5, so you will need to write the variables in a file. You may use some different values, more information about them is here. I have used an ALPHA system (because the disks and binaries are provided for this platform) and MESI_CMP_directory for coherence. You have to put the file on gem5/build/variables/ALPHA_FS.
The command to build the system is:
scons ./build/ALPHA_FS/gem5.opt -j 8
The parameter j indicates how many processes should the compiler use. If you have enough RAM and processors you can put as many as you want. Obviously it will compile faster if you give more resources to the compiler.
The next step is to download everything that we need, if you download this file you will have everything. The files which I packed together are available here and here. The content of the file is:
PARSEC/
binaries/
console
ts_osfpal
vmlinux
disks/
linux-bigswap2.img
linux-parsec-2-1-m5.img
Then we have to modify two files as indicated at http://www.m5sim.org/PARSEC_benchmarks. The first one is gem5/configs/common/SysPaths.py and we have to change this line:
path = [ ’/dist/m5/system’, ’<complete path to your disks and binaries directory>’ ]
So we will write the path to our directory PARSEC.
The second file we have to modify is gem5/configs/common/Benchmarks.py. There we have to write the name of our linux image:
return env.get(’LINUX_IMAGE’, disk(’linux-parsec-2-1-m5.img’))
Then we need a scrip to run some benchmarks, I have used the one provided at http://www.m5sim.org/PARSEC_benchmarks#Running_PARSEC_in_gem5 you can download it here.
Finally you can run gem5 and it will (should) work like a charm:
./build/ALPHA_FS/gem5.opt ./configs/example/fs.py --script=../PARSEC/runscript.rcS
It will run the blackscholes benchmark.
If you want to run other benchmarks may you use the script generator available at http://www.cs.utexas.edu/~parsec_m5/
If you want to run other benchmarks may you use the script generator available at http://www.cs.utexas.edu/~parsec_m5/