LightKrylov_Timing Module



Variables

Type Visibility Attributes Name Initial
type(lightkrylov_watch), public :: global_lightkrylov_timer

Derived Types

type, public, extends(abstract_watch) ::  lightkrylov_watch

Global timing structure to contain all timers within Lightkrylov

Type-Bound Procedures

procedure, public, pass(self) :: add_group

Add new timer group to the watch.

procedure, public, pass(self) :: add_timer

Add new timer to the watch.

procedure, public, pass(self) :: enumerate

Print summary of registered timers and their current status.

procedure, public, pass(self) :: finalize

Gather timing information and print it to screen/logfile.

procedure, public, pass(self) :: get_data => get_timer_data_by_name
procedure, public, pass(self) :: get_group_id
procedure, public, pass(self) :: get_time => get_timer_etime_by_name
procedure, public, pass(self) :: get_timer_id
procedure, public, pass(self) :: initialize

Set up private timers, flags and counters. Switch on timing.

procedure, public, pass(self) :: pause => pause_timer_by_name
procedure, public, pass(self) :: print_info => print_timer_info_by_name
procedure, public, pass(self) :: remove_timer

Remove existing timer from the watch.

procedure, public, pass(self) :: reset => reset_timer_by_name
procedure, public, pass(self) :: reset_all

Reset all timers in watch.

procedure, public, pass(self) :: set_private_timers_and_name => set_lightkrylov_timers
procedure, public, pass(self) :: set_watch_name
procedure, public, pass(self) :: start => start_timer_by_name
procedure, public, pass(self) :: stop => stop_timer_by_name

Functions

public function time_lightkrylov() result(if_time_lightkrylov)

Arguments

None

Return Value logical