ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation. |
This is the abstract
base derived type that serves as a simple container template for other timer classes in the ParaMonte library.
More...
Public Member Functions | |
procedure(getTime_proc), deferred, nopass | time |
See getTime_proc. More... | |
procedure(setIdle_proc), deferred, nopass | wait |
See setIdle_proc. More... | |
type(timerMPI_type) type(timerOMP_type) type(timerSYS_type) function | timer_typer () |
This is the constructor of the timer_type class. More... | |
Public Attributes | |
real(RKD) | start |
The protected scalar real of kind double precision RKD provided as a convenience for the user to contain the start time of the timer since the processor epoch (a processor-dependent past time) in seconds.More... | |
real(RKD) | clock |
The scalar real of kind double precision RKD provided as a convenience for the user to contain the total time in seconds elapsed since the start of the timer.The clock time can be readily can be computed as timer%clock = timer%time(since = timer%start) .More... | |
real(RKD) | delta |
The scalar real of kind double precision RKD provided as a convenience for the user to contain the delta time in seconds since the last timing (last timer call).The delta time can be readily can be computed as timer%delta = timer%time(since = timer%start) - timer%clock where timer%clock is the last clock read as timer%clock = timer%time(since = timer%start) .More... | |
real(RKD) | resol |
The protected scalar real of kind double precision RKD provided as a convenience for the user to contain the time in seconds between the timer clock tics.More... | |
This is the abstract
base derived type that serves as a simple container template for other timer classes in the ParaMonte library.
Timer classes derived from based on this abstract
type minimally contain components to store,
See the documentation of timer_typer for the non-default class constructor interface for this type.
See also the documentation details of pm_timer.
Possible calling interfaces ⛓
Example usage ⛓
ifort
compiler ⛓ ifort
compiler ⛓ gfortran
compiler ⛓ start
component of this derived type must become protected
as soon as Fortran 2023 is supported by the compilers.
Final Remarks ⛓
If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.
This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.
Definition at line 212 of file pm_timer.F90.
procedure(getTime_proc), deferred, nopass pm_timer::timer_type::time |
See getTime_proc.
Implemented in pm_timer::timerCPU_type, pm_timer::timerDAT_type, pm_timer::timerMPI_type, pm_timer::timerOMP_type, and pm_timer::timerSYS_type.
Definition at line 222 of file pm_timer.F90.
type(timerMPI_type) type(timerOMP_type) type(timerSYS_type) function pm_timer::timer_type::timer_typer |
This is the constructor of the timer_type class.
Upon return, the constructor initializes all components of the timer object.
See also the documentation details of pm_timer.
timer
: The output scalar object of class timer_type.MPI_ENABLED
defined. OMP_ENABLED
defined.
Possible calling interfaces ⛓
Final Remarks ⛓
If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.
This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.
Definition at line 556 of file pm_timer.F90.
procedure(setIdle_proc), deferred, nopass pm_timer::timer_type::wait |
See setIdle_proc.
Implemented in pm_timer::timerCPU_type, pm_timer::timerDAT_type, pm_timer::timerMPI_type, pm_timer::timerOMP_type, and pm_timer::timerSYS_type.
Definition at line 223 of file pm_timer.F90.
real(RKD) pm_timer::timer_type::clock |
The scalar real
of kind double precision
RKD provided as a convenience for the user to contain the total time in seconds elapsed since the start of the timer.
The clock time can be readily can be computed as timer%clock = timer%time(since = timer%start)
.
Definition at line 215 of file pm_timer.F90.
real(RKD) pm_timer::timer_type::delta |
The scalar real
of kind double precision
RKD provided as a convenience for the user to contain the delta time in seconds since the last timing (last timer call).
The delta time can be readily can be computed as timer%delta = timer%time(since = timer%start) - timer%clock
where timer%clock
is the last clock read as timer%clock = timer%time(since = timer%start)
.
Definition at line 217 of file pm_timer.F90.
real(RKD) pm_timer::timer_type::resol |
The protected
scalar real
of kind double precision
RKD provided as a convenience for the user to contain the time in seconds between the timer clock tics.
timer = timer_type()
) to appropriately set the object resol
component to the clock time resolution.Definition at line 219 of file pm_timer.F90.
real(RKD) pm_timer::timer_type::start |
The protected
scalar real
of kind double precision
RKD provided as a convenience for the user to contain the start time of the timer since the processor epoch (a processor-dependent past time) in seconds.
timer = timer_type()
) to appropriately set the object start
component to the processor epoch.Definition at line 213 of file pm_timer.F90.