perf_m Module

Profiling


Uses

  • module~~perf_m~~UsesGraph module~perf_m perf_m module~comm_handling_m comm_handling_m module~perf_m->module~comm_handling_m module~precision_m precision_m module~perf_m->module~precision_m module~screen_io_m screen_io_m module~perf_m->module~screen_io_m mpi mpi module~perf_m->mpi module~comm_handling_m->mpi module~precision_m->mpi iso_c_binding iso_c_binding module~precision_m->iso_c_binding iso_fortran_env iso_fortran_env module~precision_m->iso_fortran_env netcdf netcdf module~precision_m->netcdf module~screen_io_m->module~precision_m module~screen_io_m->iso_fortran_env module~screen_io_m->netcdf

Used by

  • module~~perf_m~~UsedByGraph module~perf_m perf_m program~benchmark_helmholtz_solvers benchmark_helmholtz_solvers program~benchmark_helmholtz_solvers->module~perf_m program~test_diffusion test_diffusion program~test_diffusion->module~perf_m

Variables

Type Visibility Attributes Name Initial
integer, public :: nperf = 0

Number of profiling sections


Functions

public function perf_get_time_last(nm)

Returns time [s] spent in last profiling section

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: nm

Name of profiling section

Return Value real(kind=dp)


Subroutines

public subroutine perf_reset(nm)

Resets profiling (if nm is not present, all profiling sections are reset)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in), optional :: nm

Name of profiling section that shall be reset

public subroutine perf_start(nm)

Starts profiling

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: nm

Name of profiling section

public subroutine perf_stop(nm)

Starts profiling

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: nm

Name of profiling section

public subroutine perf_print(nm, nm_ref, comm)

Prints profiling statistics to screen

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in), optional :: nm

Name of profiling section that shall be printed, if not present all available profiling sections are printed

character(len=*), intent(in), optional :: nm_ref

Name of profiling section that is a reference section, if not present, section with maximum time is chosen as reference

integer, intent(in), optional :: comm

Prints profiling evaluated over processes in comm if not present only statistics for master is performed