@@ -271,7 +271,6 @@ typedef enum ur_structure_type_t {
271
271
UR_STRUCTURE_TYPE_EXP_COMMAND_BUFFER_UPDATE_MEMOBJ_ARG_DESC = 0x1002, ///< ::ur_exp_command_buffer_update_memobj_arg_desc_t
272
272
UR_STRUCTURE_TYPE_EXP_COMMAND_BUFFER_UPDATE_POINTER_ARG_DESC = 0x1003, ///< ::ur_exp_command_buffer_update_pointer_arg_desc_t
273
273
UR_STRUCTURE_TYPE_EXP_COMMAND_BUFFER_UPDATE_VALUE_ARG_DESC = 0x1004, ///< ::ur_exp_command_buffer_update_value_arg_desc_t
274
- UR_STRUCTURE_TYPE_EXP_COMMAND_BUFFER_UPDATE_EXEC_INFO_DESC = 0x1005, ///< ::ur_exp_command_buffer_update_exec_info_desc_t
275
274
UR_STRUCTURE_TYPE_EXP_SAMPLER_MIP_PROPERTIES = 0x2000, ///< ::ur_exp_sampler_mip_properties_t
276
275
UR_STRUCTURE_TYPE_EXP_INTEROP_MEM_DESC = 0x2001, ///< ::ur_exp_interop_mem_desc_t
277
276
UR_STRUCTURE_TYPE_EXP_INTEROP_SEMAPHORE_DESC = 0x2002, ///< ::ur_exp_interop_semaphore_desc_t
@@ -8022,19 +8021,6 @@ typedef struct ur_exp_command_buffer_update_value_arg_desc_t {
8022
8021
8023
8022
} ur_exp_command_buffer_update_value_arg_desc_t;
8024
8023
8025
- ///////////////////////////////////////////////////////////////////////////////
8026
- /// @brief Descriptor type for updating kernel command execution info.
8027
- typedef struct ur_exp_command_buffer_update_exec_info_desc_t {
8028
- ur_structure_type_t stype; ///< [in] type of this structure, must be
8029
- ///< ::UR_STRUCTURE_TYPE_EXP_COMMAND_BUFFER_UPDATE_EXEC_INFO_DESC
8030
- const void *pNext; ///< [in][optional] pointer to extension-specific structure
8031
- ur_kernel_exec_info_t propName; ///< [in] Name of execution attribute.
8032
- size_t propSize; ///< [in] Size of execution attribute.
8033
- const ur_kernel_exec_info_properties_t *pProperties; ///< [in][optional] Pointer to execution info properties.
8034
- const void *pNewExecInfo; ///< [in] Pointer to memory location holding the execution info value.
8035
-
8036
- } ur_exp_command_buffer_update_exec_info_desc_t;
8037
-
8038
8024
///////////////////////////////////////////////////////////////////////////////
8039
8025
/// @brief Descriptor type for updating a kernel launch command.
8040
8026
typedef struct ur_exp_command_buffer_update_kernel_launch_desc_t {
@@ -8044,24 +8030,23 @@ typedef struct ur_exp_command_buffer_update_kernel_launch_desc_t {
8044
8030
uint32_t numNewMemObjArgs; ///< [in] Length of pNewMemObjArgList.
8045
8031
uint32_t numNewPointerArgs; ///< [in] Length of pNewPointerArgList.
8046
8032
uint32_t numNewValueArgs; ///< [in] Length of pNewValueArgList.
8047
- uint32_t numNewExecInfos; ///< [in] Length of pNewExecInfoList.
8048
8033
uint32_t newWorkDim; ///< [in] Number of work dimensions in the kernel ND-range, from 1-3.
8049
8034
const ur_exp_command_buffer_update_memobj_arg_desc_t *pNewMemObjArgList; ///< [in][optional][range(0, numNewMemObjArgs)] An array describing the new
8050
8035
///< kernel mem obj arguments for the command.
8051
8036
const ur_exp_command_buffer_update_pointer_arg_desc_t *pNewPointerArgList; ///< [in][optional][range(0, numNewPointerArgs)] An array describing the
8052
8037
///< new kernel pointer arguments for the command.
8053
8038
const ur_exp_command_buffer_update_value_arg_desc_t *pNewValueArgList; ///< [in][optional][range(0, numNewValueArgs)] An array describing the new
8054
8039
///< kernel value arguments for the command.
8055
- const ur_exp_command_buffer_update_exec_info_desc_t *pNewExecInfoList; ///< [in][optional][range(0, numNewExecInfos)] An array describing the
8056
- ///< execution info objects for the command.
8057
8040
size_t *pNewGlobalWorkOffset; ///< [in][optional][range(0, newWorkDim)] Array of newWorkDim unsigned
8058
8041
///< values that describe the offset used to calculate the global ID.
8059
8042
size_t *pNewGlobalWorkSize; ///< [in][optional][range(0, newWorkDim)] Array of newWorkDim unsigned
8060
8043
///< values that describe the number of global work-items.
8061
8044
size_t *pNewLocalWorkSize; ///< [in][optional][range(0, newWorkDim)] Array of newWorkDim unsigned
8062
8045
///< values that describe the number of work-items that make up a
8063
- ///< work-group. If nullptr, the runtime implementation will choose the
8064
- ///< work-group size.
8046
+ ///< work-group. If newWorkDim is non-zero and pNewLocalWorkSize is
8047
+ ///< nullptr, then runtime implementation will choose the work-group size.
8048
+ ///< If newWorkDim is zero and pNewLocalWorkSize is nullptr, then the local
8049
+ ///< work size is unchanged.
8065
8050
8066
8051
} ur_exp_command_buffer_update_kernel_launch_desc_t;
8067
8052
@@ -8096,6 +8081,8 @@ typedef struct ur_exp_command_buffer_command_handle_t_ *ur_exp_command_buffer_co
8096
8081
/// + `NULL == phCommandBuffer`
8097
8082
/// - ::UR_RESULT_ERROR_INVALID_CONTEXT
8098
8083
/// - ::UR_RESULT_ERROR_INVALID_DEVICE
8084
+ /// - ::UR_RESULT_ERROR_INVALID_OPERATION
8085
+ /// + If `pCommandBufferDesc->isUpdatable` is true and `hDevice` does not support UR_DEVICE_INFO_COMMAND_BUFFER_UPDATE_SUPPORT_EXP.
8099
8086
/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
8100
8087
/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
8101
8088
UR_APIEXPORT ur_result_t UR_APICALL
@@ -8176,7 +8163,6 @@ urCommandBufferFinalizeExp(
8176
8163
/// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
8177
8164
/// + `NULL == pGlobalWorkOffset`
8178
8165
/// + `NULL == pGlobalWorkSize`
8179
- /// + `NULL == pLocalWorkSize`
8180
8166
/// - ::UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_EXP
8181
8167
/// - ::UR_RESULT_ERROR_INVALID_KERNEL
8182
8168
/// - ::UR_RESULT_ERROR_INVALID_WORK_DIMENSION
@@ -8195,7 +8181,7 @@ urCommandBufferAppendKernelLaunchExp(
8195
8181
uint32_t workDim, ///< [in] Dimension of the kernel execution.
8196
8182
const size_t *pGlobalWorkOffset, ///< [in] Offset to use when executing kernel.
8197
8183
const size_t *pGlobalWorkSize, ///< [in] Global work size to use when executing kernel.
8198
- const size_t *pLocalWorkSize, ///< [in] Local work size to use when executing kernel.
8184
+ const size_t *pLocalWorkSize, ///< [in][optional] Local work size to use when executing kernel.
8199
8185
uint32_t numSyncPointsInWaitList, ///< [in] The number of sync points in the provided dependency list.
8200
8186
const ur_exp_command_buffer_sync_point_t *pSyncPointWaitList, ///< [in][optional] A list of sync points that this command depends on.
8201
8187
ur_exp_command_buffer_sync_point_t *pSyncPoint, ///< [out][optional] Sync point associated with this command.
@@ -8697,6 +8683,10 @@ urCommandBufferReleaseCommandExp(
8697
8683
/// - ::UR_RESULT_ERROR_INVALID_OPERATION
8698
8684
/// + If ::ur_exp_command_buffer_desc_t::isUpdatable was not set to true on creation of the command buffer `hCommand` belongs to.
8699
8685
/// + If the command-buffer `hCommand` belongs to has not been finalized.
8686
+ /// + If `pUpdateKernellaunch->newWorkDim` is non-zero and different from the work-dim used on creation of `hCommand`.
8687
+ /// + If `pUpdateKernellaunch->newWorkDim` is non-zero and `pUpdateKernelLaunch->pNewLocalWorkSize` is set to a non-NULL value and `pUpdateKernelLaunch->pNewGlobalWorkSize` is NULL.
8688
+ /// + 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.
8689
+ /// + 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.
8700
8690
/// - ::UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_COMMAND_HANDLE_EXP
8701
8691
/// - ::UR_RESULT_ERROR_INVALID_MEM_OBJECT
8702
8692
/// - ::UR_RESULT_ERROR_INVALID_KERNEL_ARGUMENT_INDEX
0 commit comments