@@ -272,7 +272,6 @@ typedef enum ur_structure_type_t {
272
272
UR_STRUCTURE_TYPE_EXP_COMMAND_BUFFER_UPDATE_MEMOBJ_ARG_DESC = 0x1002, ///< ::ur_exp_command_buffer_update_memobj_arg_desc_t
273
273
UR_STRUCTURE_TYPE_EXP_COMMAND_BUFFER_UPDATE_POINTER_ARG_DESC = 0x1003, ///< ::ur_exp_command_buffer_update_pointer_arg_desc_t
274
274
UR_STRUCTURE_TYPE_EXP_COMMAND_BUFFER_UPDATE_VALUE_ARG_DESC = 0x1004, ///< ::ur_exp_command_buffer_update_value_arg_desc_t
275
- UR_STRUCTURE_TYPE_EXP_COMMAND_BUFFER_UPDATE_EXEC_INFO_DESC = 0x1005, ///< ::ur_exp_command_buffer_update_exec_info_desc_t
276
275
UR_STRUCTURE_TYPE_EXP_SAMPLER_MIP_PROPERTIES = 0x2000, ///< ::ur_exp_sampler_mip_properties_t
277
276
UR_STRUCTURE_TYPE_EXP_INTEROP_MEM_DESC = 0x2001, ///< ::ur_exp_interop_mem_desc_t
278
277
UR_STRUCTURE_TYPE_EXP_INTEROP_SEMAPHORE_DESC = 0x2002, ///< ::ur_exp_interop_semaphore_desc_t
@@ -8060,19 +8059,6 @@ typedef struct ur_exp_command_buffer_update_value_arg_desc_t {
8060
8059
8061
8060
} ur_exp_command_buffer_update_value_arg_desc_t;
8062
8061
8063
- ///////////////////////////////////////////////////////////////////////////////
8064
- /// @brief Descriptor type for updating kernel command execution info.
8065
- typedef struct ur_exp_command_buffer_update_exec_info_desc_t {
8066
- ur_structure_type_t stype; ///< [in] type of this structure, must be
8067
- ///< ::UR_STRUCTURE_TYPE_EXP_COMMAND_BUFFER_UPDATE_EXEC_INFO_DESC
8068
- const void *pNext; ///< [in][optional] pointer to extension-specific structure
8069
- ur_kernel_exec_info_t propName; ///< [in] Name of execution attribute.
8070
- size_t propSize; ///< [in] Size of execution attribute.
8071
- const ur_kernel_exec_info_properties_t *pProperties; ///< [in][optional] Pointer to execution info properties.
8072
- const void *pNewExecInfo; ///< [in] Pointer to memory location holding the execution info value.
8073
-
8074
- } ur_exp_command_buffer_update_exec_info_desc_t;
8075
-
8076
8062
///////////////////////////////////////////////////////////////////////////////
8077
8063
/// @brief Descriptor type for updating a kernel launch command.
8078
8064
typedef struct ur_exp_command_buffer_update_kernel_launch_desc_t {
@@ -8082,24 +8068,23 @@ typedef struct ur_exp_command_buffer_update_kernel_launch_desc_t {
8082
8068
uint32_t numNewMemObjArgs; ///< [in] Length of pNewMemObjArgList.
8083
8069
uint32_t numNewPointerArgs; ///< [in] Length of pNewPointerArgList.
8084
8070
uint32_t numNewValueArgs; ///< [in] Length of pNewValueArgList.
8085
- uint32_t numNewExecInfos; ///< [in] Length of pNewExecInfoList.
8086
8071
uint32_t newWorkDim; ///< [in] Number of work dimensions in the kernel ND-range, from 1-3.
8087
8072
const ur_exp_command_buffer_update_memobj_arg_desc_t *pNewMemObjArgList; ///< [in][optional][range(0, numNewMemObjArgs)] An array describing the new
8088
8073
///< kernel mem obj arguments for the command.
8089
8074
const ur_exp_command_buffer_update_pointer_arg_desc_t *pNewPointerArgList; ///< [in][optional][range(0, numNewPointerArgs)] An array describing the
8090
8075
///< new kernel pointer arguments for the command.
8091
8076
const ur_exp_command_buffer_update_value_arg_desc_t *pNewValueArgList; ///< [in][optional][range(0, numNewValueArgs)] An array describing the new
8092
8077
///< kernel value arguments for the command.
8093
- const ur_exp_command_buffer_update_exec_info_desc_t *pNewExecInfoList; ///< [in][optional][range(0, numNewExecInfos)] An array describing the
8094
- ///< execution info objects for the command.
8095
8078
size_t *pNewGlobalWorkOffset; ///< [in][optional][range(0, newWorkDim)] Array of newWorkDim unsigned
8096
8079
///< values that describe the offset used to calculate the global ID.
8097
8080
size_t *pNewGlobalWorkSize; ///< [in][optional][range(0, newWorkDim)] Array of newWorkDim unsigned
8098
8081
///< values that describe the number of global work-items.
8099
8082
size_t *pNewLocalWorkSize; ///< [in][optional][range(0, newWorkDim)] Array of newWorkDim unsigned
8100
8083
///< values that describe the number of work-items that make up a
8101
- ///< work-group. If nullptr, the runtime implementation will choose the
8102
- ///< work-group size.
8084
+ ///< work-group. If newWorkDim is non-zero and pNewLocalWorkSize is
8085
+ ///< nullptr, then runtime implementation will choose the work-group size.
8086
+ ///< If newWorkDim is zero and pNewLocalWorkSize is nullptr, then the local
8087
+ ///< work size is unchanged.
8103
8088
8104
8089
} ur_exp_command_buffer_update_kernel_launch_desc_t;
8105
8090
@@ -8134,6 +8119,8 @@ typedef struct ur_exp_command_buffer_command_handle_t_ *ur_exp_command_buffer_co
8134
8119
/// + `NULL == phCommandBuffer`
8135
8120
/// - ::UR_RESULT_ERROR_INVALID_CONTEXT
8136
8121
/// - ::UR_RESULT_ERROR_INVALID_DEVICE
8122
+ /// - ::UR_RESULT_ERROR_INVALID_OPERATION
8123
+ /// + If `pCommandBufferDesc->isUpdatable` is true and `hDevice` does not support UR_DEVICE_INFO_COMMAND_BUFFER_UPDATE_SUPPORT_EXP.
8137
8124
/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
8138
8125
/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
8139
8126
UR_APIEXPORT ur_result_t UR_APICALL
@@ -8214,7 +8201,6 @@ urCommandBufferFinalizeExp(
8214
8201
/// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
8215
8202
/// + `NULL == pGlobalWorkOffset`
8216
8203
/// + `NULL == pGlobalWorkSize`
8217
- /// + `NULL == pLocalWorkSize`
8218
8204
/// - ::UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_EXP
8219
8205
/// - ::UR_RESULT_ERROR_INVALID_KERNEL
8220
8206
/// - ::UR_RESULT_ERROR_INVALID_WORK_DIMENSION
@@ -8233,7 +8219,7 @@ urCommandBufferAppendKernelLaunchExp(
8233
8219
uint32_t workDim, ///< [in] Dimension of the kernel execution.
8234
8220
const size_t *pGlobalWorkOffset, ///< [in] Offset to use when executing kernel.
8235
8221
const size_t *pGlobalWorkSize, ///< [in] Global work size to use when executing kernel.
8236
- const size_t *pLocalWorkSize, ///< [in] Local work size to use when executing kernel.
8222
+ const size_t *pLocalWorkSize, ///< [in][optional] Local work size to use when executing kernel.
8237
8223
uint32_t numSyncPointsInWaitList, ///< [in] The number of sync points in the provided dependency list.
8238
8224
const ur_exp_command_buffer_sync_point_t *pSyncPointWaitList, ///< [in][optional] A list of sync points that this command depends on.
8239
8225
ur_exp_command_buffer_sync_point_t *pSyncPoint, ///< [out][optional] Sync point associated with this command.
@@ -8735,6 +8721,10 @@ urCommandBufferReleaseCommandExp(
8735
8721
/// - ::UR_RESULT_ERROR_INVALID_OPERATION
8736
8722
/// + If ::ur_exp_command_buffer_desc_t::isUpdatable was not set to true on creation of the command buffer `hCommand` belongs to.
8737
8723
/// + If the command-buffer `hCommand` belongs to has not been finalized.
8724
+ /// + If `pUpdateKernellaunch->newWorkDim` is non-zero and different from the work-dim used on creation of `hCommand`.
8725
+ /// + If `pUpdateKernellaunch->newWorkDim` is non-zero and `pUpdateKernelLaunch->pNewLocalWorkSize` is set to a non-NULL value and `pUpdateKernelLaunch->pNewGlobalWorkSize` is NULL.
8726
+ /// + If `pUpdateKernellaunch->newWorkDim` is non-zero and `pUpdateKernelLaunch->pNewLocalWorkSize` is set to a non-NULL value when `hCommand` was created with a NULL local work size.
8727
+ /// + If `pUpdateKernellaunch->newWorkDim` is non-zero and `pUpdateKernelLaunch->pNewLocalWorkSize` is set to a NULL value when `hCommand` was created with a non-NULL local work size.
8738
8728
/// - ::UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_COMMAND_HANDLE_EXP
8739
8729
/// - ::UR_RESULT_ERROR_INVALID_MEM_OBJECT
8740
8730
/// - ::UR_RESULT_ERROR_INVALID_KERNEL_ARGUMENT_INDEX
0 commit comments