SPEChpc™ 2021 Benchmark Description

Benchmark Name


Benchmark Author

Submitted by Simon McIntosh-Smith, simonm __at__ cs.bris.ac.uk

Simon McIntosh-Smith <simonm [at] cs.bris.ac.uk >
University of Bristol
Bristol, BS8 1TH, UK

Authors listed in alphabetic order:

Benchmark Program General Category

Physics / High Energy Physics

Benchmark Description

TeaLeaf is a mini-app that solves the linear heat conduction equation on a spatially decomposed regular grid using a 5 point stencil with implicit solvers. TeaLeaf currently solves the equations in two dimensions, but three dimensional support is in beta.

In TeaLeaf temperatures are stored at the cell centres. A conduction coefficient is calculated that is equal to the cell centred density or the reciprocal of the density. This is then averaged to each face of the cell for use in the solution. The solve is carried out using an implicit method due to the severe timestep limitations imposed by the stability criteria of an explicit solution for a parabolic partial differential equation. The implicit method requires the solution of a system of linear equations which form a regular sparse matrix with a well defined structure.

The computation in TeaLeaf has been broken down into "kernels", low level building blocks with minimal complexity. Each kernel loops over the entire grid and updates the relevant mesh variables. Control logic within each kernel is kept to a minimum, allowing maximum optimisation by the compiler. Memory is sacrificed in order to increase performance, and any updates to variables that would introduce dependencies between loop iterations are written into copies of the mesh.

Input Description

All the input that is required to generate a TeaLeaf run is contained within the tea.in input file.

The initial time step, simualtion end time and end step are set by initial_timestep, end_time, end_step parameters respectively.

The follwoing two options set the cell count for each coordinate direction. The default is 10 cells in each direction.


The parameters, xmin, xmax, ymin and ymax, set the size of the computational domain. The default domain size is a 10cm square.

The geometric information and initial conditions are set using the following keywords with three possible variations. Note that state 1 is always the ambient material and any geometry information is ignored. Areas not covered by other defined states receive the energy and density of state 1.


The option visit_frequency is the step frequency of visualisations dumps. The files produced are text base VTK files and are easily viewed in an application such as ViSit. The default is to output no graphical data. Note that the overhead of output is high, so should not be invoked when performance benchmarking is being carried out.

The option summary_frequency is the step frequency of summary dumps. This requires a global reduction and associated synchronisation, so performance will be slightly affected as the frequency is increased. The default is for a summary dump to be produced every 10 steps and at the end of the simulation.

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 TeaLeaf is the field summary print that details the average state variables of the system, which includes volume, mass, density, energy, temperature.

Timestep information is also output every step.

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

Programming Language


Known portability issues


Version and Licensing

Application Version: 1.0

License: GPL 3


Last updated: $Date$