|
FEAT 3
Finite Element Analysis Toolbox
|
Statistics collection class. More...
#include <statistics.hpp>
Static Public Member Functions | |
| static void | add_flops (Index flops) |
| Add an amount of flops to the global flop counter. More... | |
| static void | add_solver_expression (std::shared_ptr< Solver::ExpressionBase > expression) |
| static void | add_time_axpy (double seconds) |
| static void | add_time_blas2 (double seconds) |
| static void | add_time_blas3 (double seconds) |
| static void | add_time_mpi_execute_blas2 (double seconds) |
| static void | add_time_mpi_execute_blas3 (double seconds) |
| static void | add_time_mpi_execute_collective (double seconds) |
| static void | add_time_mpi_execute_reduction (double seconds) |
| static void | add_time_mpi_wait_blas2 (double seconds) |
| static void | add_time_mpi_wait_blas3 (double seconds) |
| static void | add_time_mpi_wait_collective (double seconds) |
| static void | add_time_mpi_wait_reduction (double seconds) |
| static void | add_time_precon (double seconds) |
| static void | add_time_reduction (double seconds) |
| static void | compress_solver_expressions () |
| compress solver statistics (toe / defect norm / mpi timings) from previous calls More... | |
| static Index | get_flops () |
| Retrieve current global flop counter. More... | |
| static String | get_formatted_flops (double seconds, int ranks=1) |
| Retrieve formatted flops per second string. More... | |
| static String | get_formatted_solver_internals (String target="default") |
| Retrieve formatted timings and iteration counts of internal solver structures for the provided solver target. More... | |
| static String | get_formatted_solver_tree (String target="default") |
| Returns a descriptive string of the complete solver tree. More... | |
| static String | get_formatted_times (double total_time) |
| Retrieve formatted time consumption overview in percent relative to some provided total time. More... | |
| static std::list< Index > & | get_iters (String target) |
| retrieve list of all overall solver iteration entries More... | |
| static std::list< Index > & | get_iters_schwarz (String target) |
| retrieve list of all outer schwarz solver call iteration count entries More... | |
| static const std::list< std::shared_ptr< Solver::ExpressionBase > > & | get_solver_expressions () |
| static double | get_time_axpy () |
| static double | get_time_blas2 () |
| static double | get_time_blas3 () |
| static std::list< std::vector< double > > & | get_time_mg (String target) |
| retrieve list of all overall solver toe entries per mg level More... | |
| static std::list< std::vector< double > > & | get_time_mg_mpi_execute_blas2 (String target) |
| retrieve list of all overall solver mpi execute blas2 toe entries per level More... | |
| static std::list< std::vector< double > > & | get_time_mg_mpi_execute_blas3 (String target) |
| retrieve list of all overall solver mpi execute blas3 toe entries per level More... | |
| static std::list< std::vector< double > > & | get_time_mg_mpi_execute_collective (String target) |
| retrieve list of all overall solver mpi execute collective toe entries per level More... | |
| static std::list< std::vector< double > > & | get_time_mg_mpi_execute_reduction (String target) |
| retrieve list of all overall solver mpi execute reduction toe entries per level More... | |
| static std::list< std::vector< double > > & | get_time_mg_mpi_wait_blas2 (String target) |
| retrieve list of all overall solver mpi blas2 wait toe entries per level More... | |
| static std::list< std::vector< double > > & | get_time_mg_mpi_wait_blas3 (String target) |
| retrieve list of all overall solver mpi blas3 wait toe entries per level More... | |
| static std::list< std::vector< double > > & | get_time_mg_mpi_wait_collective (String target) |
| retrieve list of all overall solver mpi collective wait toe entries per level More... | |
| static std::list< std::vector< double > > & | get_time_mg_mpi_wait_reduction (String target) |
| retrieve list of all overall solver mpi reduction wait toe entries per level More... | |
| static double | get_time_mpi_execute_blas2 () |
| static std::list< double > & | get_time_mpi_execute_blas2 (String target) |
| retrieve list of all overall solver mpi execute blas2 toe entries More... | |
| static double | get_time_mpi_execute_blas3 () |
| static std::list< double > & | get_time_mpi_execute_blas3 (String target) |
| retrieve list of all overall solver mpi execute blas3 toe entries More... | |
| static double | get_time_mpi_execute_collective () |
| static std::list< double > & | get_time_mpi_execute_collective (String target) |
| retrieve list of all overall solver mpi execute collective toe entries More... | |
| static double | get_time_mpi_execute_reduction () |
| static std::list< double > & | get_time_mpi_execute_reduction (String target) |
| retrieve list of all overall solver mpi execute reduction toe entries More... | |
| static double | get_time_mpi_wait_blas2 () |
| static std::list< double > & | get_time_mpi_wait_blas2 (String target) |
| retrieve list of all overall solver mpi blas2 wait toe entries More... | |
| static double | get_time_mpi_wait_blas3 () |
| static std::list< double > & | get_time_mpi_wait_blas3 (String target) |
| retrieve list of all overall solver mpi blas3 wait toe entries More... | |
| static double | get_time_mpi_wait_collective () |
| static std::list< double > & | get_time_mpi_wait_collective (String target) |
| retrieve list of all overall solver mpi collective wait toe entries More... | |
| static double | get_time_mpi_wait_reduction () |
| static std::list< double > & | get_time_mpi_wait_reduction (String target) |
| retrieve list of all overall solver mpi reduction wait toe entries More... | |
| static double | get_time_precon () |
| static double | get_time_reduction () |
| static std::list< double > & | get_time_schwarz (String target) |
| retrieve list of all outer schwarz solver call toe entries More... | |
| static std::list< double > & | get_time_toe (String target) |
| retrieve list of all overall solver toe entries More... | |
| static void | print_solver_expressions () |
| print out the complete solver expression list More... | |
| static void | reset () |
| Reset all internal counters (flops/times/solver_statistics) More... | |
| static void | reset_flops () |
| Reset global flop counter. More... | |
| static void | reset_times () |
| Reset all global timer counters. More... | |
Static Public Attributes | |
| static bool | enable_solver_expressions = false |
| specifies whether collection of solver expressions is to be enabled More... | |
| static String | expression_target = "default" |
| the current solver's descriptive string More... | |
| static double | toe_assembly |
| time of assembly in seconds, needs initialization More... | |
| static double | toe_partition |
| time of partitioning in seconds, needs initialization More... | |
| static double | toe_solve |
| time of solution in seconds, needs initialization More... | |
Static Private Member Functions | |
| static String | _generate_formatted_solver_tree (String target) |
Static Private Attributes | |
| static Index | _flops = Index(0) |
| global flop counter More... | |
| static std::map< String, String > | _formatted_solver_trees |
| mapping of solver target name to formatted solver tree string More... | |
| static std::map< String, std::list< std::vector< double > > > | _outer_mg_mpi_execute_blas2 |
| static std::map< String, std::list< std::vector< double > > > | _outer_mg_mpi_execute_blas3 |
| static std::map< String, std::list< std::vector< double > > > | _outer_mg_mpi_execute_collective |
| static std::map< String, std::list< std::vector< double > > > | _outer_mg_mpi_execute_reduction |
| static std::map< String, std::list< std::vector< double > > > | _outer_mg_mpi_wait_blas2 |
| static std::map< String, std::list< std::vector< double > > > | _outer_mg_mpi_wait_blas3 |
| static std::map< String, std::list< std::vector< double > > > | _outer_mg_mpi_wait_collective |
| static std::map< String, std::list< std::vector< double > > > | _outer_mg_mpi_wait_reduction |
| static std::map< String, std::list< std::vector< double > > > | _outer_mg_toe |
| mapping of solver name to list of outer multigrid level timings. each std::vector holds a complete level hierarchy of timings. More... | |
| static std::map< String, std::list< Index > > | _outer_schwarz_iters |
| overall iterations of outer schwarz preconditioners internal solver More... | |
| static std::map< String, std::list< double > > | _outer_schwarz_toe |
| overall time of outer schwarz preconditioners internal solver More... | |
| static std::map< String, std::list< Index > > | _overall_iters |
| static std::map< String, std::list< double > > | _overall_mpi_execute_blas2 |
| static std::map< String, std::list< double > > | _overall_mpi_execute_blas3 |
| static std::map< String, std::list< double > > | _overall_mpi_execute_collective |
| static std::map< String, std::list< double > > | _overall_mpi_execute_reduction |
| static std::map< String, std::list< double > > | _overall_mpi_wait_blas2 |
| static std::map< String, std::list< double > > | _overall_mpi_wait_blas3 |
| static std::map< String, std::list< double > > | _overall_mpi_wait_collective |
| static std::map< String, std::list< double > > | _overall_mpi_wait_reduction |
| static std::map< String, std::list< double > > | _overall_toe |
| overall time per reset call per solver name string. More... | |
| static std::map< String, std::list< std::shared_ptr< Solver::ExpressionBase > > > | _solver_expressions |
| a consecutive list of all solver actions More... | |
| static KahanAccumulator< double > | _time_axpy |
| global time of execution for blas-1 type operations More... | |
| static KahanAccumulator< double > | _time_blas2 |
| global time of execution for blas-2 type operations More... | |
| static KahanAccumulator< double > | _time_blas3 |
| global time of execution for blas-3 type operations More... | |
| static KahanAccumulator< double > | _time_mpi_execute_blas2 |
| global time of execution for mpi related idle/wait tasks of blas-2 operations More... | |
| static KahanAccumulator< double > | _time_mpi_execute_blas3 |
| global time of execution for mpi related idle/wait tasks of blas-3 operations More... | |
| static KahanAccumulator< double > | _time_mpi_execute_collective |
| global time of execution for mpi related idle/wait tasks of collective operations (without scalar reduction) More... | |
| static KahanAccumulator< double > | _time_mpi_execute_reduction |
| global time of execution for mpi related idle/wait tasks of (scalar) reduction operations More... | |
| static KahanAccumulator< double > | _time_mpi_wait_blas2 |
| global time of wait execution for mpi related idle/wait tasks of blas2 operations More... | |
| static KahanAccumulator< double > | _time_mpi_wait_blas3 |
| global time of wait execution for mpi related idle/wait tasks of blas3 operations More... | |
| static KahanAccumulator< double > | _time_mpi_wait_collective |
| global time of wait execution for mpi related idle/wait tasks of collective operations (without scalar reduction) More... | |
| static KahanAccumulator< double > | _time_mpi_wait_reduction |
| global time of wait execution for mpi related idle/wait tasks of (scalar) reduction operations More... | |
| static KahanAccumulator< double > | _time_precon |
| global time of execution for special preconditioner kernel type operations More... | |
| static KahanAccumulator< double > | _time_reduction |
| global time of execution for reduction type operations More... | |
Statistics collection class.
The class Statistics encapsulates various hardware counters, that collects e.g. the accumulated flop count of an linear solver.
Definition at line 29 of file statistics.hpp.
Definition at line 59 of file statistics.cpp.
|
inlinestatic |
Add an amount of flops to the global flop counter.
Definition at line 206 of file statistics.hpp.
References _flops.
Referenced by FEAT::Solver::Vanka< LAFEM::SaddlePointMatrix< MatrixA_, MatrixB_, MatrixD_ >, Filter_ >::_apply_diag(), FEAT::Solver::Vanka< LAFEM::SaddlePointMatrix< MatrixA_, MatrixB_, MatrixD_ >, Filter_ >::_apply_full(), FEAT::LAFEM::DenseMatrix< DT_, IT_ >::apply(), FEAT::LAFEM::SparseMatrixBanded< DT_, IT_ >::apply(), FEAT::LAFEM::SparseMatrixBCSR< DT_, IT_, BlockHeight_, BlockWidth_ >::apply(), FEAT::LAFEM::SparseMatrixCSCR< DT_, IT_ >::apply(), FEAT::LAFEM::SparseMatrixCSR< DT_, IT_ >::apply(), FEAT::Solver::ILUPrecondWithBackend< PreferredBackend::generic, LAFEM::SparseMatrixCSR< DT_, IT_ >, Filter_ >::apply(), FEAT::Solver::ILUPrecondWithBackend< PreferredBackend::generic, LAFEM::SparseMatrixBCSR< DT_, IT_, dim_, dim_ >, Filter_ >::apply(), FEAT::LAFEM::DenseMatrix< DT_, IT_ >::apply_transposed(), FEAT::LAFEM::SparseMatrixBanded< DT_, IT_ >::apply_transposed(), FEAT::LAFEM::SparseMatrixBCSR< DT_, IT_, BlockHeight_, BlockWidth_ >::apply_transposed(), FEAT::LAFEM::SparseMatrixCSCR< DT_, IT_ >::apply_transposed(), FEAT::LAFEM::SparseMatrixCSR< DT_, IT_ >::apply_transposed(), FEAT::LAFEM::DenseMatrix< DT_, IT_ >::axpy(), FEAT::LAFEM::DenseVector< DT_, IT_ >::axpy(), FEAT::LAFEM::DenseVectorBlocked< DT_, IT_, BlockSize_ >::axpy(), FEAT::LAFEM::SparseMatrixBanded< DT_, IT_ >::axpy(), FEAT::LAFEM::SparseMatrixBCSR< DT_, IT_, BlockHeight_, BlockWidth_ >::axpy(), FEAT::LAFEM::SparseMatrixCSCR< DT_, IT_ >::axpy(), FEAT::LAFEM::SparseMatrixCSR< DT_, IT_ >::axpy(), FEAT::LAFEM::DenseVectorBlocked< DT_, IT_, BlockSize_ >::axpy_blocked(), FEAT::LAFEM::DenseVectorBlocked< DT_, IT_, BlockSize_ >::component_copy(), FEAT::LAFEM::DenseVectorBlocked< DT_, IT_, BlockSize_ >::component_copy_to(), FEAT::LAFEM::DenseVector< DT_, IT_ >::component_invert(), FEAT::LAFEM::DenseVectorBlocked< DT_, IT_, BlockSize_ >::component_invert(), FEAT::LAFEM::DenseVector< DT_, IT_ >::component_product(), FEAT::LAFEM::DenseVectorBlocked< DT_, IT_, BlockSize_ >::component_product(), FEAT::LAFEM::DenseVector< DT_, IT_ >::dot(), FEAT::LAFEM::DenseVectorBlocked< DT_, IT_, BlockSize_ >::dot(), FEAT::LAFEM::DenseVectorBlocked< DT_, IT_, BlockSize_ >::dot_blocked(), FEAT::LAFEM::DenseMatrix< DT_, IT_ >::invert(), FEAT::LAFEM::DenseMatrix< DT_, IT_ >::multiply(), FEAT::LAFEM::DenseVector< DT_, IT_ >::norm2(), FEAT::LAFEM::DenseVectorBlocked< DT_, IT_, BlockSize_ >::norm2(), FEAT::LAFEM::DenseVectorBlocked< DT_, IT_, BlockSize_ >::norm2_blocked(), FEAT::LAFEM::DenseVectorBlocked< DT_, IT_, BlockSize_ >::norm2sqr_blocked(), FEAT::LAFEM::DenseMatrix< DT_, IT_ >::norm_frobenius(), FEAT::LAFEM::SparseMatrixBanded< DT_, IT_ >::norm_frobenius(), FEAT::LAFEM::SparseMatrixBCSR< DT_, IT_, BlockHeight_, BlockWidth_ >::norm_frobenius(), FEAT::LAFEM::SparseMatrixCSCR< DT_, IT_ >::norm_frobenius(), FEAT::LAFEM::SparseMatrixCSR< DT_, IT_ >::norm_frobenius(), FEAT::LAFEM::SparseMatrixBCSR< DT_, IT_, BlockHeight_, BlockWidth_ >::row_norm2(), FEAT::LAFEM::SparseMatrixCSR< DT_, IT_ >::row_norm2(), FEAT::LAFEM::SparseMatrixBCSR< DT_, IT_, BlockHeight_, BlockWidth_ >::row_norm2sqr(), FEAT::LAFEM::SparseMatrixCSR< DT_, IT_ >::row_norm2sqr(), FEAT::LAFEM::DenseMatrix< DT_, IT_ >::scale(), FEAT::LAFEM::DenseVector< DT_, IT_ >::scale(), FEAT::LAFEM::DenseVectorBlocked< DT_, IT_, BlockSize_ >::scale(), FEAT::LAFEM::SparseMatrixBanded< DT_, IT_ >::scale(), FEAT::LAFEM::SparseMatrixBCSR< DT_, IT_, BlockHeight_, BlockWidth_ >::scale(), FEAT::LAFEM::SparseMatrixCSCR< DT_, IT_ >::scale(), FEAT::LAFEM::SparseMatrixCSR< DT_, IT_ >::scale(), FEAT::LAFEM::DenseVectorBlocked< DT_, IT_, BlockSize_ >::scale_blocked(), FEAT::LAFEM::SparseMatrixCSR< DT_, IT_ >::scale_cols(), FEAT::LAFEM::SparseMatrixBCSR< DT_, IT_, BlockHeight_, BlockWidth_ >::scale_rows(), FEAT::LAFEM::SparseMatrixCSR< DT_, IT_ >::scale_rows(), FEAT::LAFEM::DenseVector< DT_, IT_ >::triple_dot(), FEAT::LAFEM::DenseVectorBlocked< DT_, IT_, BlockSize_ >::triple_dot(), and FEAT::LAFEM::DenseVectorBlocked< DT_, IT_, BlockSize_ >::triple_dot_blocked().
|
inlinestatic |
Definition at line 340 of file statistics.hpp.
|
inlinestatic |
Definition at line 246 of file statistics.hpp.
|
inlinestatic |
Definition at line 238 of file statistics.hpp.
|
inlinestatic |
Definition at line 242 of file statistics.hpp.
|
inlinestatic |
Definition at line 258 of file statistics.hpp.
|
inlinestatic |
Definition at line 262 of file statistics.hpp.
|
inlinestatic |
Definition at line 266 of file statistics.hpp.
|
inlinestatic |
Definition at line 254 of file statistics.hpp.
|
inlinestatic |
Definition at line 274 of file statistics.hpp.
|
inlinestatic |
Definition at line 278 of file statistics.hpp.
|
inlinestatic |
Definition at line 282 of file statistics.hpp.
|
inlinestatic |
Definition at line 270 of file statistics.hpp.
|
inlinestatic |
Definition at line 250 of file statistics.hpp.
|
inlinestatic |
Definition at line 234 of file statistics.hpp.
|
static |
compress solver statistics (toe / defect norm / mpi timings) from previous calls
Definition at line 866 of file statistics.cpp.
References _formatted_solver_trees, _outer_mg_toe, _outer_schwarz_iters, _outer_schwarz_toe, _overall_toe, _solver_expressions, FEAT::Solver::end_solve, FEAT::Solver::level_timings, FEAT::Solver::start_solve, FEAT::Solver::timings, and XABORTM.
Referenced by get_formatted_solver_internals(), and get_formatted_solver_tree().
|
inlinestatic |
Retrieve current global flop counter.
Definition at line 212 of file statistics.hpp.
References _flops.
|
inlinestatic |
Retrieve formatted flops per second string.
Definition at line 218 of file statistics.hpp.
References _flops, and FEAT::stringify().
Referenced by FEAT::Control::Statistics::report().
Retrieve formatted timings and iteration counts of internal solver structures for the provided solver target.
Definition at line 558 of file statistics.cpp.
References _formatted_solver_trees, FEAT::Dist::Comm::allreduce(), compress_solver_expressions(), get_iters(), get_iters_schwarz(), get_time_mg(), get_time_mg_mpi_execute_blas2(), get_time_mg_mpi_execute_blas3(), get_time_mg_mpi_execute_collective(), get_time_mg_mpi_execute_reduction(), get_time_mg_mpi_wait_blas2(), get_time_mg_mpi_wait_blas3(), get_time_mg_mpi_wait_collective(), get_time_mg_mpi_wait_reduction(), get_time_schwarz(), get_time_toe(), FEAT::Dist::op_max, FEAT::Dist::op_min, FEAT::String::pad_back(), FEAT::stringify(), FEAT::Dist::Comm::world(), and XASSERT.
Returns a descriptive string of the complete solver tree.
Create and format a string describing the complete solver tree.
Definition at line 361 of file statistics.hpp.
References _formatted_solver_trees, and compress_solver_expressions().
Referenced by FEAT::Control::Meshopt::DuDvFunctionalControl< DT_, IT_, DomainControl_ >::info(), FEAT::Control::Meshopt::HyperelasticityFunctionalControl< DT_, IT_, DomainControl_, Hyperelasticity_ >::info(), and FEAT::Control::Statistics::report().
|
static |
Retrieve formatted time consumption overview in percent relative to some provided total time.
Definition at line 473 of file statistics.cpp.
References FEAT::Dist::Comm::allreduce(), FEAT::Dist::op_max, FEAT::Dist::op_min, FEAT::String::pad_back(), FEAT::stringify(), FEAT::KahanAccumulator< DT_ >::value, and FEAT::Dist::Comm::world().
Referenced by FEAT::Control::Statistics::report().
retrieve list of all overall solver iteration entries
Definition at line 384 of file statistics.hpp.
Referenced by get_formatted_solver_internals().
retrieve list of all outer schwarz solver call iteration count entries
Definition at line 498 of file statistics.hpp.
References _outer_schwarz_iters.
Referenced by get_formatted_solver_internals().
|
inlinestatic |
Definition at line 346 of file statistics.hpp.
|
inlinestatic |
Definition at line 299 of file statistics.hpp.
|
inlinestatic |
Definition at line 291 of file statistics.hpp.
|
inlinestatic |
Definition at line 295 of file statistics.hpp.
|
inlinestatic |
retrieve list of all overall solver toe entries per mg level
Definition at line 438 of file statistics.hpp.
References _outer_mg_toe.
Referenced by get_formatted_solver_internals().
|
inlinestatic |
retrieve list of all overall solver mpi execute blas2 toe entries per level
Definition at line 450 of file statistics.hpp.
Referenced by get_formatted_solver_internals().
|
inlinestatic |
retrieve list of all overall solver mpi execute blas3 toe entries per level
Definition at line 456 of file statistics.hpp.
Referenced by get_formatted_solver_internals().
|
inlinestatic |
retrieve list of all overall solver mpi execute collective toe entries per level
Definition at line 462 of file statistics.hpp.
Referenced by get_formatted_solver_internals().
|
inlinestatic |
retrieve list of all overall solver mpi execute reduction toe entries per level
Definition at line 444 of file statistics.hpp.
Referenced by get_formatted_solver_internals().
|
inlinestatic |
retrieve list of all overall solver mpi blas2 wait toe entries per level
Definition at line 474 of file statistics.hpp.
Referenced by get_formatted_solver_internals().
|
inlinestatic |
retrieve list of all overall solver mpi blas3 wait toe entries per level
Definition at line 480 of file statistics.hpp.
Referenced by get_formatted_solver_internals().
|
inlinestatic |
retrieve list of all overall solver mpi collective wait toe entries per level
Definition at line 486 of file statistics.hpp.
Referenced by get_formatted_solver_internals().
|
inlinestatic |
retrieve list of all overall solver mpi reduction wait toe entries per level
Definition at line 468 of file statistics.hpp.
Referenced by get_formatted_solver_internals().
|
inlinestatic |
Definition at line 311 of file statistics.hpp.
|
inlinestatic |
retrieve list of all overall solver mpi execute blas2 toe entries
Definition at line 396 of file statistics.hpp.
|
inlinestatic |
Definition at line 315 of file statistics.hpp.
|
inlinestatic |
retrieve list of all overall solver mpi execute blas3 toe entries
Definition at line 402 of file statistics.hpp.
|
inlinestatic |
Definition at line 319 of file statistics.hpp.
|
inlinestatic |
retrieve list of all overall solver mpi execute collective toe entries
Definition at line 408 of file statistics.hpp.
|
inlinestatic |
Definition at line 307 of file statistics.hpp.
|
inlinestatic |
retrieve list of all overall solver mpi execute reduction toe entries
Definition at line 390 of file statistics.hpp.
|
inlinestatic |
Definition at line 327 of file statistics.hpp.
|
inlinestatic |
retrieve list of all overall solver mpi blas2 wait toe entries
Definition at line 420 of file statistics.hpp.
|
inlinestatic |
Definition at line 331 of file statistics.hpp.
|
inlinestatic |
retrieve list of all overall solver mpi blas3 wait toe entries
Definition at line 426 of file statistics.hpp.
|
inlinestatic |
Definition at line 335 of file statistics.hpp.
|
inlinestatic |
retrieve list of all overall solver mpi collective wait toe entries
Definition at line 432 of file statistics.hpp.
|
inlinestatic |
Definition at line 323 of file statistics.hpp.
|
inlinestatic |
retrieve list of all overall solver mpi reduction wait toe entries
Definition at line 414 of file statistics.hpp.
|
inlinestatic |
Definition at line 303 of file statistics.hpp.
|
inlinestatic |
Definition at line 287 of file statistics.hpp.
|
inlinestatic |
retrieve list of all outer schwarz solver call toe entries
Definition at line 492 of file statistics.hpp.
References _outer_schwarz_toe.
Referenced by get_formatted_solver_internals().
|
inlinestatic |
retrieve list of all overall solver toe entries
Definition at line 378 of file statistics.hpp.
References _overall_toe.
Referenced by get_formatted_solver_internals().
|
static |
print out the complete solver expression list
Definition at line 355 of file statistics.cpp.
References _solver_expressions, FEAT::Solver::call_coarse_solver, FEAT::Solver::call_precond, FEAT::Solver::call_precond_l, FEAT::Solver::call_precond_r, FEAT::Solver::call_smoother, FEAT::Solver::call_uzawa_a, FEAT::Solver::call_uzawa_s, FEAT::Solver::defect, FEAT::Solver::end_solve, expression_target, FEAT::Solver::level_timings, FEAT::Solver::prol, FEAT::Solver::rest, FEAT::Solver::start_solve, FEAT::stringify(), and FEAT::Solver::timings.
|
inlinestatic |
Reset all internal counters (flops/times/solver_statistics)
Definition at line 177 of file statistics.hpp.
References _outer_mg_toe, _outer_schwarz_iters, _outer_schwarz_toe, _overall_toe, _solver_expressions, reset_flops(), and reset_times().
|
inlinestatic |
Reset global flop counter.
Definition at line 229 of file statistics.hpp.
References _flops.
Referenced by reset().
|
inlinestatic |
Reset all global timer counters.
Definition at line 514 of file statistics.hpp.
References _time_axpy, _time_blas2, _time_blas3, _time_mpi_execute_blas2, _time_mpi_execute_blas3, _time_mpi_execute_collective, _time_mpi_execute_reduction, _time_mpi_wait_blas2, _time_mpi_wait_blas3, _time_mpi_wait_collective, _time_mpi_wait_reduction, _time_precon, _time_reduction, and FEAT::KahanAccumulator< DT_ >::clear().
Referenced by reset().
global flop counter
Definition at line 34 of file statistics.hpp.
Referenced by add_flops(), get_flops(), get_formatted_flops(), and reset_flops().
mapping of solver target name to formatted solver tree string
Definition at line 79 of file statistics.hpp.
Referenced by compress_solver_expressions(), get_formatted_solver_internals(), and get_formatted_solver_tree().
|
staticprivate |
Definition at line 95 of file statistics.hpp.
|
staticprivate |
Definition at line 96 of file statistics.hpp.
|
staticprivate |
Definition at line 97 of file statistics.hpp.
|
staticprivate |
Definition at line 94 of file statistics.hpp.
|
staticprivate |
Definition at line 99 of file statistics.hpp.
|
staticprivate |
Definition at line 100 of file statistics.hpp.
|
staticprivate |
Definition at line 101 of file statistics.hpp.
|
staticprivate |
Definition at line 98 of file statistics.hpp.
|
staticprivate |
mapping of solver name to list of outer multigrid level timings. each std::vector holds a complete level hierarchy of timings.
Definition at line 93 of file statistics.hpp.
Referenced by compress_solver_expressions(), get_time_mg(), and reset().
overall iterations of outer schwarz preconditioners internal solver
Definition at line 105 of file statistics.hpp.
Referenced by compress_solver_expressions(), get_iters_schwarz(), and reset().
|
staticprivate |
overall time of outer schwarz preconditioners internal solver
Definition at line 103 of file statistics.hpp.
Referenced by compress_solver_expressions(), get_time_schwarz(), and reset().
Definition at line 83 of file statistics.hpp.
|
staticprivate |
Definition at line 85 of file statistics.hpp.
|
staticprivate |
Definition at line 86 of file statistics.hpp.
|
staticprivate |
Definition at line 87 of file statistics.hpp.
|
staticprivate |
Definition at line 84 of file statistics.hpp.
|
staticprivate |
Definition at line 89 of file statistics.hpp.
|
staticprivate |
Definition at line 90 of file statistics.hpp.
|
staticprivate |
Definition at line 91 of file statistics.hpp.
|
staticprivate |
Definition at line 88 of file statistics.hpp.
|
staticprivate |
overall time per reset call per solver name string.
Definition at line 82 of file statistics.hpp.
Referenced by compress_solver_expressions(), get_time_toe(), and reset().
|
staticprivate |
a consecutive list of all solver actions
Definition at line 76 of file statistics.hpp.
Referenced by compress_solver_expressions(), print_solver_expressions(), and reset().
|
staticprivate |
global time of execution for blas-1 type operations
Definition at line 46 of file statistics.hpp.
Referenced by reset_times().
|
staticprivate |
global time of execution for blas-2 type operations
Definition at line 40 of file statistics.hpp.
Referenced by reset_times().
|
staticprivate |
global time of execution for blas-3 type operations
Definition at line 43 of file statistics.hpp.
Referenced by reset_times().
|
staticprivate |
global time of execution for mpi related idle/wait tasks of blas-2 operations
Definition at line 55 of file statistics.hpp.
Referenced by reset_times().
|
staticprivate |
global time of execution for mpi related idle/wait tasks of blas-3 operations
Definition at line 58 of file statistics.hpp.
Referenced by reset_times().
|
staticprivate |
global time of execution for mpi related idle/wait tasks of collective operations (without scalar reduction)
Definition at line 61 of file statistics.hpp.
Referenced by reset_times().
|
staticprivate |
global time of execution for mpi related idle/wait tasks of (scalar) reduction operations
Definition at line 52 of file statistics.hpp.
Referenced by reset_times().
|
staticprivate |
global time of wait execution for mpi related idle/wait tasks of blas2 operations
Definition at line 67 of file statistics.hpp.
Referenced by reset_times().
|
staticprivate |
global time of wait execution for mpi related idle/wait tasks of blas3 operations
Definition at line 70 of file statistics.hpp.
Referenced by reset_times().
|
staticprivate |
global time of wait execution for mpi related idle/wait tasks of collective operations (without scalar reduction)
Definition at line 73 of file statistics.hpp.
Referenced by reset_times().
|
staticprivate |
global time of wait execution for mpi related idle/wait tasks of (scalar) reduction operations
Definition at line 64 of file statistics.hpp.
Referenced by reset_times().
|
staticprivate |
global time of execution for special preconditioner kernel type operations
Definition at line 49 of file statistics.hpp.
Referenced by reset_times().
|
staticprivate |
global time of execution for reduction type operations
Definition at line 37 of file statistics.hpp.
Referenced by reset_times().
|
static |
specifies whether collection of solver expressions is to be enabled
Definition at line 165 of file statistics.hpp.
|
static |
the current solver's descriptive string
Definition at line 173 of file statistics.hpp.
Referenced by FEAT::Control::Meshopt::DuDvFunctionalControl< DT_, IT_, DomainControl_ >::optimize(), FEAT::Control::Meshopt::HyperelasticityFunctionalControl< DT_, IT_, DomainControl_, Hyperelasticity_ >::optimize(), and print_solver_expressions().
|
static |
time of assembly in seconds, needs initialization
Definition at line 169 of file statistics.hpp.
Referenced by FEAT::Control::Statistics::report().
|
static |
time of partitioning in seconds, needs initialization
Definition at line 167 of file statistics.hpp.
Referenced by FEAT::Control::Domain::PartiDomainControl< DomainLevel_ >::_create(), FEAT::Control::Domain::PartiDomainControl< DomainLevel_ >::create(), FEAT::Control::Domain::VoxelDomainControl< DomainLevel_ >::create_hierarchy(), FEAT::Control::Domain::PartiDomainControl< DomainLevel_ >::create_rectilinear(), and FEAT::Control::Statistics::report().
|
static |
time of solution in seconds, needs initialization
Definition at line 171 of file statistics.hpp.
Referenced by FEAT::Control::Statistics::report().