pic_flop_recorder Module

general flop recorder module


Uses

  • module~~pic_flop_recorder~~UsesGraph module~pic_flop_recorder pic_flop_recorder module~pic_types pic_types module~pic_flop_recorder->module~pic_types iso_fortran_env iso_fortran_env module~pic_types->iso_fortran_env

Used by

  • module~~pic_flop_recorder~~UsedByGraph module~pic_flop_recorder pic_flop_recorder module~pic_flop_rate pic_flop_rate module~pic_flop_rate->module~pic_flop_recorder

Derived Types

type, public ::  flop_recorder_type

the flop recorder type simply contains a flop count this should be the largest possible integer in the planet currently this will overflow for zetta flops

Components

Type Visibility Attributes Name Initial
integer(kind=int64), private :: flop_count = 0_int64

Type-Bound Procedures

procedure, public :: add => add_flops
procedure, public :: get => get_flops
procedure, public :: reset => reset_flop_counter

Functions

private function get_flops(self) result(flops)

Get the int64 number of FLOPs we currently have in the counter

Read more…

Arguments

Type IntentOptional Attributes Name
class(flop_recorder_type), intent(in) :: self

Return Value integer(kind=int64)


Subroutines

private subroutine add_flops(self, flops)

Add an int64 variable which contains the FLOPs we use int64 since we might reach very large FLOP counts

Read more…

Arguments

Type IntentOptional Attributes Name
class(flop_recorder_type), intent(inout) :: self
integer(kind=int64), intent(in) :: flops

private subroutine reset_flop_counter(self)

Resets the flop counter to 0_int64

Read more…

Arguments

Type IntentOptional Attributes Name
class(flop_recorder_type), intent(inout) :: self