hiplaunchcooperativekernel Interface Reference

hiplaunchcooperativekernel Interface Reference#

HIPFORT API Reference: hipfort::hiplaunchcooperativekernel Interface Reference
hipfort::hiplaunchcooperativekernel Interface Reference

Launches kernel f with launch parameters and shared memory on stream with arguments passed to kernelparams or extra, where thread blocks can cooperate and synchronize as they execute. More...

Public Member Functions

integer(kind(hipsuccess)) function hiplaunchcooperativekernel_ (f, griddim, blockdimx, kernelparams, sharedmembytes, stream)
 

Detailed Description

Launches kernel f with launch parameters and shared memory on stream with arguments passed to kernelparams or extra, where thread blocks can cooperate and synchronize as they execute.

Parameters
[in]f- Kernel to launch.
[in]gridDim- Grid dimensions specified as multiple of blockDim.
[in]blockDimX- Block dimensions specified in work-items
[in]kernelParams- Pointer of arguments passed to the kernel. If the kernel has multiple parameters, 'kernelParams' should be array of pointers, each points the corresponding argument.
[in]sharedMemBytes- Amount of dynamic shared memory to allocate for this kernel. The HIP-Clang compiler provides support for extern shared declarations.
[in]stream- Stream where the kernel should be dispatched. May be 0, in which case th default stream is used with associated synchronization rules.

Please note, HIP does not support kernel launch with total work items defined in dimension with size \( gridDim \cdot blockDim ≥ 2^{32} \).

Returns
hipSuccess, hipErrorNotInitialized, hipErrorInvalidValue, hipErrorCooperativeLaunchTooLarge

Member Function/Subroutine Documentation

◆ hiplaunchcooperativekernel_()

integer(kind(hipsuccess)) function hipfort::hiplaunchcooperativekernel::hiplaunchcooperativekernel_ ( type(c_ptr), value  f,
type(c_ptr), value  griddim,
type(c_ptr), value  blockdimx,
type(c_ptr)  kernelparams,
integer(c_int), value  sharedmembytes,
type(c_ptr), value  stream 
)

The documentation for this interface was generated from the following file: