[hip] Data types for hipLaunchKernelExC with cooperative launch support (#42)
This commit is contained in:
committed by
GitHub
parent
42419ff0d6
commit
0dfd257dc2
+58
-61
@@ -53,7 +53,7 @@ typedef enum hipChannelFormatKind {
|
|||||||
hipChannelFormatKindUnsigned = 1, ///< Unsigned channel format
|
hipChannelFormatKindUnsigned = 1, ///< Unsigned channel format
|
||||||
hipChannelFormatKindFloat = 2, ///< Float channel format
|
hipChannelFormatKindFloat = 2, ///< Float channel format
|
||||||
hipChannelFormatKindNone = 3 ///< No channel format
|
hipChannelFormatKindNone = 3 ///< No channel format
|
||||||
}hipChannelFormatKind;
|
} hipChannelFormatKind;
|
||||||
/**
|
/**
|
||||||
* HIP channel format descriptor
|
* HIP channel format descriptor
|
||||||
*/
|
*/
|
||||||
@@ -63,7 +63,7 @@ typedef struct hipChannelFormatDesc {
|
|||||||
int z;
|
int z;
|
||||||
int w;
|
int w;
|
||||||
enum hipChannelFormatKind f; ///< Channel format kind
|
enum hipChannelFormatKind f; ///< Channel format kind
|
||||||
}hipChannelFormatDesc;
|
} hipChannelFormatDesc;
|
||||||
/** @brief The hipTexRefSetArray function flags parameter override format value*/
|
/** @brief The hipTexRefSetArray function flags parameter override format value*/
|
||||||
#define HIP_TRSA_OVERRIDE_FORMAT 0x01
|
#define HIP_TRSA_OVERRIDE_FORMAT 0x01
|
||||||
/** @brief The hipTexRefSetFlags function flags parameter read as integer value*/
|
/** @brief The hipTexRefSetFlags function flags parameter read as integer value*/
|
||||||
@@ -87,28 +87,28 @@ typedef enum hipArray_Format {
|
|||||||
HIP_AD_FORMAT_SIGNED_INT32 = 0x0a, ///< Signed 32-bit array format
|
HIP_AD_FORMAT_SIGNED_INT32 = 0x0a, ///< Signed 32-bit array format
|
||||||
HIP_AD_FORMAT_HALF = 0x10, ///< Half array format
|
HIP_AD_FORMAT_HALF = 0x10, ///< Half array format
|
||||||
HIP_AD_FORMAT_FLOAT = 0x20 ///< Float array format
|
HIP_AD_FORMAT_FLOAT = 0x20 ///< Float array format
|
||||||
}hipArray_Format;
|
} hipArray_Format;
|
||||||
/**
|
/**
|
||||||
* HIP array descriptor
|
* HIP array descriptor
|
||||||
*/
|
*/
|
||||||
typedef struct HIP_ARRAY_DESCRIPTOR {
|
typedef struct HIP_ARRAY_DESCRIPTOR {
|
||||||
size_t Width; ///< Width of the array
|
size_t Width; ///< Width of the array
|
||||||
size_t Height; ///< Height of the array
|
size_t Height; ///< Height of the array
|
||||||
enum hipArray_Format Format; ///< Format of the array
|
enum hipArray_Format Format; ///< Format of the array
|
||||||
unsigned int NumChannels; ///< Number of channels of the array
|
unsigned int NumChannels; ///< Number of channels of the array
|
||||||
}HIP_ARRAY_DESCRIPTOR;
|
} HIP_ARRAY_DESCRIPTOR;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* HIP 3D array descriptor
|
* HIP 3D array descriptor
|
||||||
*/
|
*/
|
||||||
typedef struct HIP_ARRAY3D_DESCRIPTOR {
|
typedef struct HIP_ARRAY3D_DESCRIPTOR {
|
||||||
size_t Width; ///< Width of the array
|
size_t Width; ///< Width of the array
|
||||||
size_t Height; ///< Height of the array
|
size_t Height; ///< Height of the array
|
||||||
size_t Depth; ///< Depth of the array
|
size_t Depth; ///< Depth of the array
|
||||||
enum hipArray_Format Format; ///< Format of the array
|
enum hipArray_Format Format; ///< Format of the array
|
||||||
unsigned int NumChannels; ///< Number of channels of the array
|
unsigned int NumChannels; ///< Number of channels of the array
|
||||||
unsigned int Flags; ///< Flags of the array
|
unsigned int Flags; ///< Flags of the array
|
||||||
}HIP_ARRAY3D_DESCRIPTOR;
|
} HIP_ARRAY3D_DESCRIPTOR;
|
||||||
#if !defined(__HIPCC_RTC__)
|
#if !defined(__HIPCC_RTC__)
|
||||||
/**
|
/**
|
||||||
* HIP 2D memory copy parameters
|
* HIP 2D memory copy parameters
|
||||||
@@ -136,17 +136,17 @@ typedef struct hip_Memcpy2D {
|
|||||||
* HIP mipmapped array
|
* HIP mipmapped array
|
||||||
*/
|
*/
|
||||||
typedef struct hipMipmappedArray {
|
typedef struct hipMipmappedArray {
|
||||||
void* data; ///< Data pointer of the mipmapped array
|
void* data; ///< Data pointer of the mipmapped array
|
||||||
struct hipChannelFormatDesc desc; ///< Description of the mipmapped array
|
struct hipChannelFormatDesc desc; ///< Description of the mipmapped array
|
||||||
unsigned int type; ///< Type of the mipmapped array
|
unsigned int type; ///< Type of the mipmapped array
|
||||||
unsigned int width; ///< Width of the mipmapped array
|
unsigned int width; ///< Width of the mipmapped array
|
||||||
unsigned int height; ///< Height of the mipmapped array
|
unsigned int height; ///< Height of the mipmapped array
|
||||||
unsigned int depth; ///< Depth of the mipmapped array
|
unsigned int depth; ///< Depth of the mipmapped array
|
||||||
unsigned int min_mipmap_level; ///< Minimum level of the mipmapped array
|
unsigned int min_mipmap_level; ///< Minimum level of the mipmapped array
|
||||||
unsigned int max_mipmap_level; ///< Maximum level of the mipmapped array
|
unsigned int max_mipmap_level; ///< Maximum level of the mipmapped array
|
||||||
unsigned int flags; ///< Flags of the mipmapped array
|
unsigned int flags; ///< Flags of the mipmapped array
|
||||||
enum hipArray_Format format; ///< Format of the mipmapped array
|
enum hipArray_Format format; ///< Format of the mipmapped array
|
||||||
unsigned int num_channels; ///< Number of channels of the mipmapped array
|
unsigned int num_channels; ///< Number of channels of the mipmapped array
|
||||||
} hipMipmappedArray;
|
} hipMipmappedArray;
|
||||||
/**
|
/**
|
||||||
* HIP mipmapped array pointer
|
* HIP mipmapped array pointer
|
||||||
@@ -162,7 +162,7 @@ typedef enum hipResourceType {
|
|||||||
hipResourceTypeMipmappedArray = 0x01, ///< Mipmapped array resource
|
hipResourceTypeMipmappedArray = 0x01, ///< Mipmapped array resource
|
||||||
hipResourceTypeLinear = 0x02, ///< Linear resource
|
hipResourceTypeLinear = 0x02, ///< Linear resource
|
||||||
hipResourceTypePitch2D = 0x03 ///< Pitch 2D resource
|
hipResourceTypePitch2D = 0x03 ///< Pitch 2D resource
|
||||||
}hipResourceType;
|
} hipResourceType;
|
||||||
typedef enum HIPresourcetype_enum {
|
typedef enum HIPresourcetype_enum {
|
||||||
HIP_RESOURCE_TYPE_ARRAY = 0x00, ///< Array resource
|
HIP_RESOURCE_TYPE_ARRAY = 0x00, ///< Array resource
|
||||||
HIP_RESOURCE_TYPE_MIPMAPPED_ARRAY = 0x01, ///< Mipmapped array resource
|
HIP_RESOURCE_TYPE_MIPMAPPED_ARRAY = 0x01, ///< Mipmapped array resource
|
||||||
@@ -239,12 +239,11 @@ typedef enum hipResourceViewFormat {
|
|||||||
hipResViewFormatUnsignedBlockCompressed6H = 0x20, ///< Block-compressed 6 unsigned half-float
|
hipResViewFormatUnsignedBlockCompressed6H = 0x20, ///< Block-compressed 6 unsigned half-float
|
||||||
hipResViewFormatSignedBlockCompressed6H = 0x21, ///< Block-compressed 6 signed half-float
|
hipResViewFormatSignedBlockCompressed6H = 0x21, ///< Block-compressed 6 signed half-float
|
||||||
hipResViewFormatUnsignedBlockCompressed7 = 0x22 ///< Block-compressed 7
|
hipResViewFormatUnsignedBlockCompressed7 = 0x22 ///< Block-compressed 7
|
||||||
}hipResourceViewFormat;
|
} hipResourceViewFormat;
|
||||||
/**
|
/**
|
||||||
* HIP texture resource view formats
|
* HIP texture resource view formats
|
||||||
*/
|
*/
|
||||||
typedef enum HIPresourceViewFormat_enum
|
typedef enum HIPresourceViewFormat_enum {
|
||||||
{
|
|
||||||
HIP_RES_VIEW_FORMAT_NONE = 0x00, ///< No resource view format (use underlying resource format)
|
HIP_RES_VIEW_FORMAT_NONE = 0x00, ///< No resource view format (use underlying resource format)
|
||||||
HIP_RES_VIEW_FORMAT_UINT_1X8 = 0x01, ///< 1 channel, unsigned 8-bit integers
|
HIP_RES_VIEW_FORMAT_UINT_1X8 = 0x01, ///< 1 channel, unsigned 8-bit integers
|
||||||
HIP_RES_VIEW_FORMAT_UINT_2X8 = 0x02, ///< 2 channels, unsigned 8-bit integers
|
HIP_RES_VIEW_FORMAT_UINT_2X8 = 0x02, ///< 2 channels, unsigned 8-bit integers
|
||||||
@@ -306,13 +305,12 @@ typedef struct hipResourceDesc {
|
|||||||
size_t pitchInBytes; ///< Pitch between two rows in bytes
|
size_t pitchInBytes; ///< Pitch between two rows in bytes
|
||||||
} pitch2D;
|
} pitch2D;
|
||||||
} res;
|
} res;
|
||||||
}hipResourceDesc;
|
} hipResourceDesc;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* HIP resource view descriptor struct
|
* HIP resource view descriptor struct
|
||||||
*/
|
*/
|
||||||
typedef struct HIP_RESOURCE_DESC_st
|
typedef struct HIP_RESOURCE_DESC_st {
|
||||||
{
|
|
||||||
HIPresourcetype resType; ///< Resource type
|
HIPresourcetype resType; ///< Resource type
|
||||||
union {
|
union {
|
||||||
struct {
|
struct {
|
||||||
@@ -357,8 +355,7 @@ struct hipResourceViewDesc {
|
|||||||
/**
|
/**
|
||||||
* Resource view descriptor
|
* Resource view descriptor
|
||||||
*/
|
*/
|
||||||
typedef struct HIP_RESOURCE_VIEW_DESC_st
|
typedef struct HIP_RESOURCE_VIEW_DESC_st {
|
||||||
{
|
|
||||||
HIPresourceViewFormat format; ///< Resource view format
|
HIPresourceViewFormat format; ///< Resource view format
|
||||||
size_t width; ///< Width of the resource view
|
size_t width; ///< Width of the resource view
|
||||||
size_t height; ///< Height of the resource view
|
size_t height; ///< Height of the resource view
|
||||||
@@ -390,7 +387,7 @@ typedef struct hipPitchedPtr {
|
|||||||
size_t pitch; ///< Pitch in bytes
|
size_t pitch; ///< Pitch in bytes
|
||||||
size_t xsize; ///< Logical size of the first dimension of allocation in elements
|
size_t xsize; ///< Logical size of the first dimension of allocation in elements
|
||||||
size_t ysize; ///< Logical size of the second dimension of allocation in elements
|
size_t ysize; ///< Logical size of the second dimension of allocation in elements
|
||||||
}hipPitchedPtr;
|
} hipPitchedPtr;
|
||||||
/**
|
/**
|
||||||
* HIP extent
|
* HIP extent
|
||||||
*/
|
*/
|
||||||
@@ -399,7 +396,7 @@ typedef struct hipExtent {
|
|||||||
// linear memory
|
// linear memory
|
||||||
size_t height;
|
size_t height;
|
||||||
size_t depth;
|
size_t depth;
|
||||||
}hipExtent;
|
} hipExtent;
|
||||||
/**
|
/**
|
||||||
* HIP position
|
* HIP position
|
||||||
*/
|
*/
|
||||||
@@ -407,7 +404,7 @@ typedef struct hipPos {
|
|||||||
size_t x; ///< X coordinate
|
size_t x; ///< X coordinate
|
||||||
size_t y; ///< Y coordinate
|
size_t y; ///< Y coordinate
|
||||||
size_t z; ///< Z coordinate
|
size_t z; ///< Z coordinate
|
||||||
}hipPos;
|
} hipPos;
|
||||||
/**
|
/**
|
||||||
* HIP 3D memory copy parameters
|
* HIP 3D memory copy parameters
|
||||||
*/
|
*/
|
||||||
@@ -425,29 +422,29 @@ typedef struct hipMemcpy3DParms {
|
|||||||
* HIP 3D memory copy
|
* HIP 3D memory copy
|
||||||
*/
|
*/
|
||||||
typedef struct HIP_MEMCPY3D {
|
typedef struct HIP_MEMCPY3D {
|
||||||
size_t srcXInBytes; ///< Source X in bytes
|
size_t srcXInBytes; ///< Source X in bytes
|
||||||
size_t srcY; ///< Source Y
|
size_t srcY; ///< Source Y
|
||||||
size_t srcZ; ///< Source Z
|
size_t srcZ; ///< Source Z
|
||||||
size_t srcLOD; ///< Source LOD
|
size_t srcLOD; ///< Source LOD
|
||||||
hipMemoryType srcMemoryType; ///< Source memory type
|
hipMemoryType srcMemoryType; ///< Source memory type
|
||||||
const void* srcHost; ///< Source host pointer
|
const void* srcHost; ///< Source host pointer
|
||||||
hipDeviceptr_t srcDevice; ///< Source device
|
hipDeviceptr_t srcDevice; ///< Source device
|
||||||
hipArray_t srcArray; ///< Source array
|
hipArray_t srcArray; ///< Source array
|
||||||
size_t srcPitch; ///< Source pitch
|
size_t srcPitch; ///< Source pitch
|
||||||
size_t srcHeight; ///< Source height
|
size_t srcHeight; ///< Source height
|
||||||
size_t dstXInBytes; ///< Destination X in bytes
|
size_t dstXInBytes; ///< Destination X in bytes
|
||||||
size_t dstY; ///< Destination Y
|
size_t dstY; ///< Destination Y
|
||||||
size_t dstZ; ///< Destination Z
|
size_t dstZ; ///< Destination Z
|
||||||
size_t dstLOD; ///< Destination LOD
|
size_t dstLOD; ///< Destination LOD
|
||||||
hipMemoryType dstMemoryType; ///< Destination memory type
|
hipMemoryType dstMemoryType; ///< Destination memory type
|
||||||
void* dstHost; ///< Destination host pointer
|
void* dstHost; ///< Destination host pointer
|
||||||
hipDeviceptr_t dstDevice; ///< Destination device
|
hipDeviceptr_t dstDevice; ///< Destination device
|
||||||
hipArray_t dstArray; ///< Destination array
|
hipArray_t dstArray; ///< Destination array
|
||||||
size_t dstPitch; ///< Destination pitch
|
size_t dstPitch; ///< Destination pitch
|
||||||
size_t dstHeight; ///< Destination height
|
size_t dstHeight; ///< Destination height
|
||||||
size_t WidthInBytes; ///< Width in bytes of 3D memory copy
|
size_t WidthInBytes; ///< Width in bytes of 3D memory copy
|
||||||
size_t Height; ///< Height in bytes of 3D memory copy
|
size_t Height; ///< Height in bytes of 3D memory copy
|
||||||
size_t Depth; ///< Depth in bytes of 3D memory copy
|
size_t Depth; ///< Depth in bytes of 3D memory copy
|
||||||
} HIP_MEMCPY3D;
|
} HIP_MEMCPY3D;
|
||||||
/**
|
/**
|
||||||
* @brief Make hipPitchedPtr
|
* @brief Make hipPitchedPtr
|
||||||
|
|||||||
@@ -1150,9 +1150,9 @@ typedef struct hipMemPoolPtrExportData {
|
|||||||
* @warning On AMD devices and some Nvidia devices, these hints and controls are ignored.
|
* @warning On AMD devices and some Nvidia devices, these hints and controls are ignored.
|
||||||
*/
|
*/
|
||||||
typedef enum hipFuncAttribute {
|
typedef enum hipFuncAttribute {
|
||||||
hipFuncAttributeMaxDynamicSharedMemorySize = 8,
|
hipFuncAttributeMaxDynamicSharedMemorySize = 8, ///< The maximum number of bytes requested for dynamically allocated shared memory
|
||||||
hipFuncAttributePreferredSharedMemoryCarveout = 9,
|
hipFuncAttributePreferredSharedMemoryCarveout = 9, ///< Sets the percentage of total shared memory allocated as the shared memory carveout
|
||||||
hipFuncAttributeMax
|
hipFuncAttributeMax
|
||||||
} hipFuncAttribute;
|
} hipFuncAttribute;
|
||||||
/**
|
/**
|
||||||
* @warning On AMD devices and some Nvidia devices, these hints and controls are ignored.
|
* @warning On AMD devices and some Nvidia devices, these hints and controls are ignored.
|
||||||
@@ -1429,20 +1429,21 @@ typedef struct hipAccessPolicyWindow {
|
|||||||
* Launch Attribute ID
|
* Launch Attribute ID
|
||||||
*/
|
*/
|
||||||
typedef enum hipLaunchAttributeID {
|
typedef enum hipLaunchAttributeID {
|
||||||
hipLaunchAttributeAccessPolicyWindow = 1, /**< Valid for Streams, graph nodes, launches*/
|
hipLaunchAttributeAccessPolicyWindow = 1, ///< Valid for Streams, graph nodes, launches
|
||||||
hipLaunchAttributeCooperative = 2, /**< Valid for graph nodes, launches */
|
hipLaunchAttributeCooperative = 2, ///< Valid for graph nodes, launches
|
||||||
hipLaunchAttributePriority = 8, /**< Valid for graph node, streams, launches */
|
hipLaunchAttributePriority = 8, ///< Valid for graph node, streams, launches
|
||||||
|
hipLaunchAttributeMax
|
||||||
} hipLaunchAttributeID;
|
} hipLaunchAttributeID;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Launch Attribute Value
|
* Launch Attribute Value
|
||||||
*/
|
*/
|
||||||
typedef union hipLaunchAttributeValue {
|
typedef union hipLaunchAttributeValue {
|
||||||
hipAccessPolicyWindow accessPolicyWindow; /**< Value of launch attribute::
|
char pad[64]; ///< 64 byte padding
|
||||||
hipLaunchAttributePolicyWindow. */
|
hipAccessPolicyWindow accessPolicyWindow; ///< Value of launch attribute ::hipLaunchAttributePolicyWindow.
|
||||||
int cooperative; /**< Value of launch attribute ::hipLaunchAttributeCooperative */
|
int cooperative; ///< Value of launch attribute ::hipLaunchAttributeCooperative. Indicates whether the kernel is cooperative.
|
||||||
int priority; /**< Value of launch attribute :: hipLaunchAttributePriority. Execution
|
int priority; ///< Value of launch attribute :: hipLaunchAttributePriority. Execution priority of kernel
|
||||||
priority of kernel. */
|
|
||||||
} hipLaunchAttributeValue;
|
} hipLaunchAttributeValue;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1791,6 +1792,47 @@ typedef struct hipGraphEdgeData {
|
|||||||
unsigned char type; ///< This should be populated with a value from hipGraphDependencyType
|
unsigned char type; ///< This should be populated with a value from hipGraphDependencyType
|
||||||
} hipGraphEdgeData;
|
} hipGraphEdgeData;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used to specify custom attributes for launching kernels
|
||||||
|
*/
|
||||||
|
typedef struct hipLaunchAttribute_st {
|
||||||
|
hipLaunchAttributeID id; ///< Identifier of the launch attribute
|
||||||
|
char pad[8 - sizeof(hipLaunchAttributeID)]; ///< Padding to align the structure to 8 bytes
|
||||||
|
union {
|
||||||
|
hipLaunchAttributeValue val; ///< Value associated with the launch attribute
|
||||||
|
hipLaunchAttributeValue value; ///< Value associated with the launch attribute
|
||||||
|
};
|
||||||
|
} hipLaunchAttribute;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* HIP extensible launch configuration
|
||||||
|
*/
|
||||||
|
typedef struct hipLaunchConfig_st {
|
||||||
|
dim3 gridDim; ///< Grid dimensions
|
||||||
|
dim3 blockDim; ///< Block dimensions
|
||||||
|
size_t dynamicSmemBytes; ///< Dynamic shared-memory size per thread block
|
||||||
|
hipStream_t stream; ///< Stream identifier
|
||||||
|
hipLaunchAttribute* attrs; ///< Attributes list
|
||||||
|
unsigned int numAttrs; ///< Number of attributes
|
||||||
|
} hipLaunchConfig_t;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* HIP driver extensible launch configuration
|
||||||
|
*/
|
||||||
|
typedef struct HIP_LAUNCH_CONFIG_st {
|
||||||
|
unsigned int gridDimX; ///< Grid width in blocks
|
||||||
|
unsigned int gridDimY; ///< Grid height in blocks
|
||||||
|
unsigned int gridDimZ; ///< Grid depth in blocks
|
||||||
|
unsigned int blockDimX; ///< Thread block dimension in X
|
||||||
|
unsigned int blockDimY; ///< Thread block dimension in Y
|
||||||
|
unsigned int blockDimZ; ///< Thread block dimension in Z
|
||||||
|
unsigned int sharedMemBytes; ///< Dynamic shared-memory size in bytes per block
|
||||||
|
hipStream_t hStream; ///< HIP stream identifier
|
||||||
|
hipLaunchAttribute* attrs; ///< Attribute list
|
||||||
|
unsigned int numAttrs; ///< Number of attributes
|
||||||
|
} HIP_LAUNCH_CONFIG;
|
||||||
|
|
||||||
// Doxygen end group GlobalDefs
|
// Doxygen end group GlobalDefs
|
||||||
/**
|
/**
|
||||||
* @}
|
* @}
|
||||||
@@ -6111,6 +6153,37 @@ hipError_t hipLaunchCooperativeKernelMultiDevice(hipLaunchParams* launchParamsLi
|
|||||||
*/
|
*/
|
||||||
hipError_t hipExtLaunchMultiKernelMultiDevice(hipLaunchParams* launchParamsList,
|
hipError_t hipExtLaunchMultiKernelMultiDevice(hipLaunchParams* launchParamsList,
|
||||||
int numDevices, unsigned int flags);
|
int numDevices, unsigned int flags);
|
||||||
|
/**
|
||||||
|
* @brief Launches a HIP kernel using a generic function pointer and the specified configuration.
|
||||||
|
* @ingroup Execution
|
||||||
|
*
|
||||||
|
* This function is equivalent to hipLaunchKernelEx but accepts the kernel as a generic function
|
||||||
|
* pointer.
|
||||||
|
*
|
||||||
|
* @param [in] config Pointer to the kernel launch configuration structure.
|
||||||
|
* @param [in] fPtr Pointer to the device kernel function.
|
||||||
|
* @param [in] args Array of pointers to the kernel arguments.
|
||||||
|
*
|
||||||
|
* @returns #hipSuccess if the kernel is launched successfully, otherwise an appropriate error code.
|
||||||
|
*/
|
||||||
|
hipError_t hipLaunchKernelExC(const hipLaunchConfig_t* config, const void* fPtr, void** args);
|
||||||
|
/**
|
||||||
|
* @brief Launches a HIP kernel using the driver API with the specified configuration.
|
||||||
|
* @ingroup Execution
|
||||||
|
*
|
||||||
|
* This function dispatches the device kernel represented by a HIP function object.
|
||||||
|
* It passes both the kernel parameters and any extra configuration arguments to the kernel launch.
|
||||||
|
*
|
||||||
|
* @param [in] config Pointer to the kernel launch configuration structure.
|
||||||
|
* @param [in] f HIP function object representing the device kernel to be launched.
|
||||||
|
* @param [in] params Array of pointers to the kernel parameters.
|
||||||
|
* @param [in] extra Array of pointers for additional launch parameters or extra configuration
|
||||||
|
* data.
|
||||||
|
*
|
||||||
|
* @returns #hipSuccess if the kernel is launched successfully, otherwise an appropriate error code.
|
||||||
|
*/
|
||||||
|
hipError_t hipDrvLaunchKernelEx(const HIP_LAUNCH_CONFIG* config, hipFunction_t f, void** params,
|
||||||
|
void** extra);
|
||||||
// doxygen end Module
|
// doxygen end Module
|
||||||
/**
|
/**
|
||||||
* @}
|
* @}
|
||||||
|
|||||||
Reference in New Issue
Block a user