fclKernel Derived Type

type, public, extends(fclProfileContainer) :: fclKernel

Type wrapper for openCL kernel objects


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

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

Kernel name

integer(kind=c_int32_t), public :: work_dim = 1

Number of work-range dimensions

integer(kind=c_size_t), public :: global_work_offset(3) = 0

Global work dimension offsets

integer(kind=c_size_t), public :: global_work_size(3) = 0

Global work-range dimensions

integer(kind=c_size_t), public :: local_work_size(3) = 0

Local work-group dimensions


Finalization Procedures

final :: fclReleaseKernel


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

procedure, public, pass :: setArgs => fclSetKernelArgs

Set kernel arguments without launching

  • interface

    public module subroutine fclSetKernelArgs(kernel, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52, a53, a54, a55, a56, a57, a58, a59, a60, a61, a62, a63, a64, a65, a66, a67, a68, a69, a70, a71, a72, a73, a74, a75, a76, a77, a78, a79, a80, a81, a82, a83, a84, a85, a86, a87, a88, a89, a90, a91, a92, a93, a94, a95, a96, a97, a98, a99, a100, a101, a102, a103, a104, a105, a106, a107, a108, a109, a110, a111, a112, a113, a114, a115, a116, a117, a118, a119, a120, a121, a122, a123, a124, a125, a126, a127, a128, a129)

    Set all kernel arguments at once without launching kernel.

    Arguments

    Type IntentOptional Attributes Name
    class(fclKernel), intent(in), target :: kernel

    Focal kernel object

    class(*), intent(in), optional, target :: a0

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a1

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a2

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a3

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a4

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a5

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a6

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a7

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a8

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a9

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a10

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a11

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a12

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a13

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a14

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a15

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a16

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a17

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a18

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a19

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a20

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a21

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a22

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a23

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a24

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a25

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a26

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a27

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a28

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a29

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a30

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a31

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a32

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a33

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a34

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a35

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a36

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a37

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a38

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a39

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a40

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a41

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a42

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a43

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a44

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a45

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a46

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a47

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a48

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a49

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a50

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a51

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a52

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a53

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a54

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a55

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a56

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a57

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a58

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a59

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a60

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a61

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a62

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a63

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a64

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a65

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a66

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a67

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a68

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a69

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a70

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a71

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a72

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a73

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a74

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a75

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a76

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a77

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a78

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a79

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a80

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a81

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a82

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a83

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a84

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a85

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a86

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a87

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a88

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a89

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a90

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a91

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a92

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a93

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a94

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a95

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a96

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a97

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a98

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a99

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a100

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a101

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a102

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a103

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a104

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a105

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a106

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a107

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a108

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a109

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a110

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a111

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a112

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a113

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a114

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a115

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a116

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a117

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a118

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a119

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a120

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a121

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a122

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a123

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a124

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a125

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a126

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a127

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a128

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a129

    Kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

procedure, public, pass :: launch => fclLaunchKernel

Launch the kernel

  • interface

    public module subroutine fclLaunchKernel(kernel, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52, a53, a54, a55, a56, a57, a58, a59, a60, a61, a62, a63, a64, a65, a66, a67, a68, a69, a70, a71, a72, a73, a74, a75, a76, a77, a78, a79, a80, a81, a82, a83, a84, a85, a86, a87, a88, a89, a90, a91, a92, a93, a94, a95, a96, a97, a98, a99, a100, a101, a102, a103, a104, a105, a106, a107, a108, a109, a110, a111, a112, a113, a114, a115, a116, a117, a118, a119, a120, a121, a122, a123, a124, a125, a126, a127, a128, a129)

    Enqueue a kernel with command arguments

    Arguments

    Type IntentOptional Attributes Name
    class(fclKernel), intent(inout), target :: kernel

    Focal kernel object

    class(*), intent(in), optional, target :: a0

    Focal command queue or first kernel argument

    class(*), intent(in), optional, target :: a1

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a2

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a3

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a4

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a5

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a6

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a7

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a8

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a9

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a10

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a11

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a12

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a13

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a14

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a15

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a16

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a17

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a18

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a19

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a20

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a21

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a22

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a23

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a24

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a25

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a26

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a27

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a28

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a29

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a30

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a31

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a32

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a33

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a34

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a35

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a36

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a37

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a38

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a39

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a40

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a41

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a42

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a43

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a44

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a45

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a46

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a47

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a48

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a49

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a50

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a51

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a52

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a53

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a54

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a55

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a56

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a57

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a58

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a59

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a60

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a61

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a62

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a63

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a64

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a65

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a66

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a67

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a68

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a69

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a70

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a71

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a72

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a73

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a74

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a75

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a76

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a77

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a78

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a79

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a80

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a81

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a82

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a83

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a84

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a85

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a86

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a87

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a88

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a89

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a90

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a91

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a92

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a93

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a94

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a95

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a96

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a97

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a98

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a99

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a100

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a101

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a102

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a103

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a104

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a105

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a106

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a107

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a108

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a109

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a110

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a111

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a112

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a113

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a114

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a115

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a116

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a117

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a118

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a119

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a120

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a121

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a122

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a123

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a124

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a125

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a126

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a127

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a128

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

    class(*), intent(in), optional, target :: a129

    Subsequent kernel arguments. Can be a scalar, an fclDeviceBuffer object, or an fclLocalArgument

generic, public, :: launchAfter => launchKernelAfterEvent_1, launchKernelAfterEvent_2, launchKernelAfterEventList_1, launchKernelAfterEventList_2

Launch a kernel with event dependencies

  • public module subroutine fclLaunchKernelAfterEvent_1(kernel, cmdQ, event)

    Specific interface for a single event dependency on a specific command queue

    Arguments

    Type IntentOptional Attributes Name
    class(fclKernel), intent(inout) :: kernel

    Focal kernel object to launch

    type(fclCommandQ), intent(inout) :: cmdQ

    CmdQ on which to launch kernel

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

    Event dependency for kernel

  • public module subroutine fclLaunchKernelAfterEvent_2(kernel, event)

    Specific interface a single event dependency on the default command queue

    Arguments

    Type IntentOptional Attributes Name
    class(fclKernel), intent(inout) :: kernel

    Focal kernel object to launch

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

    Event dependency for kernel

  • public module subroutine fclLaunchKernelAfterEventList_1(kernel, cmdQ, eventList)

    Specific interface for a multiple event dependencies on a specific command queue

    Arguments

    Type IntentOptional Attributes Name
    class(fclKernel), intent(inout) :: kernel

    Focal kernel object to launch

    type(fclCommandQ), intent(inout) :: cmdQ

    CmdQ on which to launch kernel

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

    Event dependency list for kernel

  • public module subroutine fclLaunchKernelAfterEventList_2(kernel, eventList)

    Specific interface for a multiple event dependencies on the default command queue

    Arguments

    Type IntentOptional Attributes Name
    class(fclKernel), intent(inout) :: kernel

    Focal kernel object to launch

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

    Event dependency list for kernel