MAPL_DistributedMeter Module


Uses

  • module~~mapl_distributedmeter~~UsesGraph module~mapl_distributedmeter MAPL_DistributedMeter iso_fortran_env iso_fortran_env module~mapl_distributedmeter->iso_fortran_env module~mapl_abstractgauge MAPL_AbstractGauge module~mapl_distributedmeter->module~mapl_abstractgauge module~mapl_abstractmeter MAPL_AbstractMeter module~mapl_distributedmeter->module~mapl_abstractmeter module~mapl_advancedmeter MAPL_AdvancedMeter module~mapl_distributedmeter->module~mapl_advancedmeter module~mapl_errorhandlingmod MAPL_ErrorHandlingMod module~mapl_distributedmeter->module~mapl_errorhandlingmod mpi mpi module~mapl_distributedmeter->mpi module~mapl_abstractgauge->iso_fortran_env module~mapl_abstractgauge->module~mapl_abstractmeter module~mapl_abstractmeter->iso_fortran_env module~mapl_abstractmeter->module~mapl_errorhandlingmod module~mapl_advancedmeter->iso_fortran_env module~mapl_advancedmeter->module~mapl_abstractgauge module~mapl_advancedmeter->module~mapl_abstractmeter module~mapl_errorhandlingmod->mpi module~mapl_throwmod MAPL_ThrowMod module~mapl_errorhandlingmod->module~mapl_throwmod

Used by

  • module~~mapl_distributedmeter~~UsedByGraph module~mapl_distributedmeter MAPL_DistributedMeter module~mapl_abstractcolumn MAPL_AbstractColumn module~mapl_abstractcolumn->module~mapl_distributedmeter module~mapl_distributedprofiler MAPL_DistributedProfiler module~mapl_distributedprofiler->module~mapl_distributedmeter module~mapl_exclusivecolumn MAPL_ExclusiveColumn module~mapl_exclusivecolumn->module~mapl_distributedmeter module~mapl_inclusivecolumn MAPL_InclusiveColumn module~mapl_inclusivecolumn->module~mapl_distributedmeter module~mapl_maxcyclecolumn MAPL_MaxCycleColumn module~mapl_maxcyclecolumn->module~mapl_distributedmeter module~mapl_meancyclecolumn MAPL_MeanCycleColumn module~mapl_meancyclecolumn->module~mapl_distributedmeter module~mapl_mincyclecolumn MAPL_MinCycleColumn module~mapl_mincyclecolumn->module~mapl_distributedmeter module~mapl_profiler mapl_Profiler module~mapl_profiler->module~mapl_distributedmeter module~mapl_simplecolumn MAPL_SimpleColumn module~mapl_simplecolumn->module~mapl_distributedmeter module~mapl_stddevcolumn MAPL_StdDevColumn module~mapl_stddevcolumn->module~mapl_distributedmeter

Interfaces

public interface DistributedInteger

  • private function new_DistributedInteger(value, rank) result(distributed_integer)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: value
    integer, intent(in) :: rank

    Return Value type(DistributedInteger)

public interface DistributedMeter

  • private function new_DistributedMeter(gauge) result(distributed_meter)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractGauge), intent(in) :: gauge

    Return Value type(DistributedMeter)

public interface DistributedReal64

  • private function new_DistributedReal64(value, rank) result(distributed_real64)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=REAL64), intent(in) :: value
    integer, intent(in) :: rank

    Return Value type(DistributedReal64)

public interface operator(.reduce.)


Derived Types

type, public, sequence  ::  DistributedInteger

Components

Type Visibility Attributes Name Initial
integer, public :: max
integer, public :: max_pe = -1
integer, public :: min
integer, public :: min_pe = huge(1)
integer, public :: num_pes = 1
integer, public :: total = 0

Constructor

private function new_DistributedInteger (value, rank)

type, public, extends(AdvancedMeter) ::  DistributedMeter

Constructor

private function new_DistributedMeter (gauge)

Type-Bound Procedures

procedure, public :: accumulate
procedure, public :: add_cycle
procedure, public :: finalize
procedure, public :: get_max_cycle
procedure, public :: get_mean_cycle
procedure, public :: get_min_cycle
procedure, public :: get_num_cycles
procedure, public :: get_overhead
procedure, public :: get_relative_deviation
procedure, public :: get_standard_deviation
procedure, public :: get_statistics
procedure, public :: get_stats_max_cycle
procedure, public :: get_stats_min_cycle
procedure, public :: get_stats_num_cycles ../../

$ procedure :: get_stats_sum_square_deviation

procedure, public :: get_stats_total
procedure, public :: get_status
procedure, public :: get_sum_square_deviation
procedure, public :: get_total
procedure, public :: is_active
generic, public :: make_mpi_type => make_mpi_type_distributed_data
generic, public :: make_mpi_type => make_mpi_type_distributed_real64
generic, public :: make_mpi_type => make_mpi_type_distributed_integer
procedure, public :: make_mpi_type_distributed_data
procedure, public :: make_mpi_type_distributed_integer
procedure, public :: make_mpi_type_distributed_real64
generic, public :: reduce => reduce_mpi
procedure, public :: reduce_mpi
procedure, public :: reset
procedure, public :: start
procedure, public :: stop

type, public, sequence  ::  DistributedReal64

Components

Type Visibility Attributes Name Initial
integer, public :: max_pe = -1
integer, public :: min_pe = huge(1)
integer, public :: num_pes = 1
integer, public :: pad
real(kind=REAL64), public :: max = -huge(1._REAL64)
real(kind=REAL64), public :: min = huge(1._REAL64)
real(kind=REAL64), public :: total = 0

Constructor

private function new_DistributedReal64 (value, rank)

type, public, sequence  ::  DistributedStatistics

Components

Type Visibility Attributes Name Initial
type(DistributedInteger), public :: num_cycles
type(DistributedReal64), public :: exclusive
type(DistributedReal64), public :: max_cycle
type(DistributedReal64), public :: mean_cycle
type(DistributedReal64), public :: min_cycle
type(DistributedReal64), public :: sum_square_deviation
type(DistributedReal64), public :: total