OPALX (Object Oriented Parallel Accelerator Library for Exascale) MINIorX
OPALX
IpplTimings Class Reference

#include <IpplTimings.h>

Collaboration diagram for IpplTimings:
Collaboration graph

Public Types

typedef Timing::TimerRef TimerRef
 
typedef Timing::TimerInfo TimerInfo
 

Static Public Member Functions

static TimerRef getTimer (const char *nm)
 
static void startTimer (TimerRef t)
 
static void stopTimer (TimerRef t)
 
static void clearTimer (TimerRef t)
 
static TimerInfoinfoTimer (const char *nm)
 
static void print ()
 
static void print (std::string fn, const std::map< std::string, unsigned int > &problemSize=std::map< std::string, unsigned int >())
 
static void stash ()
 
static void pop ()
 

Private Types

typedef Timing::TimerList_t TimerList_t
 
typedef Timing::TimerMap_t TimerMap_t
 

Private Member Functions

 IpplTimings ()
 
 ~IpplTimings ()
 

Static Private Attributes

static Timinginstance = new Timing()
 
static std::stack< Timing * > stashedInstance
 

Detailed Description

Definition at line 141 of file IpplTimings.h.

Member Typedef Documentation

◆ TimerInfo

Definition at line 147 of file IpplTimings.h.

◆ TimerList_t

Definition at line 178 of file IpplTimings.h.

◆ TimerMap_t

Definition at line 179 of file IpplTimings.h.

◆ TimerRef

Definition at line 144 of file IpplTimings.h.

Constructor & Destructor Documentation

◆ IpplTimings()

IpplTimings::IpplTimings ( )
private

Definition at line 219 of file IpplTimings.cpp.

◆ ~IpplTimings()

IpplTimings::~IpplTimings ( )
private

Definition at line 220 of file IpplTimings.cpp.

Member Function Documentation

◆ clearTimer()

static void IpplTimings::clearTimer ( TimerRef  t)
inlinestatic

Definition at line 159 of file IpplTimings.h.

References Timing::clearTimer(), and instance.

Here is the call graph for this function:

◆ getTimer()

static TimerRef IpplTimings::getTimer ( const char *  nm)
inlinestatic

Definition at line 150 of file IpplTimings.h.

References Timing::getTimer(), and instance.

Referenced by ippl::assemble_rhs_from_particles(), ippl::OrthogonalRecursiveBisection< Field, Tp >::binaryRepartition(), BoundaryGeometry::BoundaryGeometry(), ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::buildCells(), ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::createPeriodicGhostParticles(), ippl::NedelecSpace< T, Dim, Order, ElementType, QuadratureType, FieldType >::evaluateAx(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateAx(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateAx_diag(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateAx_inversediag(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateAx_lower(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateAx_upper(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateAx_upperlower(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateLoadVector(), BoundaryGeometry::execute(), TrackRun::execute(), ippl::FEMPoissonSolver< FieldLHS, FieldRHS, Order, QuadNumNodes >::FEMPoissonSolver(), ippl::FieldLayout< Dim >::findNeighbors(), ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::forEachPair(), ippl::ParticleAttrib< T, Properties >::gather(), Gaussian::Gaussian(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::greensFunction(), DataSink::init(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::initializeFields(), ParticleBinning::AdaptBins< BunchType, BinningSelector >::initTimers(), ParticleBinning::Histogram< size_type, bin_index_type, value_type, UseDualView, Properties >::initTimers(), ippl::interpolate_to_diracs(), ippl::ParticleSpatialLayout< T, Dim, Mesh, PositionProperties >::locateParticles(), ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::locateParticles(), main(), MultiVariateGaussian::MultiVariateGaussian(), ippl::ssor_preconditioner< Field, LowerF, UpperF, InvDiagF, DiagF >::operator()(), PartBunch< PLayout, T, Dim >::PartBunch(), ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::particleExchange(), ippl::PreconditionedFEMPoissonSolver< FieldLHS, FieldRHS >::PreconditionedFEMPoissonSolver(), PartBunch< PLayout, T, Dim >::scatterCIC(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::setRhs(), PartBunch< PLayout, T, Dim >::setup(), ippl::TruncatedGreenParticleInteraction< ParticleContainer, VectorAttribute, ScalarAttribute >::solve(), ippl::FEMPoissonSolver< FieldLHS, FieldRHS, Order, QuadNumNodes >::solve(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::solve(), ippl::PreconditionedFEMPoissonSolver< FieldLHS, FieldRHS >::solve(), ippl::ParticleSpatialLayout< T, Dim, Mesh, PositionProperties >::update(), PartBunch< PLayout, T, Dim >::updateLayout(), and LoadBalancer< T, Dim >::updateLayout().

Here is the call graph for this function:

◆ infoTimer()

static TimerInfo * IpplTimings::infoTimer ( const char *  nm)
inlinestatic

Definition at line 162 of file IpplTimings.h.

References Timing::infoTimer(), and instance.

Here is the call graph for this function:

◆ pop()

void IpplTimings::pop ( )
static

Definition at line 229 of file IpplTimings.cpp.

References instance, PAssert_GT, and stashedInstance.

◆ print() [1/2]

static void IpplTimings::print ( )
inlinestatic

Definition at line 165 of file IpplTimings.h.

References instance, and Timing::print().

Referenced by main().

Here is the call graph for this function:

◆ print() [2/2]

static void IpplTimings::print ( std::string  fn,
const std::map< std::string, unsigned int > &  problemSize = std::map<std::string, unsigned int>() 
)
inlinestatic

Definition at line 168 of file IpplTimings.h.

References instance, and Timing::print().

Here is the call graph for this function:

◆ startTimer()

static void IpplTimings::startTimer ( TimerRef  t)
inlinestatic

Definition at line 153 of file IpplTimings.h.

References instance, and Timing::startTimer().

Referenced by ParallelTracker::applyPluginElements(), ippl::assemble_rhs_from_particles(), ippl::OrthogonalRecursiveBisection< Field, Tp >::binaryRepartition(), ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::buildCells(), ParallelTracker::computeExternalFields(), ParticleBinning::Histogram< size_type, bin_index_type, value_type, UseDualView, Properties >::copyBinWidths(), ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::createPeriodicGhostParticles(), DataSink::dumpSDDS(), ippl::NedelecSpace< T, Dim, Order, ElementType, QuadratureType, FieldType >::evaluateAx(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateAx(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateAx_diag(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateAx_inversediag(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateAx_lower(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateAx_upper(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateAx_upperlower(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateLoadVector(), ParallelTracker::execute(), TrackRun::execute(), BoundaryGeometry::fastIsInside(), ippl::FEMPoissonSolver< FieldLHS, FieldRHS, Order, QuadNumNodes >::FEMPoissonSolver(), ippl::FieldLayout< Dim >::findNeighbors(), ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::forEachPair(), Gaussian::generateParticles(), MultiVariateGaussian::generateParticles(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::greensFunction(), ParticleBinning::Histogram< size_type, bin_index_type, value_type, UseDualView, Properties >::initConstBinWidths(), BoundaryGeometry::initialize(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::initializeFields(), ParticleBinning::Histogram< size_type, bin_index_type, value_type, UseDualView, Properties >::initPostSum(), ippl::interpolate_to_diracs(), BoundaryGeometry::intersectRayBoundary(), ippl::ParticleSpatialLayout< T, Dim, Mesh, PositionProperties >::locateParticles(), ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::locateParticles(), main(), ippl::ssor_preconditioner< Field, LowerF, UpperF, InvDiagF, DiagF >::operator()(), PartBunch< PLayout, T, Dim >::PartBunch(), ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::particleExchange(), BoundaryGeometry::partInside(), ippl::PreconditionedFEMPoissonSolver< FieldLHS, FieldRHS >::PreconditionedFEMPoissonSolver(), PartBunch< PLayout, T, Dim >::scatterCIC(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::setRhs(), ippl::TruncatedGreenParticleInteraction< ParticleContainer, VectorAttribute, ScalarAttribute >::solve(), ippl::FEMPoissonSolver< FieldLHS, FieldRHS, Order, QuadNumNodes >::solve(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::solve(), ippl::PreconditionedFEMPoissonSolver< FieldLHS, FieldRHS >::solve(), ParticleBinning::Histogram< size_type, bin_index_type, value_type, UseDualView, Properties >::sync(), ParallelTracker::timeIntegration1(), ParallelTracker::timeIntegration2(), ippl::ParticleSpatialLayout< T, Dim, Mesh, PositionProperties >::update(), PartBunch< PLayout, T, Dim >::updateLayout(), LoadBalancer< T, Dim >::updateLayout(), and H5Writer::writePhaseSpace().

Here is the call graph for this function:

◆ stash()

void IpplTimings::stash ( )
static

Definition at line 222 of file IpplTimings.cpp.

References instance, PAssert_EQ, and stashedInstance.

◆ stopTimer()

static void IpplTimings::stopTimer ( TimerRef  t)
inlinestatic

Definition at line 156 of file IpplTimings.h.

References instance, and Timing::stopTimer().

Referenced by ParallelTracker::applyPluginElements(), ippl::assemble_rhs_from_particles(), ippl::OrthogonalRecursiveBisection< Field, Tp >::binaryRepartition(), ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::buildCells(), ParallelTracker::computeExternalFields(), ParticleBinning::Histogram< size_type, bin_index_type, value_type, UseDualView, Properties >::copyBinWidths(), ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::createPeriodicGhostParticles(), ParallelTracker::doBinaryRepartition(), DataSink::dumpSDDS(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateAx(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateAx_diag(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateAx_inversediag(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateAx_lower(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateAx_upper(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateAx_upperlower(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateLoadVector(), ParallelTracker::execute(), TrackRun::execute(), BoundaryGeometry::fastIsInside(), ippl::FEMPoissonSolver< FieldLHS, FieldRHS, Order, QuadNumNodes >::FEMPoissonSolver(), ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::forEachPair(), Gaussian::generateParticles(), MultiVariateGaussian::generateParticles(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::greensFunction(), ParticleBinning::Histogram< size_type, bin_index_type, value_type, UseDualView, Properties >::initConstBinWidths(), BoundaryGeometry::initialize(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::initializeFields(), ParticleBinning::Histogram< size_type, bin_index_type, value_type, UseDualView, Properties >::initPostSum(), BoundaryGeometry::intersectRayBoundary(), ippl::ParticleSpatialLayout< T, Dim, Mesh, PositionProperties >::locateParticles(), ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::locateParticles(), main(), ippl::ssor_preconditioner< Field, LowerF, UpperF, InvDiagF, DiagF >::operator()(), PartBunch< PLayout, T, Dim >::PartBunch(), ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::particleExchange(), BoundaryGeometry::partInside(), ippl::PreconditionedFEMPoissonSolver< FieldLHS, FieldRHS >::PreconditionedFEMPoissonSolver(), PartBunch< PLayout, T, Dim >::scatterCIC(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::setRhs(), ippl::TruncatedGreenParticleInteraction< ParticleContainer, VectorAttribute, ScalarAttribute >::solve(), ippl::FEMPoissonSolver< FieldLHS, FieldRHS, Order, QuadNumNodes >::solve(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::solve(), ippl::PreconditionedFEMPoissonSolver< FieldLHS, FieldRHS >::solve(), ParticleBinning::Histogram< size_type, bin_index_type, value_type, UseDualView, Properties >::sync(), ParallelTracker::timeIntegration1(), ParallelTracker::timeIntegration2(), ippl::ParticleSpatialLayout< T, Dim, Mesh, PositionProperties >::update(), PartBunch< PLayout, T, Dim >::updateLayout(), LoadBalancer< T, Dim >::updateLayout(), and H5Writer::writePhaseSpace().

Here is the call graph for this function:

Member Data Documentation

◆ instance

Timing * IpplTimings::instance = new Timing()
staticprivate

Definition at line 187 of file IpplTimings.h.

Referenced by clearTimer(), getTimer(), infoTimer(), pop(), print(), startTimer(), stash(), and stopTimer().

◆ stashedInstance

std::stack< Timing * > IpplTimings::stashedInstance
staticprivate

Definition at line 188 of file IpplTimings.h.

Referenced by pop(), and stash().


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