Add support for clang offload bundles and <<<>>> kernel launch.

[ROCm/hip commit: 0c1893ea62]
This commit is contained in:
Laurent Morichetti
2018-04-04 13:32:33 -07:00
parent 9d63894af8
commit 9e1d2064c9
5 changed files with 285 additions and 12 deletions
@@ -534,18 +534,6 @@ typedef int hipLaunchParm;
#include <hip/hip_runtime_api.h>
#if defined(__cplusplus)
extern "C" {
#endif /*__cplusplus*/
hipError_t hipConfigureCall(dim3 gridDim, dim3 blockDim, size_t sharedMem, hipStream_t stream);
hipError_t hipSetupArgument(const void* arg, size_t size, size_t offset);
hipError_t hipLaunchByPtr(const void* func);
#if defined(__cplusplus)
}
#endif /*__cplusplus*/
#include <__clang_cuda_builtin_vars.h>
#define hipThreadIdx_x threadIdx.x
@@ -2427,6 +2427,59 @@ hipError_t hipIpcCloseMemHandle(void* devPtr);
// hipError_t hipIpcOpenMemHandle(void** devPtr, hipIpcMemHandle_t handle, unsigned int flags);
/**
*-------------------------------------------------------------------------------------------------
*-------------------------------------------------------------------------------------------------
* @defgroup Clang Launch API to support the triple-chevron syntax
* @{
*/
/**
* @brief Configure a kernel launch.
*
* @param [in] gridDim grid dimension specified as multiple of blockDim.
* @param [in] blockDim block dimensions specified in work-items
* @param [in] sharedMem Amount of dynamic shared memory to allocate for this kernel. The
* kernel can access this with HIP_DYNAMIC_SHARED.
* @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.
*
* @returns hipSuccess, hipInvalidDevice, hipErrorNotInitialized, hipErrorInvalidValue
*
*/
hipError_t hipConfigureCall(dim3 gridDim, dim3 blockDim, size_t sharedMem, hipStream_t stream);
/**
* @brief Set a kernel argument.
*
* @returns hipSuccess, hipInvalidDevice, hipErrorNotInitialized, hipErrorInvalidValue
*
* @param [in] arg Pointer the argument in host memory.
* @param [in] size Size of the argument.
* @param [in] offset Offset of the argument on the argument stack.
*
*/
hipError_t hipSetupArgument(const void* arg, size_t size, size_t offset);
/**
* @brief Launch a kernel.
*
* @param [in] func Kernel to launch.
*
* @returns hipSuccess, hipInvalidDevice, hipErrorNotInitialized, hipErrorInvalidValue
*
*/
hipError_t hipLaunchByPtr(const void* func);
/**
* @}
*/
#ifdef __cplusplus
} /* extern "c" */
#endif