mark Derived Type

type, private :: mark

Derived type for each method being benchmarked in all images.


Inherited by

type~~mark~~InheritedByGraph type~mark mark type~benchmark benchmark type~benchmark->type~mark marks

Components

Type Visibility Attributes Name Initial
character(len=:), public, allocatable :: method

Name of the method being benchmarked

character(len=:), public, allocatable :: description

Description of the method being benchmarked

real(kind=rk), public :: elapsed_time_min

Minimum elapsed time for the benchmark in all images

real(kind=rk), public :: elapsed_time_average

Average elapsed time for the benchmark in all images

real(kind=rk), public :: elapsed_time_max

Maximum elapsed time for the benchmark in all images

real(kind=rk), public :: flops_total

Total floating-point operations per second in all images

real(kind=rk), public :: speedup_max_total

Maximum speedup in all images compared to the reference benchmark


Type-Bound Procedures

procedure, private :: finalize_mark

Finalize procedure for mark type

  • private pure elemental subroutine finalize_mark(this)

    Author
    Seyed Ali Ghasemi
    License
    BSD 3-Clause License

    Finalizes the mark object by deallocating allocated memory for method and description.

    Arguments

    Type IntentOptional Attributes Name
    class(mark), intent(inout) :: this

    Mark object to be finalized

Source Code

   type :: mark
      !! author: Seyed Ali Ghasemi
      !! Derived type for each method being benchmarked in all images.
      !!
      character(:), allocatable :: method                !! Name of the method being benchmarked
      character(:), allocatable :: description           !! Description of the method being benchmarked
      real(rk)                  :: elapsed_time_min      !! Minimum elapsed time for the benchmark in all images
      real(rk)                  :: elapsed_time_average  !! Average elapsed time for the benchmark in all images
      real(rk)                  :: elapsed_time_max      !! Maximum elapsed time for the benchmark in all images
      real(rk)                  :: flops_total           !! Total floating-point operations per second in all images
      real(rk)                  :: speedup_max_total     !! Maximum speedup in all images compared to the reference benchmark
   contains
      procedure, private :: finalize_mark !! Finalize procedure for mark type
   end type mark