Difference between revisions of "RunningSPEC"
Line 18: | Line 18: | ||
LANG=C | LANG=C | ||
export LANG | export LANG | ||
+ | |||
+ | == Using SmartHeap == | ||
+ | |||
+ | ''To be written'' | ||
= Installing and running SPEC2006 = | = Installing and running SPEC2006 = |
Revision as of 16:14, 20 March 2009
First off: some steps can only be copleted successfully by David Groep, since he owns the licenses needed for ICC and SmartHeap. There is only one Intel license (commercial) available for doing this, and these is also only a single SmartHeap license (on order). Any other Nikhef NDPF user can run the SPEC benchmark with the plain old and dirty gcc compiler and broken heap management.
Prepare the machine
- Install a machine with CentOS5 x86-64, e.g. via quattor or manually. Make sure it's a physical machine, and that it will be dedicated to the benchmark running for at least as long as you need it. Make sure numactl and taskset (from util-linux) are available on the machine.
Using the Intel compiler
If you want to get proper performace from the benchmark, and for vendor acceptance tests, you must use the Intel compiler:
- As root, install the Intel compiler suite (version 11.0) from [https://www.nikhef.nl/grid/ndpf/files/local/intel/]. Install both the i386 and the x86_64 varieties.
- As root, run the script [intel-Compiler-postinstall.sh] to set the installation destination into the generated scripts.
- As root, install the license file to /opt/intel/licenses/icc-davidg.lic and chown it to davidg:users, mode 0600.
- Add to your profile:
PATH=$PATH:/opt/intel/Compiler/11.0/081/bin/intel64/ export PATH LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/Compiler/11.0/081/lib/intel64 export LD_LIBRARY_PATH LANG=C export LANG
Using SmartHeap
To be written
Installing and running SPEC2006
- From the installation directory retrieve the SPEC2006 sources [cpu2006.tar.bz2] (you'll need your NDPF user account data to retrieve the file, and be a member of the systemAdministrators group: for SPEC2006 and SPEC2000 Nikhef has a site license).
- Unpack the spec2006 sources in a dedicated directory (to prevent pollution):
mkdir -p benchmarking && ( cd benchmarking ; bzcat ../cpu2006.tar.bz2 | tar xf - )
- change to the benchmark directory
cd benchmarking
- 'install' the suite by running in the benchmarking/ directory:
./install.sh
and agreeing that the source and installation directory are the same.
- copy the proper configuration file from the private repository, e.g. [cpu2006-icc11-noSH-rate-nikhef-ppfB0.cfg] for a configuration without SmartHeap but assuming some special stack settings in the notes. Put it in config/cpu2006-icc11-noSH-rate-nikhef-ppfB0.cfg
- for good measure, download the flags file for icc from [http://www.spec.org/cpu2006/flags/Intel-ic11.0-int-linux64-revE.xml] and put it in the config/ directory as well.
- set the SMP affinity in the config file to the number of available cores. This directly affect the rate measurement!
- Set the environment correctly by SOURCING the [setstack.sh] script:
export KMP_STACK_SIZE=64M ulimit -s unlimited
- source the SPEC environment by
. shrc
- run the benchmark, making sure to redirect logging to a file for analysis:
runspec --rate 8 -c cpu2006-icc11-noSH-rate-nikhef-ppfB0.cfg --machine=stoakleydp8cores -T base -o all int > run.log 2>&1 & disown %1
Verifying the output
The result of your SPEC run in left in numbered files in the results/ directory in the behcnmarking owrking directory. The files are called CINT2006.001.ref.*. For a successful run, please copy all of these files to our persistent storage area on the web server at login.nikhef.nl://www/grid/ndpf/files/nikhef-only/spec2006-nikhef/results/.
If ever the CINT2006.XXX.ref.txt file start with this:
############################################################################## # INVALID RUN -- INVALID RUN -- INVALID RUN -- INVALID RUN -- INVALID RUN # # # # Your run was marked invalid because it has one or more flags in the # # "unknown" category. You might be able to resolve this problem without # # re-running your test; see # # http://www.spec.org/cpu2006/Docs/runspec.html#flagsurl # # for more information. # # # # INVALID RUN -- INVALID RUN -- INVALID RUN -- INVALID RUN -- INVALID RUN # ##############################################################################
you know you've messed up and you MUST NOT use the results. Please review the log file and error messages and try again.
If your result is very far form the ones published on [http://www.spec.org/cpu2006/results/], then also review your setup. Was the Intel compiler used? What SmartHeap correctly installed? Etc. Of course, if you used gcc than your performance will be down by 30-50% anyway.
Typical numbers for the different compiler scenarios are:
Condition | Performance metric |
Vendor provided public value | 107 |
GCC v3.4 | 63 |
ICC11.0, no SH | 93 |
ICC11.0, with SH | <to be tested> |