Computing Time Statistics at the End of the Log File

Following the completion of the last time step, AcuSolve will print information regarding the input/output time, message passing time (for distributed memory parallel simulations), interface search time (if non-conformal interfaces are present), time associated with the solution of each stagger, and total time to complete the simulation.

The memory usage of the simulation is also reported in the .log file. For distributed memory parallel simulations, the average and maximum CPU Times and Memory usage are printed to indicate if reasonable load balancing was achieved by the domain decomposition.


Figure 1.
Input and Output times
Report the amount of time that AcuSolve spent reading and writing files to disk. The differences between the input and output CPU/Elapsed times are caused by file system delays. When running AcuSolve in parallel, many processes may be trying to read/write to the same NFS mounted disk. When this happens, delays can occur, forcing AcuSolve to wait for file I/O. This causes the Elapsed time to increase while no CPU time is being used. Differences in CPU/Elapsed time can also be caused by processes competing for run time on an overloaded machine.
Exchange time
Indicates how much time AcuSolve spent passing messages between processes. For most simulations, the value of the Exchange time is 20% or less of the total time required to complete the simulation. When there is a significant difference between the CPU/Elapsed time, the implication is that there is a message passing bottle neck somewhere. This can be caused by a poorly performing network, or a switch that is unable to handle all of the traffic that it is receiving.
The Intf. Search time
Reports the amount of time that AcuSolve spends searching for matching faces for nonconformal interfaces (INTERFACE_SURFACE command). When a simulation containing INTERFACE_SURFACES is performed in a distributed memory parallel configuration, the search algorithm must communicate with other processes to find matching faces. Because of this, a significant amount of message passing must occur. When significant differences in CPU/Elapsed time are seen for this metric, it is typically due to delays in exchanging messages across the network/switch while searching for interface matches. For each stagger that is solved, AcuSolve reports a total of 3 metrics: No. of res/lhs formations, Elem. Form time, and Solution time.
No. of res/lhs formations
A tally of how many times the residual of the equation was computed, as well as how many times the left-hand-side matrix was formed. By default, these values should match each other, and reflect the total number of times the equation was solved.
Note: The LHS matrix formation frequency can be adjusted, causing these two values to be different. However, this is an advanced option, and is rarely changed.
Elem. Form time
Refers to the amount of time required to form the LHS matrix and loop over all of the elements to compute the residual of the equations. Any significant deviations between the CPU/Elapsed time for this metric are primarily due to delays in exchanging messages across the network/switch or competing processes on a machine that is overloaded.
Solution time
The Solution time that is reported for each stagger refers to the amount of time required by the linear solver routines to converge to the desired tolerance. The total elapsed time of the simulation is typically dominated by the solution time for the various staggers. Any significant deviations between the CPU/Elapsed time for this metric are primarily due to delays in exchanging messages across the network/switch or competing processes on a machine that is overloaded.
Total CPU/Elapsed time
Represents the accounting of all steps that AcuSolve performs in completing the simulation. Any significant deviations between the CPU/Elapsed time for this metric are primarily due to delays in exchanging messages across the network/switch or competing processes on a machine that is overloaded. One other possible cause of large differences is running the machine out of memory, forcing it to write data to swap files.
Note: Simply summing all other timing metrics in the summary of the .log file will not yield the same value as the total CPU/Elapsed time. There are additional operations in the solver that are not profiled due to their insignificance.