This harness performs SPEC CPU2006 benchmarking using GCC on Intel and ARM systems. Unless changed by user flags, a full run will commence resulting in install prerequites, building and installing SPEC CPU2006, then running reportable integer and floating-point runs.
- Download
- Usage
- Required File Tree
- Troubleshooting
- Optimizing GCC Process
- Runspec Errors
- Building SPEC CPU2006 on ARM
To download these files, first install git:
yum install git
Or if you are using a Debian-based distribution:
apt-get install git git-core
Clone this repository:
git clone https://github.com/ryanspoone/Automating-SPEC-CPU2006-for-Linux.git
Change directories and run this script:
cd Automating-SPEC-CPU2006-for-Linux/
chmod +x speccpu2006.sh
./speccpu2006.sh
Change to directory where files are, then start benchmarking by issuing the following command:
For a full run:
./speccpu2006.sh
Customized run:
./speccpu2006.sh [OPTIONS]...
Where the options are:
Option GNU long option Meaning
-h --help Show this message
-r --noreportable Don't do a reportable run
-o --onecopy Do a single copy run
-i --noint Don't run integer
-f --nofp Don't run floating-point
-c --nocheck Don't check system information before running
-p --noprereq Don't install prerequisites
-s --silent Show less detailed information
|-- config
| |-- linux64-intel64-gcc.cfg
| |-- linux64-arm64-gcc.cfg
| |-- linux32-intel32-gcc.cfg
| `-- linux32-arm32-gcc.cfg
|
|-- arm
| |-- config.sub
| `-- config.guess
|
|-- speccpu2006.sh
|
|-- spinner.sh
|
`-- cpu2006-*.tar*
- Add ICC support
- Add AMD and PowerPC support
- Add other package manager support
- Add flag file for reportable
If you are getting a Permission denied
response, make sure you're running as root.
If you are still getting the message, try using the following command:
chmod +x speccpu2006.sh
- Get GCC capable flags:
gcc -march=native -Q --help=target
orecho "int main {return 0;}" | gcc [OPTIONS] -x c -v -Q -
- For Intel processors, go to ARK to get CPU information and put hw_* values in the configuration file. Otherwise, search for hardware information on the Web.
- Check SPEC CPU2006 for submitted results.
- Trial and error.
/usr/bin/ld: cannot find -lm
and/or /usr/bin/ld: cannot find -lc
- RHEL: remove
-static
from the compiler flags in the config file.
copy 0 non-zero return code
or other build errors.
Change the portability options for that benchmark. Here are some options:
- -DSPEC_CPU_LP64
- This macro specifies that the target system uses the LP64 data model; specifically, that integers are 32 bits, while longs and pointers are 64 bits.
- -DSPEC_CPU_Linux
- This macro indicates that the benchmark is being compiled on a system running Linux.
- -DSPEC_CPU_Linux_X64
- This macro indicates that the benchmark is being compiled on an AMD64-compatible system running the Linux operating system.
- -DSPEC_CPU_Linux_IA32
- This macro indicates that the benchmark is being compiled on an Intel IA32-compatible system running the Linux operating system.
Some more helpful portability flags are located here: http://www.spec.org/auto/cpu2006/flags/400.perlbench.flags.html