Last updated: $Date: 2011-09-07 11:08:21 -0400 (Wed, 07 Sep 2011) $ by $Author: CloyceS $
(To check for possible updates to this document, please see http://www.spec.org/cpu2006/Docs/ )
I. Hardware and Software Requirements
1. About Linux Distributions
2. SPEC does not recommend use of Windows/Unix compatibility products with CPU2006
D. Disk Space
E. Compiler, or precompiled binaries
II. Portablility Notes
III. About Resources and Mysterious Failures
Note: links to SPEC CPU2006 documents on this web page assume that you are reading the page from a directory that also contains the other SPEC CPU2006 documents. If by some chance you are reading this web page from a location where the links do not work, try accessing the referenced documents at one of the following locations:
To run and install SPEC CPU2006, the following are required.
You will need a computer system running UNIX, Microsoft Windows, or Mac OS X. The benchmark suite includes a toolset. Pre-compiled versions of the toolset are provided that are expected to work with:
Please ensure that you meet the minimum required version prior to installing SPEC CPU2006 V1.2.
For systems not listed in above, such as earlier or later versions of the above systems, you may find that the tools also work, but SPEC has not tested them. Windows systems that are not based on NT, such as Windows 95, Windows 98, and Windows ME, will definitely NOT work. Please see the Portability Notes below.
In addition to the above list, one unsupported toolset is provided as a courtesy.
More importantly, some of the benchmarks themselves have not been ported for the environments represented by the unsupported toolsets:
Over time, various mechanisms have evolved on Linux, including libraries, 32-bit/64-bit support, executable format, linking, and run-time loading. These mechanisms have sometimes forked with Linux distributions and then occasionally rejoined later. SPEC CPU2006 has been tested with a variety of Linux distributions, but the possibility remains that you may encounter incompatibilities if you are not using *exactly* the same version as was used when the tools were built. Therefore, the table that follows tells you exactly what was used.
If you find that you are unable to install the pre-compiled SPEC CPU2006 on Linux, and you would like to build the tools yourself, please see the notes in tools-build.html. SPEC may be able to provide advice for your build, but SPEC does not promise that you will succeed. Please see the limitations described in techsuport.html.
|Toolset name||Expected compatibility||Build environment|
|linux-debian31-ppc||PowerPC-based Linux systems with GLIBC 2.3.2+||Built on Debian 3.1r8 with gcc 3.3.5 (Debian 1:3.3.5-13)|
|linux-redhat72-ia32||x86, IA-64, EM64T, and AMD64-based Linux systems with GLIBC 2.2.4+.||Built on RedHat 7.2 (x86) with gcc 3.1.1|
|linux-rhas4r4-ia64||IA64 systems running Red Hat Enterprise Linux 4 or later.||Built on RHAS 4r4 with GCC 3.4.6 20060404 (Red Hat 3.4.6-3)|
|linux-sles9-ia64||IA64 systems running SuSE Enterprise Linux 9 or later.||Built on SLES 9 with gcc 3.3.3.|
|linux-suse10-amd64||64-bit AMD64/EM64T Linux systems running SuSE Linux 10 or later, and other compatible Linux distributions, including some versions of RedHat Enterprise Linux and Oracle Linux Server.||Built on SuSE Linux 10 with GCC v4.1.0 (SUSE Linux)|
|linux-suse10-ia32||IA-32 Linux systems running SuSE Linux 10 or later.||Built on SuSE Linux 10 with GCC v4.1.0 (SUSE Linux)|
|linux-suse10-ppc64||64-bit PowerPC-based Linux systems with GLIBC 2.4+.||Built on SLES10.4 with gcc 4.1.2 (SUSE 10.4:4.1.2 20070115)|
SPEC does not recommend installation of CPU2006 on Microsoft Windows under Windows/Unix compatibility environments (such as Cygwin, MinGW, MKS, SFU, and so forth). The tools and benchmarks have not been ported to such environments. Please install from an ordinary command window (formerly known as an MS-DOS window).
If you have a Windows/Unix compatibility product on your Windows computer, SPEC recommends that you remove it from your %PATH% prior to installing or using SPEC CPU2006. The reason for this recommendation is that providing a Unix-like environment on Windows poses difficult problems. Historically there have been various approaches, with differing (incompatible) assumptions about how to mask or bridge differences between Windows and Unix. The SPEC CPU toolset has its own approach and its own set of assumptions, and there have been reports of difficult-to-diagnose errors when a Windows/Unix compatibility product is present on the path, as described in faq.html. As discussed in the faq document, if such problems occur, your first step should be to simplify the path, removing the compatibility product.
You will need a DVD drive or network access to a system that has one
Typically 1 GB of memory will be required on 32-bit systems, exclusive of OS/overhead; but more may be required:
The CPU2006 benchmarks (code + workload) have been designed to fit within about 1GB of physical memory, which is within the capabilities of systems that allow user applications to use 32 bits of virtual memory (i.e. 4GB of virtual address space).
SPEC is aware that some systems that are commonly described as "32-bit" may provide a smaller number of bits to user applications, for example if one or more bits are reserved to privileged code. SPEC is also aware that there are many ways to spend profligate amounts of virtual memory. Therefore, although 32-bit systems are within the design center for the CPU2006 suites, SPEC does not guarantee any particular memory size for the benchmarks, nor that they will necessarily fit on all systems that are described as 32-bit.
The 1GB of RAM for the benchmarks (in 32-bit mode) does not include space needed for the operating system and other non-SPEC tasks on the system under test.
Typically, 64-bit environments will require 2GB for some of the benchmarks in the suite.
Attempting to run the suite with insufficient memory is strongly discouraged, as you will end up measuring the speed of your paging file, not the speed of your system running compute intensive workloads.
More memory will be needed if you run multi-copy SPECrates: generally 1GB for 32-bit, or 2GB for 64-bit, for each copy you plan to run.
Warning: When an operating system runs out of memory, errors may occur that are difficult to diagnose. See the section on resources, below.
Typically you will need at least 8GB of disk space to install and run the suite. However, space needs can vary greatly depending upon your usage and system. The 8GB estimate is based on the following:
Note: If you plan to run SPECrate with multiple copies, estimate an additional 2 to 3GB of disk space per copy. Note that SPECrate must be run using a single file system, so large runs will likely require some form of hardware or software disk striping.
Minimum requirement: It is possible to run with about 5GB of disk space if: you are running only single-CPU metrics; you delete the build directories after the build is done; and you clean run directories between tests. See the discussion of disk space in runspec.html for more information about managing disk space.
Since SPEC supplies only source code for the benchmarks, you will need either:
Please notice that you cannot generate a valid CPU2006 result unless you meet all of requirement E.1.a, or E.1.b, or E.1.c. For example, if you are attempting to build the floating point suite but lack a Fortran-95 compiler, you will not be able to measure a SPECfp2006 result.
SPEC CPU2006 is a source code benchmark, and portability of that source code is one of the chief goals of SPEC CPU2006. SPEC has invested substantial effort to make the benchmarks portable across a wide variety of hardware architectures, operating systems, and compilers. During the development of SPEC CPU2006 testing was done on over 15 different hardware architectures and operating systems (including many variations of Unix, Linux, Microsoft Windows and the Mac OS).
Despite SPEC's testing efforts, certain portability problems are likely to arise from time to time. For example:
Some platforms may not have a Fortran-95 compiler available.
Some older compilers may not include all the features needed to run the entire suite.
Sometimes, a new release of a compiler or operating system may introduce new behavior that is incompatible with one of the benchmarks.
If you visit http://www.spec.org/cpu2006/ and look up results for SPEC CPU2006, you will find combinations of OS and compiler versions that are known to work. For example, if a vendor reports a SPECint2006 result on the SuperHero 4 using SuperHero Unix V4.0 with SuperHero C V4.0 and SuperHero C++ V4.0, you may take that as an assertion by the vendor that the listed versions of Unix, C, and C++ will successfully compile and run the SPEC CINT2006 suite on the listed machine.
For systems that have not (yet) been reported by vendors, SPEC can provide limited technical support to resolve portability issues. See techsupport.html for information.
Resource Demand: The SPEC CPU benchmarks place a significant load on your system. Each benchmark copy will try to consume 100% of a (perhaps virtual) CPU. Additional CPUs will be consumed for SPECrate mode or if Auto Parallel is used.
As described above, the nominal memory footprint is just under 1 GB (in 32-bit mode). Depending on your operating system architecture, the memory may be of various types, including:
(*)You don't want to actually use your pagefile much, as that is a recipe for testing your disk instead of testing your CPU. Nevertheless, it is not uncommon for operating systems to require that pagefile space be "reserved", and benchmarks may fail if reservations are unavailable.
Mysterious failures: If an OS is unable to satisfy a resource request while your benchmarks are running, you may encounter difficult-to-diagnose, hard-to-reproduce error messages. Processes may be killed by the OS on a (seemingly) random basis, or may fail to start. If the OS is feeling sufficiently stressed, error messages may be cryptic or even non-existent. You might, or you might not, be able to find additional detail about the resource shortages in system locations such as event logs, message logs, or console logs.
Resource Competition: Meanwhile, contemporary systems run many tasks other than the benchmarks. Personal systems commonly include processes that support the user, which the user may not be aware of:
All of the above may affect observed performance, and if you are unlucky, may cause hard-to-reproduce resource shortages that prevent you from completing benchmark runs. Therefore, you may want to consider reviewing the controls for services such as the above, and you may want to reduce the load from these services during the benchmark run. When you consider adjusting services, please observe these CAUTIONS:
CAUTION 1 SPEC does not endorse any particular solution to the resource problems discussed in this section. You need to make your own decision as to what services and programs are important. If you turn off something essential, and your system turns into a mushroom, it is not SPEC's fault. Use good judgment about what you choose to disable.
CAUTION 2 If you choose to report results in public, you must run your system in a manner that is documented and supported. See the run rules for details.
In addition, each of these techniques may improve the probability that the benchmarks have a fresh set of dedicated resources:
Copyright 2006-2011 Standard Performance Evaluation Corporation
All Rights Reserved