| Latest: www.spec.org/cpu2026/Docs/ |
|
Contents I. Introduction II. Hardware A. CPU B. Memory C. Disk III. Software A. Operating System B. Compilers or binaries IV. Install media V. Don't be root. Don't be Administrator. Turn privileges off. (Usually.) VI. Problems? |
|
|||||||||||||||||||||||||||||||||
This document describes the system requirements for the SPEC CPU®2026 Benchmark Suite, a product of the SPEC® non-profit corporation (about SPEC). The SPEC CPU 2026 benchmark product includes source code and data sets for 52 benchmarks, organized into 4 suites:
| Short Tag |
Suite | Contents | Metrics | How many copies? What do Higher Scores Mean? |
| intspeed | SPECspeed®2026 Integer | 13 integer benchmarks | SPECspeed2026_int_base SPECspeed2026_int_peak |
SPECspeed suites always run one copy of each benchmark.
Higher scores indicate that less time is needed. |
| fpspeed | SPECspeed®2026 Floating Point | 13 floating point benchmarks | SPECspeed2026_fp_base SPECspeed2026_fp_peak |
|
| intrate | SPECrate®2026 Integer | 14 integer benchmarks | SPECrate2026_int_base SPECrate2026_int_peak |
SPECrate suites run multiple concurrent copies of
each benchmark.
The tester selects how many. Higher scores indicate more throughput (work per unit of time). |
| fprate | SPECrate®2026 Floating Point | 12 floating point benchmarks | SPECrate2026_fp_base SPECrate2026_fp_peak |
|
|
The "Short Tag" is the canonical abbreviation for use with runcpu, where context
is defined by the tools. In a published document, context may not be clear.
To avoid ambiguity in published documents, the Suite Name or the Metrics should be spelled as shown above. |
||||
You may choose which suite(s) you would like to run (there is no requirement to run all of them), and your choice affects hardware requirements: both memory and disk space differ between SPECspeed and SPECrate.
Having chosen a suite, if you will use your results in public, then you must run all the benchmarks in the suite (exceptions) and produce at least the base metric. The peak metric is optional. If producing both base and peak, you will need more disk space.
SPEC supplies toolsets for ARM, Power ISA, RISC-V, or x86.
Limitations apply:
Although SPEC CPU suites are intended to be useful with a wide range of chip architectures, in some cases it is possible that you may find that your chip is not compatible with the available toolsets (for example, if your chip is too old to run one of the supported OS+chip combinations). See the section on Supported Tools.
You can use SPEC CPU 2026 to measure the compute performance of a system with physical or virtual CPUs/processors. You can choose to measure all of the processors on a system, or a subset.
Typical: full system, all its CPUs
Usually SPEC CPU has been used to measure entire systems, with all of the physical CPU chips.
Alternatives: VM, partition, zone,...
There is no prohibition against using SPEC CPU 2026 to measure a subset of the CPU resources on a system, for example with a Virtual Machine (VM), partition, zone, domain, container, processor set, core, hardware thread, or other subset.
If you use a subset (such as a VM), it must have enough memory and disk. For public results, follow the usual rules. (Examples: use only methods that are documented, supported, and generally available to customers; fully disclose what you do, with sufficent detail so that the result can be reproduced; and if you enhance performance by doing something outside the subset -- such as temporarily silencing all the "noisy neighbor" VMs -- fully disclose that, too.)
How many CPUs? [link].
You can use SPEC CPU 2026 to measure performance with arbitrarily large numbers of processors. Usually, if your operating system can handle it, the SPEC CPU toolset can also handle it; if not, contact SPEC. (Of course, you must meet the other requirements of this document, such as sufficient disk and memory for your intended test.)
SPECrate suites run multiple identical jobs at the same time.
Typically, your OS spreads them across CPUs using capabilities known as SMP (Symmetric MultiProcessing).
SPECspeed suites run a single job at a time.
Most of the SPECspeed benchmarks can use multiple CPUs via OpenMP or language parallel features: C++ std::thread and Fortran doconcurrent.
The above points are summarized in the table below
| SPEC CPU 2026 use of multiple CPUs | ||
|---|---|---|
| SPECspeed | SPECrate | |
| Copies | Only one copy of each benchmark is run at a time. | Multiple copies of each benchmark run simultaneously. |
| Compiler Parallelism | Most may be compiled using OpenMP and/or language parallelism. | OpenMP and compiler autopar are forbidden. |
| How To |
At build time, enable OpenMP.
Use runcpu --threads=N or the corresponding config file feature. |
Use runcpu --copies
or the corresponding config file feature. |
(In this section, 1 GB = 2^30 bytes.)
Physical Memory
| SPECrate | 2 GB per copy |
|---|---|
| SPECspeed | 64 GB minimum system main memory. |
| Your needs may vary; see warnings below. | |
Process Limits / ulimit
You may need to increase your process limits, in particular the limit for the process stack. For example, if your system has a ulimit command that shows an 8 MB process stack (8192 KB), that will likely be too small:
$ ulimit -a | grep stack
stack size (kbytes, -s) 8192 <-- too small
$
If you see something like the above, you could try:
ulimit -s unlimited
or consult your system administrator.
More detail
The nominal memory requirements are based on pre-release testing by SPEC using Linux with GCC and LLVM which measured the SPECrate benchmarks at 1.8 GB and SPECspeed at 56.2 GB virtual / 49.3 GB RSS, thus leaving a small margin for overhead vs. the nominal 2 GB and 64 GB.
Some SPECspeed benchmarks may need large stacks, both for the main process (typically controlled via ulimit -s) and for threads (typically controlled through your config file setting of environment variables). The SPEC CPU 2017 FAQ item for 627.cam4 may also be relevant for some testers of CPU 2026.
Warnings:
(In this section, 1 GB = 10^9 bytes.)
The disk space recommendations below are only estimates. Your environment may differ.
| Installation Type | Intended Usage | Detail: observations from one user's system. Yours may differ! | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Development
1 TB + 5 GB / copy |
|
|
||||||||
| Reportable Basic 250 GB + 4 GB / copy |
|
|
||||||||
| Minimized
70 GB + 0.2 GB / copy |
|
|
||||||||
|
The "Detail" column on the right shows actual disk space usage on one particular system.
Your usage may differ, due to hardware, operating system, disk type, file system type, compiler, and, especially, compiler tuning. The far left column is a factor of 2x to 4x the detail column. Once you know the space consumption pattern for your hw/sw, you might adjust the above calculations to be more accurate for your needs. |
||||||||||
The SPEC CPU 2026 toolset relies on several open source components, including GNU Make, Perl, and others. SPEC supplies pre-built versions of these for particular combinations of hardware and operating system, as shown in the table below.
| Supported Toolsets for SPEC CPU 2026 V1.0.0 | |
|---|---|
| Toolset | Intended Use |
| linux-aarch64 | 64-bit AArch64 systems running Linux. |
| linux-ppc64le | 64-bit little-endian PowerPC systems running Linux. |
| linux-riscv64 | 64-bit RISC-V systems running Linux. |
| linux-x86_64 | x86_64 systems running Linux. |
| macos-arm64 | Apple Silicon-based Mac systems running macOS 13 or later. |
| macos-x86_64 | Intel-based Mac systems running macOS 13 or later. |
| windows-x64 | 64-bit Intel x86 systems running Windows 10 22H2 or later. |
|
Limitations apply: Although SPEC has tested the above, it is possible that you may enounter an OS+chip combination that is not compatible with its intended toolet. In such cases:
|
|
What about other systems? For systems that are not listed in the table of supported toolsets:
If the tools do not work, it might or might not be possible for you to build them yourself.
If you would like to try to build the tools, please see the document Building the SPEC CPU2026 Toolset.
SPEC may be able to provide advice for your build; however,
it will not always be practical for SPEC to do so.
You might not succeed.
SPEC supplies the benchmarks in source code form. Therefore, you will need either:
--or--
Config file
You should be familiar either with basic shell commands for Unix (ls, cp, mkdir ...) or basic commands for the Windows Command Prompt (dir, copy, mkdir...).
You will need access to the SPEC CPU 2026 installation media, typically as an ISO image. The Installation Guides (Unix Windows) explain how to use it.
On some systems, the mount command may require privileges or may require additional software. In such cases, you might need to burn a physical DVD using some other system; or, you might need to use the procedure described in the appendix to the Unix installation guide to extract a tarball and use that instead.
Please note that the SPEC CPU 2026 license agreement does not allow you to post the SPEC CPU 2026 software on any public server. If your institution has a SPEC CPU 2026 license, then it's fine to post it on an internal server that is accessible only to members of your institution.
Usually, you do not need privileges. The one known exception is that during installation, on some systems it is possible that you might need a privileged user to mount the installation media or to allocate resources, for example disk space.
After installation is complete, you should not need privileges to run SPEC CPU benchmarks. In general, it is recommended that you use an ordinary user account for SPEC CPU; that way, if your config file accidentally tries to delete the wrong directory, you are much less likely to damage your system.
Warning: SPEC CPU config files can execute arbitrary shell commands.
Read a config file before using it.
SPEC recommends:
In case of difficulties, please check the document SPEC CPU 2026 Frequently Asked Questions.
SPEC CPU®2026 System Requirements: Copyright © 2017-2026 Standard Performance Evaluation Corporation (SPEC®)