@@ -271,7 +271,6 @@ typedef enum ur_structure_type_t {
271271 UR_STRUCTURE_TYPE_EXP_COMMAND_BUFFER_UPDATE_MEMOBJ_ARG_DESC = 0x1002, ///< ::ur_exp_command_buffer_update_memobj_arg_desc_t
272272 UR_STRUCTURE_TYPE_EXP_COMMAND_BUFFER_UPDATE_POINTER_ARG_DESC = 0x1003, ///< ::ur_exp_command_buffer_update_pointer_arg_desc_t
273273 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
275274 UR_STRUCTURE_TYPE_EXP_SAMPLER_MIP_PROPERTIES = 0x2000, ///< ::ur_exp_sampler_mip_properties_t
276275 UR_STRUCTURE_TYPE_EXP_INTEROP_MEM_DESC = 0x2001, ///< ::ur_exp_interop_mem_desc_t
277276 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 {
80228021
80238022} ur_exp_command_buffer_update_value_arg_desc_t;
80248023
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-
80388024///////////////////////////////////////////////////////////////////////////////
80398025/// @brief Descriptor type for updating a kernel launch command.
80408026typedef 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 {
80448030 uint32_t numNewMemObjArgs; ///< [in] Length of pNewMemObjArgList.
80458031 uint32_t numNewPointerArgs; ///< [in] Length of pNewPointerArgList.
80468032 uint32_t numNewValueArgs; ///< [in] Length of pNewValueArgList.
8047- uint32_t numNewExecInfos; ///< [in] Length of pNewExecInfoList.
80488033 uint32_t newWorkDim; ///< [in] Number of work dimensions in the kernel ND-range, from 1-3.
80498034 const ur_exp_command_buffer_update_memobj_arg_desc_t *pNewMemObjArgList; ///< [in][optional][range(0, numNewMemObjArgs)] An array describing the new
80508035 ///< kernel mem obj arguments for the command.
80518036 const ur_exp_command_buffer_update_pointer_arg_desc_t *pNewPointerArgList; ///< [in][optional][range(0, numNewPointerArgs)] An array describing the
80528037 ///< new kernel pointer arguments for the command.
80538038 const ur_exp_command_buffer_update_value_arg_desc_t *pNewValueArgList; ///< [in][optional][range(0, numNewValueArgs)] An array describing the new
80548039 ///< 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.
80578040 size_t *pNewGlobalWorkOffset; ///< [in][optional][range(0, newWorkDim)] Array of newWorkDim unsigned
80588041 ///< values that describe the offset used to calculate the global ID.
80598042 size_t *pNewGlobalWorkSize; ///< [in][optional][range(0, newWorkDim)] Array of newWorkDim unsigned
80608043 ///< values that describe the number of global work-items.
80618044 size_t *pNewLocalWorkSize; ///< [in][optional][range(0, newWorkDim)] Array of newWorkDim unsigned
80628045 ///< 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.
80658050
80668051} ur_exp_command_buffer_update_kernel_launch_desc_t;
80678052
@@ -8096,6 +8081,8 @@ typedef struct ur_exp_command_buffer_command_handle_t_ *ur_exp_command_buffer_co
80968081/// + `NULL == phCommandBuffer`
80978082/// - ::UR_RESULT_ERROR_INVALID_CONTEXT
80988083/// - ::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.
80998086/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
81008087/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
81018088UR_APIEXPORT ur_result_t UR_APICALL
@@ -8176,7 +8163,6 @@ urCommandBufferFinalizeExp(
81768163/// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
81778164/// + `NULL == pGlobalWorkOffset`
81788165/// + `NULL == pGlobalWorkSize`
8179- /// + `NULL == pLocalWorkSize`
81808166/// - ::UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_EXP
81818167/// - ::UR_RESULT_ERROR_INVALID_KERNEL
81828168/// - ::UR_RESULT_ERROR_INVALID_WORK_DIMENSION
@@ -8195,7 +8181,7 @@ urCommandBufferAppendKernelLaunchExp(
81958181 uint32_t workDim, ///< [in] Dimension of the kernel execution.
81968182 const size_t *pGlobalWorkOffset, ///< [in] Offset to use when executing kernel.
81978183 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.
81998185 uint32_t numSyncPointsInWaitList, ///< [in] The number of sync points in the provided dependency list.
82008186 const ur_exp_command_buffer_sync_point_t *pSyncPointWaitList, ///< [in][optional] A list of sync points that this command depends on.
82018187 ur_exp_command_buffer_sync_point_t *pSyncPoint, ///< [out][optional] Sync point associated with this command.
@@ -8697,6 +8683,10 @@ urCommandBufferReleaseCommandExp(
86978683/// - ::UR_RESULT_ERROR_INVALID_OPERATION
86988684/// + If ::ur_exp_command_buffer_desc_t::isUpdatable was not set to true on creation of the command buffer `hCommand` belongs to.
86998685/// + 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.
87008690/// - ::UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_COMMAND_HANDLE_EXP
87018691/// - ::UR_RESULT_ERROR_INVALID_MEM_OBJECT
87028692/// - ::UR_RESULT_ERROR_INVALID_KERNEL_ARGUMENT_INDEX
0 commit comments