Difference between revisions of "SPEC2000 benchmarks"

From gem5
Jump to: navigation, search
(SPEC2K Syscall-Emulation Mode)
Line 22: Line 22:
 
__NOTOC__
 
__NOTOC__
  
==== SPEC2K Syscall-Emulation Mode (command line) ====
+
==== SPEC2K Syscall-Emulation Mode ====
If you prefer to use SPEC2K on the command line, a good reference for the correct command line options can be found here:
+
If you would like to run SPEC2K using syscall-emulation mode, a good reference for the correct command line options can be found here:
 
* [http://kbarr.net/specint2000-commandlines SPEC2K INT Command Lines]
 
* [http://kbarr.net/specint2000-commandlines SPEC2K INT Command Lines]
 
* [http://kbarr.net/specfp2000-commandlines SPEC2K FP Command Lines]
 
* [http://kbarr.net/specfp2000-commandlines SPEC2K FP Command Lines]

Revision as of 16:30, 15 February 2008

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.


SPEC2K Syscall-Emulation Mode

If you would like to run SPEC2K using syscall-emulation mode, a good reference for the correct command line options can be found here:

If you had a statically-linked, eon binary then you could run the benchmarks with this command

$ build/ALPHA_SE/m5.debug configs/example/se.py --cmd=eon00 --options="chair.control.cook 
chair.camera chair.surfaces chair.cook.ppm ppm pixels_out.cook" --caches