820.cloverleaf_s
SPEC CPU®2026 Benchmark Description

Benchmark Name

820.cloverleaf_s

Benchmark Authors

David Beckingsale
Michael Boulton
Tom Deakin <Tom dot Deakin at bristol dot ac dot uk>
Wayne Gaudin
Andy Herdman
Steven Jarvis
Andrew Mallinson
Matt Martineau
Simon McIntosh-Smith <S dot McIntosh-Smith at bristol dot ac dot uk>
Oliver Perks

820.cloverleaf_s was submitted to the SPEC CPU v8 Benchmark Search Program by Simon McIntosh-Smith.

Benchmark Program General Category

Explicit Hydrodynamics

Benchmark Description

CloverLeaf solves the compressible Euler Equations using a second order explicit finite volume formulation on a structured grid. It uses a strategy of domain decomposition and local halo exchange to function in a distributed compute environment and through the implementation of OpenMP.

Input Description

All the input that is required to generate a CloverLeaf run is contained within the clover.in input file.

The logical mesh size is defined by the x_cells and y_cells input parameters.

The physical mesh size is defined by the xmin, xmax, ymin and ymax parameters.

The different ideal gas states are defined using the state keyword. State 1 is always the background material that will infill where other states are not defined.

e.g. state 1 density=0.2 energy=1.0
     state 2 density=1.0 energy=2.5 geometry=rectangle xmin=0.0 ymin=0.0 xmax=5.0 ymax=2.0
      

The control parameters are used to set timestep frequency and end times.

e.g. initial_timestep=0.04
     end_time=0.5
      

There are a number of other inputs that can be used for fine control, profiling and visualization. The full description of these can be found in the links detailed below.

Output Description

The most important output from CloverLeaf is the field summary print that details the average state variables of the system, which includes pressure, kinetic energy and internal energy.

Timestep information is also output every step.

Expected output (clover_leaf.log) is provided for each of the problem sizes, and the benchmark validates successfully if each of the reported state variables in the output from the run are within 0.1% of the equivalent value in the expected output.

VTK files can also be outputted to allow visualization but this is not recommended for benchmarking runs due to the overhead incurred.

Programming Language

Fortran

Threading Model

OpenMP

Known Portability Issues

The current version works on all tested OpenMP compiler implementations.

Sources and Licensing

820.cloverleaf_s is distributed under the GNU General Public License v3.

The SPEC benchmark was checked out from the CloverLeaf Github repository. The CloverLeaf_OpenMP version was used as the base for 820.cloverleaf_s. The repository contains both C and Fortran versions of the kernels. The C kernels were removed from the source distributed via SPEC in order to make 820.cloverleaf_s a Fortran-only benchmark.

The SPEC CPU source code was based on commit hash 022eb9 from the CloverLeaf_OpenMP GitHub repository, and was downloaded from GitHub on May 16, 2022. The GPLv3 license was also downloaded from the CloverLeaf GitHub site.

Note that both GPL and LGPL licenses have been checked into the Github repository, but text in the source files indicates that the GPL license applies to the parts of the code that are being used for 820.cloverleaf_s.

Comparison to other SPEC CloverLeaf benchmarks

SPEC has included versions of CloverLeaf in several benchmark suites. The table below summarizes the differences among them.

          Benchmark Parallelism Memory Usage Configuration
SPEC ACCEL® (retired)
  353.clvrleaf.h OpenACC  1.5 GB 1 accelerator
  553.pclvrleaf OpenMP Offload  1.5 GB 1 accelerator
SPECaccel® 2023
  453.clvrleaf OpenACC, OpenMP Offload  14 GB 1 accelerator
SPEChpc® 2021
  519.clvleaf_t MPI, OpenACC, OpenMP, OpenMP Offload  44 GB MPI+OpenMP, 1 node, 32 ranks
  619.clvleaf_s MPI, OpenACC, OpenMP, OpenMP Offload  368 GB MPI+OpenMP, 4 nodes, 128 ranks
  719.clvleaf_m MPI, OpenACC, OpenMP, OpenMP Offload  2886 GB MPI+OpenMP, 16 nodes, 512 ranks
  819.clvleaf_l MPI, OpenACC, OpenMP, OpenMP Offload  5839 GB MPI+OpenMP, 48 nodes, 1536 ranks
SPEC CPU®2026
  820.cloverleaf_s OpenMP  22 GB 1 node

The CloverLeaf GitHub repository includes submodules for a number of different programming models, including CUDA, MPI, OpenACC and OpenMP (with without target offload). Each of these implements the same core algorithms for different computing architectures and at different scales (e.g. the serial version runs on a single core, whereas the MPI version can run across many nodes on a cluster). This adaptability and flexibility has made CloverLeaf an attractive candidate for a series of different SPEC suites that benchmark different types of computing system (CPU, individual accelerators and HPC systems).

References

Copyright © 2026 Standard Performance Evaluation Corporation (SPEC®)