$Id$ Latest: www.spec.org/hpc2021/Docs/

SPEChpc™ 2021 Documentation Index

[Tools]   [Benchmarks]   [Open Source]

Tools

Getting Started
Quick Start A one-pager to get you started quickly.
Overview/What's New Overview of the suite and the process, including Why this benchmark? What is a metric? How does SPEChpc 2021 differ from previous suites?
System Requirements Hardware and software needed to use SPEChpc 2021.
Installing on Linux Installation guide
Changes in v1.1 Details on changes included in the v1.1 release
Changes in v1.1.8 Details on changes included in the v1.1.8 release
Basic Use
Using SPEChpc 2021
(runhpc)
The runhpc command is the primary user interface for running SPEChpc 2021 benchmarks and reporting results. Everyone using the suite will need this document.
SPEChpc 2021
Run and Reporting Rules
The rules must be studied carefully prior to submitting results to SPEC for publication, and prior to quoting results in public. Caution: the rules may be updated. Published result must comply with the current version at www.spec.org/hpc2021/Docs/runrules.html.
Customizing Your Testing
Config Files SPEChpc 2021 provides benchmarks in source code form. A "config file" specifies how to compile them and controls many aspects of how they are run. If you are a new user, you will probably start with an existing config file, such as one downloaded from www.spec.org/hpc2021.
Flag Description Files

When the benchmarks are compiled, compilation flags (such as -O2 or -unroll) are detected and automatically reported. Flag description files help the tools recognize flags and report on them. Your compiler vendor may supply a flag description file for you, which you can reference via the config file flagsurl field.
In addition to compiler flags files, there are also "platform" flags files, where you describe items such as Operating System tuning and BIOS settings. It is likely that you will need to write your own Platform Flags File.

Advanced Topics
Make Variables To understand exactly how the benchmarks are built, use this document to help you decipher the process.
Monitoring Facility Information about monitoring hooks.
Utilities How to use specinvoke, specdiff, specmake and other utilities. Also, manpages are available for FILEPP (specpp) and RXP (specrxp).
Avoiding runhpc Although runhpc automates many benchmarking tasks, sometimes you may prefer to work "by hand", perhaps because you want to modify a benchmark, collect traces for a simulator, or debug an experimental compiler. This document describes how to minimize use of SPEC's toolset.
Trouble
FAQ Frequently asked technical questions
Known Problems Known problems and errata information.
Technical Support Information on SPEC technical support.
Building the Toolset How to build (or re-build) the tools (Hint: you probably don't need to.)
Miscellany
Credits Information about the contributors to SPEChpc 2021.
Licenses Copyright notice and license information.

The Benchmarks

SPEChpc has 9 benchmarks, organized into 4 suites by workload size: Tiny, Small, Medium, and Large.

Application Name Benchmark Name Language Approximate LOC Application Area
Tiny Small Medium Large
LBM D2Q37 505.lbm_t 605.lbm_s 705.lbm_m 805.lbm_l C 9000 Computational Fluid Dynamics
SOMA Offers Monte-Carlo Acceleration 513.soma_t 613.soma_s Not included. C 9500 Physics / Polymeric Systems
Tealeaf 518.tealeaf_t 618.tealeaf_s 718.tealeaf_m 818.tealeaf_l C 5400 Physics / High Energy Physics
Cloverleaf 519.clvleaf_t 619.clvleaf_s 719.clvleaf_m 819.clvleaf_l Fortran 12,500 Physics / High Energy Physics
Minisweep 521.miniswp_t 621.miniswp_s Not included. C 17,500 Nuclear Engineering - Radiation Transport
POT3D 528.pot3d_t 628.pot3d_s 728.pot3d_m 828.pot3d_l Fortran 495,000 (includes HDF5 library) Solar Physics
SPH-EXA 532.sph_exa_t 632.sph_exa_s Not included. C++14 3400 Astrophysics and Cosmology
HPGMG-FV 534.hpgmgfv_t 634.hpgmgfv_s 734.hpgmgfv_m 834.hpgmgfv_l C 16,700 Cosmology, Astrophysics, Combustion
miniWeather 535.weather_t 635.weather_s 735.weather_m 835.weather_l Fortran 1100 Weather

Some individual benchmark in the suite have additional documents, found in the benchmark "Docs" subdirectory on your installed benchmark tree, or on the SPEChpc 2021 distribution media. For example, additional information about 605.lbm_s may be found in your installed copy of SPEChpc 2021 at:

   $SPEC/benchspec/HPC/605.lbm_s/Docs

The Suites

SPEChpc uses four suites each comprised of between 9 (Tiny/Small) and 6 (Medium/Large) benchmarks. The three benchmarks not included in the Medium and Large Suites contain constructs, such as MPI_AllReduce which were not condusive for large scale benchmarking. Also with fewer benchmarks, this aids in lowering the cost of running the suites on larger systems.

While the benchmark source code is the same between the suites, the workload size and memory requirements for each suite is different. Each suite is intended to target clusters with various node and core counts. The user will need to determine the appropriate suite for their system. While SPEChpc makes no requirement for the minimum or maximum number of ranks that can be used with each suite, since SPEChpc is strong scaled with fixed size workloads, scaling will diminish as more ranks are used. In some cases, a benchmark may fail if too many ranks are used. The description for each suite below indicates the rank counts SPEC/HPG has tested when using a pure MPI run. Scaling and rank count may differ when using an additional node level parallel model (OpenACC or OpenMP).

The Tiny Suite

The Tiny suite is intended to target a single or few nodes using between 1 and 256 ranks. It uses a maximum of 60GB of memory per benchmark.

The Small Suite

The Small suite is intended to target a single larger node or a small cluster of nodes using between 64 and 1024 ranks. It uses a maximum of 480GB of memory per benchmark.

The Medium Suite

The Medium suite is intended to target a mid-sized cluster of nodes using between 256 and 4096 ranks. It uses a maximum of 4TB of memory per benchmark.

The Large Suite

The Larger suite is intended to target a larger cluster of nodes using between 2048 and 32,768 ranks. It uses a maximum of 14.5TB of memory per benchmark.

Open Source Components

On the SPEC distribution media (ISO image), you will find:

redistributable_sources/README Information about freely-available sources
                               that have been incorporated in SPEChpc 2021

Information about which components are used and their licenses is in SPEChpc 2021 Licenses.

SPEChpc™2021 Documentation Index: Copyright © 2021 Standard Performance Evaluation Corporation (SPEC)