@@ -270,7 +270,6 @@ typedef enum ur_structure_type_t {
270
270
UR_STRUCTURE_TYPE_EXP_COMMAND_BUFFER_UPDATE_MEMOBJ_ARG_DESC = 0x1002, ///< ::ur_exp_command_buffer_update_memobj_arg_desc_t
271
271
UR_STRUCTURE_TYPE_EXP_COMMAND_BUFFER_UPDATE_POINTER_ARG_DESC = 0x1003, ///< ::ur_exp_command_buffer_update_pointer_arg_desc_t
272
272
UR_STRUCTURE_TYPE_EXP_COMMAND_BUFFER_UPDATE_VALUE_ARG_DESC = 0x1004, ///< ::ur_exp_command_buffer_update_value_arg_desc_t
273
- UR_STRUCTURE_TYPE_EXP_COMMAND_BUFFER_UPDATE_EXEC_INFO_DESC = 0x1005, ///< ::ur_exp_command_buffer_update_exec_info_desc_t
274
273
UR_STRUCTURE_TYPE_EXP_SAMPLER_MIP_PROPERTIES = 0x2000, ///< ::ur_exp_sampler_mip_properties_t
275
274
UR_STRUCTURE_TYPE_EXP_INTEROP_MEM_DESC = 0x2001, ///< ::ur_exp_interop_mem_desc_t
276
275
UR_STRUCTURE_TYPE_EXP_INTEROP_SEMAPHORE_DESC = 0x2002, ///< ::ur_exp_interop_semaphore_desc_t
@@ -7897,19 +7896,6 @@ typedef struct ur_exp_command_buffer_update_value_arg_desc_t {
7897
7896
7898
7897
} ur_exp_command_buffer_update_value_arg_desc_t;
7899
7898
7900
- ///////////////////////////////////////////////////////////////////////////////
7901
- /// @brief Descriptor type for updating kernel command execution info.
7902
- typedef struct ur_exp_command_buffer_update_exec_info_desc_t {
7903
- ur_structure_type_t stype; ///< [in] type of this structure, must be
7904
- ///< ::UR_STRUCTURE_TYPE_EXP_COMMAND_BUFFER_UPDATE_EXEC_INFO_DESC
7905
- const void *pNext; ///< [in][optional] pointer to extension-specific structure
7906
- ur_kernel_exec_info_t propName; ///< [in] Name of execution attribute.
7907
- size_t propSize; ///< [in] Size of execution attribute.
7908
- const ur_kernel_exec_info_properties_t *pProperties; ///< [in][optional] Pointer to execution info properties.
7909
- const void *pNewExecInfo; ///< [in] Pointer to memory location holding the execution info value.
7910
-
7911
- } ur_exp_command_buffer_update_exec_info_desc_t;
7912
-
7913
7899
///////////////////////////////////////////////////////////////////////////////
7914
7900
/// @brief Descriptor type for updating a kernel launch command.
7915
7901
typedef struct ur_exp_command_buffer_update_kernel_launch_desc_t {
@@ -7919,24 +7905,23 @@ typedef struct ur_exp_command_buffer_update_kernel_launch_desc_t {
7919
7905
uint32_t numNewMemObjArgs; ///< [in] Length of pNewMemObjArgList.
7920
7906
uint32_t numNewPointerArgs; ///< [in] Length of pNewPointerArgList.
7921
7907
uint32_t numNewValueArgs; ///< [in] Length of pNewValueArgList.
7922
- uint32_t numNewExecInfos; ///< [in] Length of pNewExecInfoList.
7923
7908
uint32_t newWorkDim; ///< [in] Number of work dimensions in the kernel ND-range, from 1-3.
7924
7909
const ur_exp_command_buffer_update_memobj_arg_desc_t *pNewMemObjArgList; ///< [in][optional][range(0, numNewMemObjArgs)] An array describing the new
7925
7910
///< kernel mem obj arguments for the command.
7926
7911
const ur_exp_command_buffer_update_pointer_arg_desc_t *pNewPointerArgList; ///< [in][optional][range(0, numNewPointerArgs)] An array describing the
7927
7912
///< new kernel pointer arguments for the command.
7928
7913
const ur_exp_command_buffer_update_value_arg_desc_t *pNewValueArgList; ///< [in][optional][range(0, numNewValueArgs)] An array describing the new
7929
7914
///< kernel value arguments for the command.
7930
- const ur_exp_command_buffer_update_exec_info_desc_t *pNewExecInfoList; ///< [in][optional][range(0, numNewExecInfos)] An array describing the
7931
- ///< execution info objects for the command.
7932
7915
size_t *pNewGlobalWorkOffset; ///< [in][optional][range(0, newWorkDim)] Array of newWorkDim unsigned
7933
7916
///< values that describe the offset used to calculate the global ID.
7934
7917
size_t *pNewGlobalWorkSize; ///< [in][optional][range(0, newWorkDim)] Array of newWorkDim unsigned
7935
7918
///< values that describe the number of global work-items.
7936
7919
size_t *pNewLocalWorkSize; ///< [in][optional][range(0, newWorkDim)] Array of newWorkDim unsigned
7937
7920
///< values that describe the number of work-items that make up a
7938
- ///< work-group. If nullptr, the runtime implementation will choose the
7939
- ///< work-group size.
7921
+ ///< work-group. If newWorkDim is non-zero and pNewLocalWorkSize is
7922
+ ///< nullptr, then runtime implementation will choose the work-group size.
7923
+ ///< If newWorkDim is zero and pNewLocalWorkSize is nullptr, then the local
7924
+ ///< work size is unchanged.
7940
7925
7941
7926
} ur_exp_command_buffer_update_kernel_launch_desc_t;
7942
7927
@@ -7971,6 +7956,8 @@ typedef struct ur_exp_command_buffer_command_handle_t_ *ur_exp_command_buffer_co
7971
7956
/// + `NULL == phCommandBuffer`
7972
7957
/// - ::UR_RESULT_ERROR_INVALID_CONTEXT
7973
7958
/// - ::UR_RESULT_ERROR_INVALID_DEVICE
7959
+ /// - ::UR_RESULT_ERROR_INVALID_OPERATION
7960
+ /// + If `pCommandBufferDesc->isUpdatable` is true and `hDevice` does not support UR_DEVICE_INFO_COMMAND_BUFFER_UPDATE_SUPPORT_EXP.
7974
7961
/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
7975
7962
/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
7976
7963
UR_APIEXPORT ur_result_t UR_APICALL
@@ -8051,7 +8038,6 @@ urCommandBufferFinalizeExp(
8051
8038
/// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
8052
8039
/// + `NULL == pGlobalWorkOffset`
8053
8040
/// + `NULL == pGlobalWorkSize`
8054
- /// + `NULL == pLocalWorkSize`
8055
8041
/// - ::UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_EXP
8056
8042
/// - ::UR_RESULT_ERROR_INVALID_KERNEL
8057
8043
/// - ::UR_RESULT_ERROR_INVALID_WORK_DIMENSION
@@ -8070,7 +8056,7 @@ urCommandBufferAppendKernelLaunchExp(
8070
8056
uint32_t workDim, ///< [in] Dimension of the kernel execution.
8071
8057
const size_t *pGlobalWorkOffset, ///< [in] Offset to use when executing kernel.
8072
8058
const size_t *pGlobalWorkSize, ///< [in] Global work size to use when executing kernel.
8073
- const size_t *pLocalWorkSize, ///< [in] Local work size to use when executing kernel.
8059
+ const size_t *pLocalWorkSize, ///< [in][optional] Local work size to use when executing kernel.
8074
8060
uint32_t numSyncPointsInWaitList, ///< [in] The number of sync points in the provided dependency list.
8075
8061
const ur_exp_command_buffer_sync_point_t *pSyncPointWaitList, ///< [in][optional] A list of sync points that this command depends on.
8076
8062
ur_exp_command_buffer_sync_point_t *pSyncPoint, ///< [out][optional] Sync point associated with this command.
@@ -8572,6 +8558,10 @@ urCommandBufferReleaseCommandExp(
8572
8558
/// - ::UR_RESULT_ERROR_INVALID_OPERATION
8573
8559
/// + If ::ur_exp_command_buffer_desc_t::isUpdatable was not set to true on creation of the command buffer `hCommand` belongs to.
8574
8560
/// + If the command-buffer `hCommand` belongs to has not been finalized.
8561
+ /// + If `pUpdateKernellaunch->newWorkDim` is non-zero and different from the work-dim used on creation of `hCommand`.
8562
+ /// + If `pUpdateKernellaunch->newWorkDim` is non-zero and `pUpdateKernelLaunch->pNewLocalWorkSize` is set to a non-NULL value and `pUpdateKernelLaunch->pNewGlobalWorkSize` is NULL.
8563
+ /// + 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.
8564
+ /// + 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.
8575
8565
/// - ::UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_COMMAND_HANDLE_EXP
8576
8566
/// - ::UR_RESULT_ERROR_INVALID_MEM_OBJECT
8577
8567
/// - ::UR_RESULT_ERROR_INVALID_KERNEL_ARGUMENT_INDEX
0 commit comments