timing_neci Module



Contents


Variables

Type Visibility Attributes Name Initial
logical, public :: time_at_all = .true.
integer, private, parameter :: ntimer = 200
integer, private :: itimer = 0
type(timer_object), private, allocatable, target :: timers(:)
real(kind=dp), private :: global_time = 0.0_dp
logical, private :: global_timing_on = .false.
logical, private :: timer_error = .false.

Derived Types

type, public ::  timer

Components

Type Visibility Attributes Name Initial
character(len=25), public :: timer_name = ''
type(timer_object), public, pointer :: store => null()
logical, public :: time = .true.

type, private ::  timer_object

Components

Type Visibility Attributes Name Initial
character(len=25), public :: timer_name
integer, public :: ncalls = 0
real(kind=dp), public :: time_cpu = 0.0_dp
real(kind=dp), public :: sum_time_cpu = 0.0_dp
logical, public :: timing_on = .false.

Functions

public function get_total_time(proc_timer, t_elapsed)

Arguments

Type IntentOptional Attributes Name
type(timer) :: proc_timer
logical, optional :: t_elapsed

Return Value real(kind=dp)


Subroutines

public subroutine init_timing()

Arguments

None

public subroutine end_timing()

Arguments

None

public subroutine set_timer(proc_timer, obj_level)

Arguments

Type IntentOptional Attributes Name
type(timer) :: proc_timer
integer, intent(in), optional :: obj_level

public subroutine halt_timer(proc_timer)

Arguments

Type IntentOptional Attributes Name
type(timer), intent(inout) :: proc_timer

public subroutine print_timing_report(ntimer_objects, iunit)

Arguments

Type IntentOptional Attributes Name
integer, intent(in), optional :: ntimer_objects
integer, intent(in), optional :: iunit