811.tealeaf_s
Physics / High Energy Physics
Authors listed in alphabetic order:
811.tealeaf was submitted to the
SPEC CPU v8 Benchmark Search Program
by Simon McIntosh-Smith <simonm [at] cs [dot] bris [dot] ac [dot] uk >
University of Bristol
Bristol, BS8 1TH, UK
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 optimization 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.
All the input that is required to generate a TeaLeaf run is contained within the tea.in input file.
The initial time step, simulation end time and end step are set by initial_timestep,
end_time, end_step parameters respectively.
The following two options set the cell count for each coordinate direction. The default is 10 cells in each direction.
x_cells
y_cells
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.
state
density
energy
geometry
The option visit_frequency is the step frequency of visualizations 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 synchronization, 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.
The benchmark prints input summary information for each state. It details the average state variables of the system, which includes volume, mass, density, energy.
Benchmark in the end prints actual computed 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.
C
The benchmark uses OpenMP
None.
Application Version: 1.0. Obtained from: https://github.com/UoB-HPC/TeaLeaf/tree/main (commmit#99435af)
Tealeaf is licensed to SPEC by its author under GPL 3
Copyright © 2026 Standard Performance Evaluation Corporation (SPEC®)