Timing¶
Timing statistics provide detailed performance metrics for the simulation, reporting how computational time is distributed across different algorithms and operations. These outputs include both instantaneous (per reporting interval) and cumulative values, allowing users to monitor performance in real time and evaluate overall efficiency across the full simulation.
Timing statistics track the relative cost of major solver components, such as fluid solution, particle tracking, scalar transport, thermal models, and communication, as well as efficiency metrics like million updates per second (MUPS).
Statistics Table¶
The index table below shows the statistics that can appear in the Exit Age output file. Within this table, each statistic corresponds to a column in the output table that evolves with the time column.
Statistics |
Units |
Details |
When Appears |
|---|---|---|---|
Time |
s |
simulation time |
|
Boundary Conditions |
% |
current percent of time being spent on applying boundary conditions |
|
Communication |
% |
current percent of time being spent on communication |
|
Conduction |
% |
current percent of time being spent on conduction |
|
Conduction Efficiency |
MUPS |
current million updates per second for conduction, good measure of efficiency assuming conduction algorithm dominates performance |
|
Conduction Efficiency Per Process |
MUPS |
current million updates per second per process for conduction, good measure of efficiency assuming conduction algorithm dominates performance |
|
Cumulative Boundary Conditions |
% |
percent of time spent on applying boundary conditions over whole simluation |
|
Cumulative Communication |
% |
percent of time spent on communication over whole simluation |
|
Cumulative Conduction |
% |
percent of time spent on conduction over whole simluation |
|
Cumulative Conduction Efficiency |
MUPS |
million updates per second for conduction over whole simulation, good measure of efficiency assuming conduction algorithm dominates performance |
|
Cumulative Conduction Efficiency Per Process |
MUPS |
million updates per second per process for conduction over whole simulation, good measure of efficiency assuming conduction algorithm dominates performance |
|
Cumulative CPU Time |
min |
total amount of CPU time elapsed since simulation launched (equals cumulative wall time multiplied by number of processes |
|
Cumulative Fluid Solver |
% |
percent of time spent on fluid solution over whole simluation |
|
Cumulative Immersed Boundary |
% |
percent of time spent on immersed boundary algorithm for moving bodies over whole simluation |
|
Cumulative Initialization |
% |
percent of time spent on initialization over whole simulation |
|
Cumulative Lattice Efficiency |
MUPS |
million lattice updates per second over whole simulation, good measure of efficiency assuming lattice/cell-based algorithms dominate performance |
|
Cumulative Lattice Efficiency Per Process |
MUPS |
million lattice updates per second per process over whole simulation, good measure of efficiency assuming lattice/cell-based algorithms dominate performance |
|
Cumulative Link Output Files |
min |
total amount of time spent linking output files together into PVD files over whole simulation |
|
Cumulative Mean Age |
% |
percent of time spent on mean age algorithm over whole simluation |
|
Cumulative Output |
% |
percent of time spent on output over whole simluation |
|
Cumulative Particle Efficiency |
MUPS |
million particle updates per second over whole simulation, good measure of efficiency assuming particle-based algorithms dominate performance |
|
Cumulative Particle Efficiency Per Process |
MUPS |
million particle updates per second per process over whole simulation, good measure of efficiency assuming particle-based algorithms dominate performance |
|
Cumulative Particles |
% |
percent of time spent on particles over whole simluation |
|
Cumulative Scalar Transport |
% |
percent of time spent on scalar transport over whole simluation |
|
Cumulative Statistics |
% |
percent of time spent on statistics over whole simluation |
|
Cumulative Thermal |
% |
percent of time spent on thermal model over whole simluation |
|
Cumulative Volume Of Fluid |
% |
percent of time spent on volume of fluid algorithm over whole simluation |
|
Cumulative Wall Time |
min |
total amount of wall time elapsed since simulation launched |
|
Fluid Solver |
% |
current percent of time being spent on fluid solution |
|
Immersed Boundary |
% |
current percent of time being spent on immersed boundary algorithm for moving bodies |
|
Iteration |
Dimensionless |
number of timesteps taken (on coarsest mesh level if refinement is present) |
|
Lattice Efficiency |
MUPS |
current million lattice updates per second, good measure of efficiency assuming lattice/cell-based algorithms dominate performance |
|
Lattice Efficiency Per Process |
MUPS |
current million lattice updates per second per process, good measure of efficiency assuming lattice/cell-based algorithms dominate performance |
|
Mean Age |
% |
current percent of time being spent on mean age algorithm |
|
Output |
% |
current percent of time being spent on output |
|
Particle Efficiency |
MUPS |
current million particle updates per second, good measure of efficiency assuming particle-based algorithms dominate performance |
|
Particle Efficiency Per Process |
MUPS |
current million particle updates per second per process, good measure of efficiency assuming particle-based algorithms dominate performance |
|
Particles |
% |
current percent of time being spent on particles |
|
Scalar Transport |
% |
current percent of time being spent on scalar transport |
|
Statistics |
% |
current percent of time being spent on statistics |
|
Thermal |
% |
current percent of time being spent on thermal model |
|
Volume Of Fluid |
% |
current percent of time being spent on volume of fluid algorithm |
Usage and Interpretation¶
Timing statistics are used to diagnose performance, identify computational bottlenecks, and evaluate parallel efficiency.
The reported percentage-based metrics (e.g., Fluid Solver, Particles, Communication) represent the fraction of total computational time spent in each component. These are reported both as instantaneous values and cumulative values over the full simulation. Large percentages indicate dominant cost centers and are the primary indicators of where optimization efforts should be focused.
Efficiency metrics such as Lattice Efficiency, Particle Efficiency, and Conduction Efficiency are reported in million updates per second (MUPS),
These provide a hardware- and problem-independent measure of algorithmic performance. Higher MUPS values indicate more efficient execution. Corresponding per process metrics normalize performance by the number of processes, making them useful for assessing parallel scaling behavior.
The cumulative timing metrics provide a full accounting of how time has been spent over the entire simulation. For example,
This allows users to distinguish between total computational cost and elapsed wall-clock time, which is especially important for parallel runs.
Comparing categories such as Communication versus compute-heavy components (e.g., Fluid Solver, Particles) helps diagnose scaling limitations. A high communication fraction often indicates parallel inefficiencies, while high solver or particle fractions indicate compute-bound behavior.
The Cumulative Wall Time represents the total elapsed real (wall-clock) time since the simulation was launched. This is one of the most important performance metrics, as it reflects how long the simulation is actually taking to run in real time, independent of the number of processes. Plotting Cumulative Wall Time versus simulation time provides a direct measure of simulation speed relative to real time. The slope of this curve indicates how much wall-clock time is required to advance the simulation,
A steeper slope indicates slower performance (more wall time per unit simulation time), while a flatter slope indicates faster performance. This type of analysis is especially useful for estimating total runtime, comparing different simulation setups, and evaluating the impact of hardware or model changes on performance.
Because this metric reflects true elapsed time, it is also the most relevant quantity for planning, scheduling, and benchmarking simulations.
Efficiency metrics should be interpreted alongside time fractions. For example, a low MUPS combined with a high time percentage indicates a clear performance bottleneck, while high MUPS with low time fraction suggests efficient execution of a non-dominant component.