mus_perf_measure Subroutine

public subroutine mus_perf_measure(totalDens, DomSize, minLevel, maxLevel, nElems, scaleFactor, general)

This routine measures performance imbalance, MLUPS and dumps timings to disk

Arguments

TypeIntentOptionalAttributesName
real(kind=rk), intent(in) :: totalDens

Total density from check_density

integer(kind=long_k), intent(in) :: DomSize

Total number of elements in tree

integer, intent(in) :: minLevel

level range

integer, intent(in) :: maxLevel

level range

integer, intent(in) :: nElems(minLevel:maxLevel)

array of nElems levelwise

integer, intent(in) :: scaleFactor

global parameter

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

Contains proc, simControl, solveHead


Calls

proc~~mus_perf_measure~~CallsGraph proc~mus_perf_measure mus_perf_measure proc~dump_timing dump_timing proc~mus_perf_measure->proc~dump_timing proc~get_mainlooptime get_mainLoopTime proc~mus_perf_measure->proc~get_mainlooptime proc~get_communicatetime get_communicateTime proc~mus_perf_measure->proc~get_communicatetime proc~tem_getmaxtimerval tem_getMaxTimerVal proc~mus_perf_measure->proc~tem_getmaxtimerval mpi_allreduce mpi_allreduce proc~mus_perf_measure->mpi_allreduce proc~tem_calc_imbalance tem_calc_imbalance proc~mus_perf_measure->proc~tem_calc_imbalance proc~calc_mlups calc_MLUPS proc~mus_perf_measure->proc~calc_mlups interface~get_computetime get_computeTime proc~mus_perf_measure->interface~get_computetime interface~get_computeratio get_computeRatio proc~dump_timing->interface~get_computeratio proc~get_communicateratio get_communicateRatio proc~dump_timing->proc~get_communicateratio proc~get_intpratio get_intpRatio proc~dump_timing->proc~get_intpratio proc~newunit newunit proc~dump_timing->proc~newunit interface~get_auxtime get_auxTime proc~dump_timing->interface~get_auxtime interface~get_relaxtime get_relaxTime proc~dump_timing->interface~get_relaxtime proc~tem_gettimername tem_getTimerName proc~dump_timing->proc~tem_gettimername proc~get_boundaryratio get_boundaryRatio proc~dump_timing->proc~get_boundaryratio interface~get_bcbufferratio get_bcBufferRatio proc~dump_timing->interface~get_bcbufferratio proc~tem_gettimerval tem_getTimerVal proc~dump_timing->proc~tem_gettimerval proc~get_mainlooptime->proc~tem_gettimerval proc~get_communicatetime->proc~tem_gettimerval proc~get_computetime_total get_computeTime_total interface~get_computetime->proc~get_computetime_total proc~get_computetime_atlevel get_computeTime_atLevel interface~get_computetime->proc~get_computetime_atlevel proc~get_computeratio_atlevel get_computeRatio_atLevel interface~get_computeratio->proc~get_computeratio_atlevel proc~get_computeratio_total get_computeRatio_total interface~get_computeratio->proc~get_computeratio_total proc~get_communicateratio->proc~get_mainlooptime proc~get_communicateratio->proc~get_communicatetime proc~get_computetime_total->interface~get_computetime proc~get_intpratio->proc~get_mainlooptime proc~get_intptime get_intpTime proc~get_intpratio->proc~get_intptime proc~get_auxtime_total get_auxTime_total interface~get_auxtime->proc~get_auxtime_total proc~get_auxtime_atlevel get_auxTime_atLevel interface~get_auxtime->proc~get_auxtime_atlevel proc~get_relaxtime_atlevel get_relaxTime_atLevel interface~get_relaxtime->proc~get_relaxtime_atlevel proc~get_relaxtime_total get_relaxTime_total interface~get_relaxtime->proc~get_relaxtime_total proc~get_boundaryratio->proc~get_mainlooptime interface~get_boundarytime get_boundaryTime proc~get_boundaryratio->interface~get_boundarytime proc~get_bcbufferratio_atlevel get_bcBufferRatio_atLevel interface~get_bcbufferratio->proc~get_bcbufferratio_atlevel proc~get_bcbufferratio_total get_bcBufferRatio_total interface~get_bcbufferratio->proc~get_bcbufferratio_total proc~get_computetime_atlevel->proc~tem_gettimerval

Called by

proc~~mus_perf_measure~~CalledByGraph proc~mus_perf_measure mus_perf_measure none~do_balance do_balance none~do_balance->proc~mus_perf_measure proc~mus_finalize mus_finalize proc~mus_finalize->proc~mus_perf_measure program~musubi musubi program~musubi->proc~mus_finalize proc~mus_solve mus_solve program~musubi->proc~mus_solve proc~mus_solve->none~do_balance

Contents


Variables

TypeVisibilityAttributesNameInitial
real(kind=rk), private :: tMainLoop
real(kind=rk), private :: tCompute
real(kind=rk), private :: mlups
real(kind=rk), private :: mlups_kernel
real(kind=rk), private :: cpuCost
real(kind=rk), private :: imbalance
integer, private :: iter
integer, private :: iTimer
integer, private :: nTimers
integer, private :: counter
integer, private :: iErr
integer, private :: nLevels
real(kind=rk), private, allocatable:: timerVal(:)
integer(kind=long_k), private :: nTotals(minLevel:maxLevel)