SPECaccel System Requirements

(To check for possible updates to this document, please see http://www.spec.org/accel2023/Docs/ )

Contents

I. Hardware and Software Requirements

A. System/OS

1. About Linux Distributions

2. SPEC does not recommend use of Windows/Unix compatibility products with SPECaccel

B. Memory

C. Disk Space

D. Compiler, or precompiled binaries

II. Portablility Notes

III. About Resources and Mysterious Failures

Note: links to SPECaccel documents on this web page assume that you are reading the page from a directory that also contains the other SPECaccel 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:

I. Hardware and Software Requirements

To run and install SPECaccel, the following are required.

A. System/OS:

You will need a computer system running UNIX, 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 SPECaccel.

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. Please see the Portability Notes below.

I.A.1. About Linux distributions

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. SPECaccel 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 SPECaccel 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-aarch64 64-bit AArch64 (ARM) based systems Built with GCC 4.8.4 (Ubuntu/Linaro 4.8.4-2ubuntu1~14.04.1) on an HPE Moonshot running Linaro v14.04.1 LTS.
linux-armv7l ARM Cortex-A7-compatible systems Built on a Raspberry Pi 2 running Raspbian GNU/Linux 7 (wheezy) with GCC 4.6.3 (Debian 4.6.3-14+rpi1)
linux-ppc64le 64-bit little-endian PowerPC Linux systems Built on RedHat Linux 7.2 with GCC v4.8.5 20150623 (Red Hat 4.8.5-4)
linux-x86_64 x86_64 Linux systems Built on Oracle Linux 6.0 with GCC v4.4.4 20100726 (Red Hat 4.4.4-13)
linux-x86_64-rhel8 Newer x86_64 Linux systems without libnsl.so.1 Built on RHEL8 with gcc (GCC) 8.2.1 20180905 (Red Hat 8.2.1-3)

I.A.2. SPEC does not recommend use of Windows/Unix compatibility products with SPECaccel

SPEC does not recommend installation of SPECaccel 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 SPECaccel. 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 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. If such problems occur, your first step should be to simplify the path, removing the compatibility product.

Windows Subsystem for Linux (WSL) has not been tested but likely to work as WSL2 runs a native Linux kernel in a virtual machine and the tools are effectively running under Linux.

B. Memory

Typically 16 GB of host memory and 16 GB of device memory will be required, exclusive of OS/overhead; but more may be required:

Warning: When an operating system runs out of memory, errors may occur that are difficult to diagnose. See the section on resources, below.

C. Disk space

D. Compiler, or pre-compiled binaries

Since SPEC supplies only source code for the benchmarks, you will need either:

  1. A set of compilers for the result(s) you intend to measure: All three of C99, C++98 and Fortran-95 compilers and accelerator support software

    --or--

  2. A pre-compiled set of benchmark executables, given to you by another user of the same revision of SPECaccel, and any run-time libraries that may be required for those executables.

II. Portability Notes

The SPECaccel benchmarks use a mixture of single and double precision floating point numbers. The target accelerator must support double precision floating point.

The benchmark 470.bt, requires a large stack size on the host. It is recommended to run with the stack size set to 'unlimited'.

SPECaccel is a source code benchmark, and portability of that source code is one of the chief goals of SPECaccel. SPEC has invested substantial effort to make the benchmarks portable across a wide variety of hardware architectures, operating systems, and compilers.

Despite SPEC's testing efforts, certain portability problems are likely to arise from time to time. For example:

If you visit http://www.spec.org/accel2023/ and look up results for SPECaccel, you will find combinations of OS and compiler versions that are known to work. For example, if a vendor reports a SPECaccel 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 SPECaccel 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.

III. About Resources and Mysterious Failures

Resource Demand: The SPECaccel benchmarks place a significant load on your system.

As described above, the nominal memory footprint is about 16 GB on the host. 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:

In addition, each of these techniques may improve the probability that the benchmarks have a fresh set of dedicated resources:

  1. Start a new terminal window, or
  2. Log out and back in, or
  3. Reboot

Copyright 2014-2023 Standard Performance Evaluation Corporation
All Rights Reserved