cubecl_hip_sys

Function hipModuleLaunchCooperativeKernel

Source
pub unsafe extern "C" fn hipModuleLaunchCooperativeKernel(
    f: hipFunction_t,
    gridDimX: c_uint,
    gridDimY: c_uint,
    gridDimZ: c_uint,
    blockDimX: c_uint,
    blockDimY: c_uint,
    blockDimZ: c_uint,
    sharedMemBytes: c_uint,
    stream: hipStream_t,
    kernelParams: *mut *mut c_void,
) -> hipError_t
Expand description

@brief launches kernel f with launch parameters and shared memory on stream with arguments passed to kernelParams, where thread blocks can cooperate and synchronize as they execute

@param [in] f Kernel to launch. @param [in] gridDimX X grid dimension specified as multiple of blockDimX. @param [in] gridDimY Y grid dimension specified as multiple of blockDimY. @param [in] gridDimZ Z grid dimension specified as multiple of blockDimZ. @param [in] blockDimX X block dimension specified in work-items. @param [in] blockDimY Y block dimension specified in work-items. @param [in] blockDimZ Z block dimension specified in work-items. @param [in] sharedMemBytes Amount of dynamic shared memory to allocate for this kernel. The HIP-Clang compiler provides support for extern shared declarations. @param [in] stream Stream where the kernel should be dispatched. May be 0, in which case the default stream is used with associated synchronization rules. @param [in] kernelParams A list of kernel arguments.

Please note, HIP does not support kernel launch with total work items defined in dimension with size gridDim x blockDim >= 2^32.

@returns #hipSuccess, #hipErrorDeinitialized, #hipErrorNotInitialized, #hipErrorInvalidContext, #hipErrorInvalidHandle, #hipErrorInvalidImage, #hipErrorInvalidValue, #hipErrorInvalidConfiguration, #hipErrorLaunchFailure, #hipErrorLaunchOutOfResources, #hipErrorLaunchTimeOut, #hipErrorCooperativeLaunchTooLarge, #hipErrorSharedObjectInitFailed