FEAT 3
Finite Element Analysis Toolbox
Loading...
Searching...
No Matches
FEAT::Solver::IterationStats Class Reference

Helper class for iteration statistics collection. More...

#include <base.hpp>

Public Member Functions

 IterationStats (const IterationStats &)=delete
 
template<typename Vector_ >
 IterationStats (const SolverBase< Vector_ > &solver)
 Constructor. More...
 
 ~IterationStats ()
 Destructor. More...
 
void destroy ()
 destroy the objects contents (and generate Statistics::expression) before the actual destructor call More...
 
IterationStatsoperator= (const IterationStats &)=delete
 

Private Attributes

TimeStamp _at
 
bool _destroyed
 
double _mpi_execute_blas2_start
 
double _mpi_execute_blas2_stop
 
double _mpi_execute_blas3_start
 
double _mpi_execute_blas3_stop
 
double _mpi_execute_collective_start
 
double _mpi_execute_collective_stop
 
double _mpi_execute_reduction_start
 
double _mpi_execute_reduction_stop
 
double _mpi_wait_start_blas2
 
double _mpi_wait_start_blas3
 
double _mpi_wait_start_collective
 
double _mpi_wait_start_reduction
 
double _mpi_wait_stop_blas2
 
double _mpi_wait_stop_blas3
 
double _mpi_wait_stop_collective
 
double _mpi_wait_stop_reduction
 
const String _solver_name
 

Detailed Description

Helper class for iteration statistics collection.

This helper class collects timings for iterative solvers. Create an instance (object) of this class at the beginning of each iteration.

Author
Dirk Ribbrock
Peter Zajac

Definition at line 391 of file base.hpp.

Constructor & Destructor Documentation

◆ IterationStats()

template<typename Vector_ >
FEAT::Solver::IterationStats::IterationStats ( const SolverBase< Vector_ > &  solver)
inlineexplicit

Constructor.

This constructor is called at the beginning of each iteration of an iterative solver.

Parameters
[in]solverThe iterative solver object that is to benchmarked.

Definition at line 425 of file base.hpp.

◆ ~IterationStats()

FEAT::Solver::IterationStats::~IterationStats ( )
inline

Destructor.

This is called at the end of each iteration. This function computes the iteration runtimes and commits them to the Statistics collection system.

Definition at line 457 of file base.hpp.

References destroy().

Member Function Documentation

◆ destroy()

Member Data Documentation

◆ _at

TimeStamp FEAT::Solver::IterationStats::_at
private

Definition at line 395 of file base.hpp.

◆ _destroyed

bool FEAT::Solver::IterationStats::_destroyed
private

Definition at line 412 of file base.hpp.

◆ _mpi_execute_blas2_start

double FEAT::Solver::IterationStats::_mpi_execute_blas2_start
private

Definition at line 398 of file base.hpp.

◆ _mpi_execute_blas2_stop

double FEAT::Solver::IterationStats::_mpi_execute_blas2_stop
private

Definition at line 399 of file base.hpp.

◆ _mpi_execute_blas3_start

double FEAT::Solver::IterationStats::_mpi_execute_blas3_start
private

Definition at line 400 of file base.hpp.

◆ _mpi_execute_blas3_stop

double FEAT::Solver::IterationStats::_mpi_execute_blas3_stop
private

Definition at line 401 of file base.hpp.

◆ _mpi_execute_collective_start

double FEAT::Solver::IterationStats::_mpi_execute_collective_start
private

Definition at line 402 of file base.hpp.

◆ _mpi_execute_collective_stop

double FEAT::Solver::IterationStats::_mpi_execute_collective_stop
private

Definition at line 403 of file base.hpp.

◆ _mpi_execute_reduction_start

double FEAT::Solver::IterationStats::_mpi_execute_reduction_start
private

Definition at line 396 of file base.hpp.

◆ _mpi_execute_reduction_stop

double FEAT::Solver::IterationStats::_mpi_execute_reduction_stop
private

Definition at line 397 of file base.hpp.

◆ _mpi_wait_start_blas2

double FEAT::Solver::IterationStats::_mpi_wait_start_blas2
private

Definition at line 405 of file base.hpp.

◆ _mpi_wait_start_blas3

double FEAT::Solver::IterationStats::_mpi_wait_start_blas3
private

Definition at line 406 of file base.hpp.

◆ _mpi_wait_start_collective

double FEAT::Solver::IterationStats::_mpi_wait_start_collective
private

Definition at line 407 of file base.hpp.

◆ _mpi_wait_start_reduction

double FEAT::Solver::IterationStats::_mpi_wait_start_reduction
private

Definition at line 404 of file base.hpp.

◆ _mpi_wait_stop_blas2

double FEAT::Solver::IterationStats::_mpi_wait_stop_blas2
private

Definition at line 409 of file base.hpp.

◆ _mpi_wait_stop_blas3

double FEAT::Solver::IterationStats::_mpi_wait_stop_blas3
private

Definition at line 410 of file base.hpp.

◆ _mpi_wait_stop_collective

double FEAT::Solver::IterationStats::_mpi_wait_stop_collective
private

Definition at line 411 of file base.hpp.

◆ _mpi_wait_stop_reduction

double FEAT::Solver::IterationStats::_mpi_wait_stop_reduction
private

Definition at line 408 of file base.hpp.

◆ _solver_name

const String FEAT::Solver::IterationStats::_solver_name
private

Definition at line 394 of file base.hpp.


The documentation for this class was generated from the following file: