Statistics from calls to run_solution().
More...
#include <yk_solution_api.hpp>
Statistics from calls to run_solution().
A throughput rate may be calculated by multiplying an amount-of-work-per-step quantity by the number of steps done and dividing by the number of seconds elapsed.
◆ get_num_elements()
virtual idx_t yask::yk_stats::get_num_elements |
( |
| ) |
|
|
pure virtual |
Get the number of elements in the overall domain.
- Returns
- Product across all domain dimensions of the domain sizes across all ranks. Multiply this value by get_num_steps_done() to determine the number of points processed. Then, divide by get_elapsed_run_secs() to determine the throughput.
◆ get_num_steps_done()
virtual idx_t yask::yk_stats::get_num_steps_done |
( |
| ) |
|
|
pure virtual |
Get the number of steps executed via run_solution().
- Returns
- A positive number, regardless of whether run_solution() steps were executed forward or backward.
◆ get_num_writes_done()
virtual idx_t yask::yk_stats::get_num_writes_done |
( |
| ) |
|
|
pure virtual |
Get the number of elements written across all steps.
- Returns
- Number of elements written, summed over all output vars, steps executed, and ranks.
◆ get_est_fp_ops_done()
virtual idx_t yask::yk_stats::get_est_fp_ops_done |
( |
| ) |
|
|
pure virtual |
Get the estimated number of floating-point operations executed across all steps.
- Returns
- Number of FP ops created by the stencil compiler, summed over all stencils, steps executed, and ranks. It may be slightly more or less than the actual number of FP ops executed by the CPU due to C++ compiler transformations, redundant calculations for temporal tiling, etc.
◆ get_elapsed_secs()
virtual double yask::yk_stats::get_elapsed_secs |
( |
| ) |
|
|
pure virtual |
Get the number of seconds elapsed during calls to run_solution().
- Returns
- Only the time spent in run_solution(), not in any other code in your application between calls.
The documentation for this class was generated from the following file: