fclDeviceDouble Derived Type

type, public, extends(fclDeviceBuffer) :: fclDeviceDouble

Type wrapper for memory objects representing double


Contents


Components

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

Descriptive name for output of profiling information

logical, public :: profilingEnabled = .false.

Switch to enable saving of events for profiling

type(fclEvent), public, pointer :: profileEvents(:) => NULL()

Array of events for profiling

integer, public :: profileSize = 0

Allocation size of profileEvents(:) array

integer, public, pointer :: nProfileEvent => NULL()

Number of events saved to profileEvents(:) array

integer, public, pointer :: profileEventType(:) => NULL()

Integer for indicating type of buffer event

integer(kind=c_size_t), public :: nBytes = -1

Size of buffer in bytes


Type-Bound Procedures

procedure, public, pass :: pushProfileEvent => fclPushProfileEvent

  • interface

    public module subroutine fclPushProfileEvent(container, event, type)

    If profiling is enabled for the container, save an event to it

    Arguments

    Type IntentOptional Attributes Name
    class(fclProfileContainer), intent(in) :: container

    Profiling container (fclKernel,fclDeviceBuffer,fclProfileContainer)

    type(fclEvent), intent(in) :: event

    Event to push to container

    integer, intent(in), optional :: type

    For buffer object events only, indicates transfer type