derived type for flop rate, contains a timer and a flop recorder
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=dp), | private | :: | m_flop_rate |
private by default so that people use the accessor functions |
|||
type(flop_recorder_type), | private | :: | m_flops | ||||
type(pic_timer_type), | private | :: | m_timer |
add flops to the flop rate type, this will add the flops to the flop recorder Usage: call my_flop_rate%add_flops(1000)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(flop_rate_type), | intent(inout) | :: | self | |||
integer(kind=int64), | intent(in) | :: | flops |
get the flop rate in GFLOP/s, this will calculate the flop rate based on the number of flops and the elapsed time
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(flop_rate_type), | intent(inout) | :: | self |
get the number of flops recorded in the flop rate type
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(flop_rate_type), | intent(in) | :: | self |
get the elapsed time in seconds from the timer contained in the flop rate type
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(flop_rate_type), | intent(in) | :: | self |
report the flop rate, this will print the flop rate in GFLOP/s
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(flop_rate_type), | intent(inout) | :: | self |
reset the flop rate type, this will reset the timer and the flop recorder
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(flop_rate_type), | intent(inout) | :: | self |
Calls the start method for the timer contained in the flop rate type
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(flop_rate_type), | intent(inout) | :: | self |
Calls the stop method for the timer contained in the flop rate type
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(flop_rate_type), | intent(inout) | :: | self |
type flop_rate_type !! derived type for flop rate, contains a timer and a flop recorder private type(pic_timer_type) :: m_timer type(flop_recorder_type) :: m_flops real(dp) :: m_flop_rate !! private by default so that people use the accessor functions contains procedure :: start_time => flop_rate_start_time procedure :: stop_time => flop_rate_stop_time procedure :: add_flops => flop_rate_add_flops procedure :: get_flops => flop_rate_get_flops procedure :: get_time => flop_rate_get_time procedure :: get_flop_rate => flop_rate_get_flop_rate procedure :: report => flop_rate_report procedure :: reset => flop_rate_reset end type flop_rate_type