Difference between revisions of "SPEC2000 benchmarks"

From gem5
Jump to: navigation, search
(No difference)

Revision as of 18:39, 20 June 2007

This is a work in-progress. Everyone should feel free to extend this page with their experiences to help new users get started.

cpu2000.py

Input sets and Binaries

Several of the cpu2000 benchmarks for our regression tests. Unfortunately because of licensing restrictions we can't provide the binaries or input files, however to make this a bit easier we have created cpu2000.py. Currently the script is tailored to our particular organization of the binaries and input files. To make the python work for you you'll minimally have to change spec_dist to point to wherever you keep your cpu2000 binaries/input sets. We have our binaries and input sets organized in the following directory structure:

cpu2000/binaries/ARCH/OPSYS/BENCHMARK
cpu2000/data/BENCHMARK/INPUTSET/FILES

Where ARCH is alpha or sparc, OPSYS is linux or tru64, BENCHMARK is the name of the spec binary (e.g gzip), INPUTSET is the input files (e.g. smred), and FILES are the specific input files. If you can't create this structure you'll have to mess with cpu2000.py to change how it finds files.

How to use it

The cpu2000.py configuration file takes this data and creates an m5 workload parameter based on benchmark name, isa, operating system, and input set. If you take a look at tests/long/00.gzip/test.py you can see an example of this, but in brief:

from cpu2000 import gzip_long workload = gzip_log('alpha', 'tru64', 'smred') root.system.cpu.workload = workload.makeLiveProcess()

Assuming you have a machine configured normally above that blob would correctly run the gzip log spec2000 benchmark for alpha/tru64 with the smred input set.