@@ -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
@@ -7990,19 +7989,6 @@ typedef struct ur_exp_command_buffer_update_value_arg_desc_t {
7990
7989
7991
7990
} ur_exp_command_buffer_update_value_arg_desc_t;
7992
7991
7993
- ///////////////////////////////////////////////////////////////////////////////
7994
- /// @brief Descriptor type for updating kernel command execution info.
7995
- typedef struct ur_exp_command_buffer_update_exec_info_desc_t {
7996
- ur_structure_type_t stype; ///< [in] type of this structure, must be
7997
- ///< ::UR_STRUCTURE_TYPE_EXP_COMMAND_BUFFER_UPDATE_EXEC_INFO_DESC
7998
- const void *pNext; ///< [in][optional] pointer to extension-specific structure
7999
- ur_kernel_exec_info_t propName; ///< [in] Name of execution attribute.
8000
- size_t propSize; ///< [in] Size of execution attribute.
8001
- const ur_kernel_exec_info_properties_t *pProperties; ///< [in][optional] Pointer to execution info properties.
8002
- const void *pNewExecInfo; ///< [in] Pointer to memory location holding the execution info value.
8003
-
8004
- } ur_exp_command_buffer_update_exec_info_desc_t;
8005
-
8006
7992
///////////////////////////////////////////////////////////////////////////////
8007
7993
/// @brief Descriptor type for updating a kernel launch command.
8008
7994
typedef struct ur_exp_command_buffer_update_kernel_launch_desc_t {
@@ -8012,24 +7998,23 @@ typedef struct ur_exp_command_buffer_update_kernel_launch_desc_t {
8012
7998
uint32_t numNewMemObjArgs; ///< [in] Length of pNewMemObjArgList.
8013
7999
uint32_t numNewPointerArgs; ///< [in] Length of pNewPointerArgList.
8014
8000
uint32_t numNewValueArgs; ///< [in] Length of pNewValueArgList.
8015
- uint32_t numNewExecInfos; ///< [in] Length of pNewExecInfoList.
8016
8001
uint32_t newWorkDim; ///< [in] Number of work dimensions in the kernel ND-range, from 1-3.
8017
8002
const ur_exp_command_buffer_update_memobj_arg_desc_t *pNewMemObjArgList; ///< [in][optional][range(0, numNewMemObjArgs)] An array describing the new
8018
8003
///< kernel mem obj arguments for the command.
8019
8004
const ur_exp_command_buffer_update_pointer_arg_desc_t *pNewPointerArgList; ///< [in][optional][range(0, numNewPointerArgs)] An array describing the
8020
8005
///< new kernel pointer arguments for the command.
8021
8006
const ur_exp_command_buffer_update_value_arg_desc_t *pNewValueArgList; ///< [in][optional][range(0, numNewValueArgs)] An array describing the new
8022
8007
///< kernel value arguments for the command.
8023
- const ur_exp_command_buffer_update_exec_info_desc_t *pNewExecInfoList; ///< [in][optional][range(0, numNewExecInfos)] An array describing the
8024
- ///< execution info objects for the command.
8025
8008
size_t *pNewGlobalWorkOffset; ///< [in][optional][range(0, newWorkDim)] Array of newWorkDim unsigned
8026
8009
///< values that describe the offset used to calculate the global ID.
8027
8010
size_t *pNewGlobalWorkSize; ///< [in][optional][range(0, newWorkDim)] Array of newWorkDim unsigned
8028
8011
///< values that describe the number of global work-items.
8029
8012
size_t *pNewLocalWorkSize; ///< [in][optional][range(0, newWorkDim)] Array of newWorkDim unsigned
8030
8013
///< values that describe the number of work-items that make up a
8031
- ///< work-group. If nullptr, the runtime implementation will choose the
8032
- ///< work-group size.
8014
+ ///< work-group. If newWorkDim is non-zero and pNewLocalWorkSize is
8015
+ ///< nullptr, then runtime implementation will choose the work-group size.
8016
+ ///< If newWorkDim is zero and pNewLocalWorkSize is nullptr, then the local
8017
+ ///< work size is unchanged.
8033
8018
8034
8019
} ur_exp_command_buffer_update_kernel_launch_desc_t;
8035
8020
@@ -8064,6 +8049,8 @@ typedef struct ur_exp_command_buffer_command_handle_t_ *ur_exp_command_buffer_co
8064
8049
/// + `NULL == phCommandBuffer`
8065
8050
/// - ::UR_RESULT_ERROR_INVALID_CONTEXT
8066
8051
/// - ::UR_RESULT_ERROR_INVALID_DEVICE
8052
+ /// - ::UR_RESULT_ERROR_INVALID_OPERATION
8053
+ /// + If `pCommandBufferDesc->isUpdatable` is true and `hDevice` does not support UR_DEVICE_INFO_COMMAND_BUFFER_UPDATE_SUPPORT_EXP.
8067
8054
/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
8068
8055
/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
8069
8056
UR_APIEXPORT ur_result_t UR_APICALL
@@ -8144,7 +8131,6 @@ urCommandBufferFinalizeExp(
8144
8131
/// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
8145
8132
/// + `NULL == pGlobalWorkOffset`
8146
8133
/// + `NULL == pGlobalWorkSize`
8147
- /// + `NULL == pLocalWorkSize`
8148
8134
/// - ::UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_EXP
8149
8135
/// - ::UR_RESULT_ERROR_INVALID_KERNEL
8150
8136
/// - ::UR_RESULT_ERROR_INVALID_WORK_DIMENSION
@@ -8163,7 +8149,7 @@ urCommandBufferAppendKernelLaunchExp(
8163
8149
uint32_t workDim, ///< [in] Dimension of the kernel execution.
8164
8150
const size_t *pGlobalWorkOffset, ///< [in] Offset to use when executing kernel.
8165
8151
const size_t *pGlobalWorkSize, ///< [in] Global work size to use when executing kernel.
8166
- const size_t *pLocalWorkSize, ///< [in] Local work size to use when executing kernel.
8152
+ const size_t *pLocalWorkSize, ///< [in][optional] Local work size to use when executing kernel.
8167
8153
uint32_t numSyncPointsInWaitList, ///< [in] The number of sync points in the provided dependency list.
8168
8154
const ur_exp_command_buffer_sync_point_t *pSyncPointWaitList, ///< [in][optional] A list of sync points that this command depends on.
8169
8155
ur_exp_command_buffer_sync_point_t *pSyncPoint, ///< [out][optional] Sync point associated with this command.
@@ -8665,6 +8651,10 @@ urCommandBufferReleaseCommandExp(
8665
8651
/// - ::UR_RESULT_ERROR_INVALID_OPERATION
8666
8652
/// + If ::ur_exp_command_buffer_desc_t::isUpdatable was not set to true on creation of the command buffer `hCommand` belongs to.
8667
8653
/// + If the command-buffer `hCommand` belongs to has not been finalized.
8654
+ /// + If `pUpdateKernellaunch->newWorkDim` is non-zero and different from the work-dim used on creation of `hCommand`.
8655
+ /// + If `pUpdateKernellaunch->newWorkDim` is non-zero and `pUpdateKernelLaunch->pNewLocalWorkSize` is set to a non-NULL value and `pUpdateKernelLaunch->pNewGlobalWorkSize` is NULL.
8656
+ /// + 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.
8657
+ /// + 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.
8668
8658
/// - ::UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_COMMAND_HANDLE_EXP
8669
8659
/// - ::UR_RESULT_ERROR_INVALID_MEM_OBJECT
8670
8660
/// - ::UR_RESULT_ERROR_INVALID_KERNEL_ARGUMENT_INDEX
0 commit comments