atl_timer_module Module

This module provides a convenient way to setup timers in the code.

To define a new one, declare an integer module variable here, and add a tem_timer_module::TEM_addTimer statement for it in the ATL_addTimers routine with a label for identification. Then use this module in the relevant code part and call tem_timer_module::TEM_startTimer and tem_timer_module::TEM_stopTimer by passing in this integer.

Upon finishing execution, Ateles will then print the measured time, for this code block into timing.res. ***********!

***********!

***********!


Uses

  • module~~atl_timer_module~~UsesGraph module~atl_timer_module atl_timer_module module~tem_revision_module tem_revision_module module~atl_timer_module->module~tem_revision_module module~tem_logging_module tem_logging_module module~atl_timer_module->module~tem_logging_module module~tem_timer_module tem_timer_module module~atl_timer_module->module~tem_timer_module module~tem_general_module tem_general_module module~atl_timer_module->module~tem_general_module module~treelmesh_module treelmesh_module module~atl_timer_module->module~treelmesh_module module~env_module env_module module~atl_timer_module->module~env_module

Used by

  • module~~atl_timer_module~~UsedByGraph module~atl_timer_module atl_timer_module module~atl_operator_module atl_operator_module module~atl_operator_module->module~atl_timer_module module~atl_restart_module atl_restart_module module~atl_restart_module->module~atl_timer_module module~atl_modg_multilevel_module atl_modg_multilevel_module module~atl_modg_multilevel_module->module~atl_timer_module module~atl_compute_module atl_compute_module module~atl_compute_module->module~atl_timer_module module~atl_modg_2d_bnd_module atl_modg_2d_bnd_module module~atl_modg_2d_bnd_module->module~atl_timer_module module~atl_modg_2d_euler_kernel_module atl_modg_2d_euler_kernel_module module~atl_modg_2d_euler_kernel_module->module~atl_timer_module program~ateles ateles program~ateles->module~atl_timer_module module~atl_program_module atl_program_module module~atl_program_module->module~atl_timer_module module~atl_materialini_module atl_materialIni_module module~atl_materialini_module->module~atl_timer_module module~atl_stabilize_module atl_stabilize_module module~atl_stabilize_module->module~atl_timer_module module~atl_ssprk2_module atl_ssprk2_module module~atl_ssprk2_module->module~atl_timer_module module~atl_compute_local_module atl_compute_local_module module~atl_compute_local_module->module~atl_timer_module module~atl_modg_bnd_module atl_modg_bnd_module module~atl_modg_bnd_module->module~atl_timer_module module~atl_weights_module atl_weights_module module~atl_weights_module->module~atl_timer_module module~atl_precice_module atl_precice_module module~atl_precice_module->module~atl_timer_module module~atl_varsys_module atl_varSys_module module~atl_varsys_module->module~atl_timer_module program~atl_harvesting atl_harvesting program~atl_harvesting->module~atl_timer_module module~atl_modg_2d_multilevel_module atl_modg_2d_multilevel_module module~atl_modg_2d_multilevel_module->module~atl_timer_module

Contents


Variables

TypeVisibilityAttributesNameInitial
type(atl_timer_handle_type), public, save:: atl_timerHandles
type(tem_timer_type), public, save:: atl_elemTimers
type(tem_timer_type), public, save:: atl_cpl_elemTimers

Derived Types

type, public :: atl_timer_handle_type

Handles for timer objects to measure the time for some code parts

Components

TypeVisibilityAttributesNameInitial
integer, private :: init
integer, private :: preciceInit
integer, private :: simLoop
integer, private :: commState
integer, private :: wRestart
integer, private :: preprocessKernel
integer, private :: projectToFace
integer, private :: setBnd
integer, private :: invMassMatrix
integer, private :: numFlux
integer, private :: physFlux
integer, private :: pF_initStateDer
integer, private :: pF_projConv
integer, private :: pF_pen
integer, private :: pF_eval
integer, private :: pF_projectTestFunc
integer, private :: projectTestFunc
integer, private :: stabalize
integer, private :: updateBackground
integer, private :: get_timestep
integer, private :: TimeStepInfo
integer, private :: convergeCheck
integer, private :: checkVal
integer, private :: preciceAdv
integer, private :: readBC
integer, private :: varElem
integer, private :: constElem
integer, private :: gradient
integer, private :: preciceWrite
integer, private :: first =0

Set first timer handle in ateles

integer, private :: last =-1

Set last timer handle in ateles


Functions

public function atl_get_timerHandles() result(timerHandles)

This function returns local modular variable atl_timerHandles to apesmate

Arguments

None

Return Value type(atl_timer_handle_type)

public function atl_get_cpl_elemTimers() result(elemTimers)

This function returns local modular variable atl_elemTimers to apesmate

Arguments

None

Return Value type(tem_timer_type)

public function atl_get_elemTimers() result(elemTimers)

This function returns local modular variable atl_elemTimers to apesmate

Arguments

None

Return Value type(tem_timer_type)


Subroutines

public subroutine atl_addTimers()

Setup timers to assess the runtime of various parts of Ateles.

Read more…

Arguments

None

public subroutine atl_resetTimers()

Arguments

None

public subroutine atl_addTimers_perElem(tree)

Setup timers to assess the runtime of various parts of Ateles.

Arguments

TypeIntentOptionalAttributesName
type(treelmesh_type), intent(in) :: tree

Mesh data in treelmesh format.

public subroutine atl_set_cpl_elemTimers(elemTimers)

This routine sets elementTimers passed by apesmate

Arguments

TypeIntentOptionalAttributesName
type(tem_timer_type), intent(in) :: elemTimers

public subroutine atl_set_timerHandles(timerHandles)

This routine sets atl_timerHandles passed by apesmate

Arguments

TypeIntentOptionalAttributesName
type(atl_timer_handle_type), intent(in) :: timerHandles

public subroutine atl_set_elemTimers(elemTimers)

This routine sets elementTimers passed by apesmate

Arguments

TypeIntentOptionalAttributesName
type(tem_timer_type), intent(in) :: elemTimers

public subroutine atl_dumptimers(general, nElems, nDofs, nVars)

Performance results are written to a file for statistical review The file-format is simple can be evaluated with gnuplot

Read more…

Arguments

TypeIntentOptionalAttributesName
type(tem_general_type), intent(in) :: general

Parameters of the current simulation

integer(kind=long_k), intent(in) :: nElems
integer, intent(in) :: nDofs

The number of degrees of freedom per element per scalar variable

integer, intent(in) :: nVars

The number of scalar variables