SPEChpc™ 2021 Quick Start

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

Do you want to start here?

All users should read the rules before using results in public.

Decide which benchmark(s) to start with:   SPEChpc 2021 includes 9 benchmarks in 4 suites with each suite being a different workload size targeting different sized systems. You can run one or more individual benchmarks, such as 605.lbm_s, or you can run entire suites, using one of the Short Tags below.

Short
Tag
Suite Contents Metrics How many Ranks?
What do Higher Scores Mean?
Tiny SPEChpc 2021 Tiny Workload 9 benchmarks SPEChpc 2021_tny_base
SPEChpc 2021_tny_peak
The Tiny workloads use up to 60GB of memory and are intended for use on a single node using between 1 and 256 ranks. More nodes and ranks may be used however higher rank counts may see lower scaling as MPI communication becomes more dominant.
Higher scores indicate that less time is needed.
Small SPEChpc 2021 Small Workload 9 benchmarks SPEChpc 2021_sml_base
SPEChpc 2021_sml_peak
The Small workloads use up to 480GB of memory and are intended for use on one or more nodes using between 64 and 1024 ranks. More ranks may be used however higher rank counts may see lower scaling as MPI communication becomes more dominant.
Higher scores indicate that less time is needed.
Medium SPEChpc 2021 Medium Workload 6 benchmarks SPEChpc 2021_med_base
SPEChpc 2021_med_peak
The Medium workloads use up to 4TB of memory and are intended for use on a mid-size cluster using between 256 and 4096 ranks. More ranks may be used however higher rank counts may see lower scaling as MPI communication becomes more dominant.
Higher scores indicate that less time is needed.
Large SPEChpc 2021 Large Workload 6 benchmarks SPEChpc 2021_lrg_base
SPEChpc 2021_lrg_peak
The Large workloads use up to 14.5TB of memory and are intended for use on a larger clusters using between 2048 and 32,768 ranks. More ranks may be used however higher rank counts may see lower scaling as MPI communication becomes more dominant.
Higher scores indicate that less time is needed.
The "Short Tag" is the canonical abbreviation for use with runhpc, 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.

Verify requirements:   (Brief summary; see detail in System Requirements)
  - ~60 GB of main memory to run the Tiny workload suite; 480GB to run the Small workload suite; 4TB to run the Medium workload suite; 14.5TB to run the Large workload suite.
  - 50 GB disk space is recommended; a minimal installation needs ~2 GB.
  - C, C++, and Fortran compilers
  - MPI configured for use with your compilers.
A variety of chips are supported. Only the Linux operating systems is supported.

Install it:   Unpack the SPEChpc 2021 tar package via:

% mkdir HPC2021  (you can name the directory to whatever you wish)
% cd HPC2021
% tar Jxvf /path/to/hpc2021-1.0.0.tar.xz
% ./install.sh

Or when using the ISO package:   Mount (Linux, the ISO image, then use install.sh.

Install guides: Linux

Find a Config File: To use runhpc, you need a config file - a file that defines how to build, run, and report on the SPEChpc benchmarks in a particular environment, including any needed PORTABILITY flags for your compilers.

  1. There are examples on your installed copy of SPEChpc 2021. Look for an Example that matches your compiler, and hardware, in directory:

    $SPEC/config/Example*
  2. Or, look for results for a system similar to yours at www.spec.org/hpg/hpc2021/results. Click the 'config' link.
  3. Or, if you are using binaries supplied by another user of SPEChpc 2021, that person should also supply the config file.
  4. Or, write your own.

Name it:   Copy your selection to a new file in the config directory. Do not use blanks in the name. Hint: make the name something useful to *you*.

     
$SPEC/config/DaveWantsYetAnotherTest.Compiler.v11.beta4.cfg

Edit the label:    Look for a line like one of these:

%define label something

or

label = something

The label is an arbitrary tag added to your binaries and directories, which comes in handy when you need to hunt them down. As with the config file name, make it something meaningful to *you*. No blanks are allowed.

Other Edits:

  1. Look for any locations marked EDIT and make changes as needed.
  2. Look for paths and adjust if needed (example: your compiler is in /opt/bin but the config file uses /usr/bin).
  3. Look for the Submit command and modify for your system's MPI launch configuration.
  4. Look for any commands in the config file, and verify that they will not cause surprises.

    Warning: SPEChpc config files can execute arbitrary shell commands.
    Read a config file before using it.
    Don't be root. Don't run as Administrator. Turn privileges off.

Open a terminal window if you have not already done so.

Set paths: Use a path command from the table below. Determine whether you are using a C-compatible-shell (such as csh, tcsh) or a Bourne-compatible shell (such as sh, bash, ksh, zsh).

System shell Example Instructions
Linux C-shell
compatible
% cd /home/subhash/hpc2021
% source cshrc
cd to the directory where you installed SPEChpc and say:
source cshrc
Bourne
compatible
$ cd /home/subhash/hpc2021
$ source shrc

cd to the directory where you installed SPEChpc and try:
source shrc
If your shell is sufficiently old that it responds source: not found then try:

 . ./shrc     <--that's dot-space-dot-slash-shrc

Check disk space: Verify your free disk space (Recommendations). Use df to check.

Ready to run: You're ready to give it a try. Enter runhpc --config=name followed by a list of benchmarks or suites (see table above). Examples:

runhpc --config=eniac.cfg    --action=build 505.lbm_t
runhpc --config=colossus.cfg --threads=16 --pmodel=OMP   528.pot3d_t
runhpc --config=z3.cfg       --ranks=64 --pmodel=MPI   tiny 

The first command compiles the benchmark named 505.lbm_t. The second runs the benchmark 528.pot3d_t using MPI+OpenMP with 1 rank and 16 CPU threads. The third runs using 64 MPI ranks of all the SPEChpc tiny benchmarks.

Example Install: This example presumes that your name is Sandra, your compiler is GCC, your operating system is Linux, and your hardware is x86.

$ mkdir HPC2021                                      # name this directory whatever you want 
$ cd HPC2021
$ tar Jxvf /path/to/hpc2021.1.0.0.tar.xz             # untar the SPEChpc package to the local directory
$ ./install.sh                                       # Run the installation script
$ source shrc					     # Or 'cshrc' to set the SPEC environment
$ cd config
$ cp Example_gnu.cfg sandra-try1.cfg                 # Pick one matching *your* system and compiler!
$ vi sandra-try1.cfg                                 # Customize paths and other items marked EDIT in the example
$ runhpc --config=sandra-try1 -ranks=40 tiny         # Run the Tiny workload suite with 40 MPI ranks. 

SPEChpc™2021 Quick Start: Copyright © 2021 Standard Performance Evaluation Corporation (SPEC)