fclCommandQ Derived Type

type, public :: fclCommandQ

Type wrapper for openCL command queue objects


Contents


Components

Type Visibility Attributes Name Initial
logical, public :: blockingWrite = .true.

Enable/disable blocking writes when copying from host to device

logical, public :: blockingRead = .true.

Enable/disable block reads when copying from device to host

type(fclEvent), public :: lastWriteEvent

Focal event object for the most recent write event (host-to-device) to be enqueued

type(fclEvent), public :: lastReadEvent

Focal event object for the most recent read event (device-to-host) to be enqueued

type(fclEvent), public :: lastCopyEvent

Focal event object for the most recent copy event (device-to-device) to be enqueued

type(fclEvent), public :: lastKernelEvent

Focal event object for the most recent kernel event to be enqueued

type(fclEvent), public :: lastBarrierEvent

Focal event object for the most recent barrier event to be enqueued

integer(kind=c_intptr_t), public, allocatable :: dependencyList(:)

List of pre-requisite events for next enqueued action. All events in this list are used as dependencies for the next enqueued operation. At enqueueing, the list is cleared unless holdDependencies is .true.

type(c_ptr), public :: dependencyListPtr = C_NULL_PTR

C pointer to dependency list. C_NULL_PTR when nDependency is zero.

integer, public :: nDependency = 0

Number of items in dependency list

logical, public :: holdDependencies = .false.

Set to true to not automatically clear dependencies after enqueueing. Use for applying the same dependencies to multiple commands. Use fclClearDependencies to clear and reset.