Skip to content

Commit a5c6888

Browse files
[UR] Proposal of new API for memory object properties
Signed-off-by: Tikhomirova, Kseniya <kseniya.tikhomirova@intel.com>
1 parent 7089c92 commit a5c6888

File tree

3 files changed

+17
-4
lines changed

3 files changed

+17
-4
lines changed

include/ur.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2242,9 +2242,9 @@ class ur_program_dditable_t(Structure):
22422242
###############################################################################
22432243
## @brief Function-pointer for urKernelSetArgMemObj
22442244
if __use_win_types:
2245-
_urKernelSetArgMemObj_t = WINFUNCTYPE( ur_result_t, ur_kernel_handle_t, c_ulong, ur_mem_handle_t )
2245+
_urKernelSetArgMemObj_t = WINFUNCTYPE( ur_result_t, ur_kernel_handle_t, c_ulong, ur_mem_handle_t, const ur_mem_obj_properties_t* )
22462246
else:
2247-
_urKernelSetArgMemObj_t = CFUNCTYPE( ur_result_t, ur_kernel_handle_t, c_ulong, ur_mem_handle_t )
2247+
_urKernelSetArgMemObj_t = CFUNCTYPE( ur_result_t, ur_kernel_handle_t, c_ulong, ur_mem_handle_t, const ur_mem_obj_properties_t* )
22482248

22492249
###############################################################################
22502250
## @brief Function-pointer for urKernelSetSpecializationConstants

include/ur_api.h

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,7 @@ typedef enum ur_structure_type_t {
252252
UR_STRUCTURE_TYPE_SAMPLER_NATIVE_PROPERTIES = 24, ///< ::ur_sampler_native_properties_t
253253
UR_STRUCTURE_TYPE_QUEUE_NATIVE_DESC = 25, ///< ::ur_queue_native_desc_t
254254
UR_STRUCTURE_TYPE_DEVICE_PARTITION_PROPERTIES = 26, ///< ::ur_device_partition_properties_t
255+
UR_STRUCTURE_TYPE_MEM_OBJ_PROPERTIES = 27, ///< ::ur_mem_obj_properties_t
255256
/// @cond
256257
UR_STRUCTURE_TYPE_FORCE_UINT32 = 0x7fffffff
257258
/// @endcond
@@ -3837,6 +3838,15 @@ urKernelSetArgSampler(
38373838
ur_sampler_handle_t hArgValue ///< [in] handle of Sampler object.
38383839
);
38393840

3841+
///////////////////////////////////////////////////////////////////////////////
3842+
/// @brief Memory object properties
3843+
typedef struct ur_mem_obj_properties_t {
3844+
ur_structure_type_t stype; ///< [in] type of this structure, must be
3845+
///< ::UR_STRUCTURE_TYPE_MEM_OBJ_PROPERTIES
3846+
void *pNext; ///< [in,out][optional] pointer to extension-specific structure
3847+
ur_mem_flags_t memory_access; ///< [in] Memory access flag. Allowed values are: UR_MEM_FLAG_READ_WRITE, UR_MEM_FLAG_WRITE_ONLY, UR_MEM_FLAG_READ_ONLY.
3848+
} ur_mem_obj_properties_t;
3849+
38403850
///////////////////////////////////////////////////////////////////////////////
38413851
/// @brief Set a Memory object as the argument value of a Kernel.
38423852
///
@@ -3856,7 +3866,8 @@ UR_APIEXPORT ur_result_t UR_APICALL
38563866
urKernelSetArgMemObj(
38573867
ur_kernel_handle_t hKernel, ///< [in] handle of the kernel object
38583868
uint32_t argIndex, ///< [in] argument index in range [0, num args - 1]
3859-
ur_mem_handle_t hArgValue ///< [in][optional] handle of Memory object.
3869+
ur_mem_handle_t hArgValue, ///< [in][optional] handle of Memory object.
3870+
const ur_mem_obj_properties_t* pProperties ///< [in][optional] pointer to memory object usage properties.
38603871
);
38613872

38623873
///////////////////////////////////////////////////////////////////////////////
@@ -6461,6 +6472,7 @@ typedef struct ur_kernel_set_arg_mem_obj_params_t {
64616472
ur_kernel_handle_t *phKernel;
64626473
uint32_t *pargIndex;
64636474
ur_mem_handle_t *phArgValue;
6475+
const ur_mem_obj_properties_t* pProperties;
64646476
} ur_kernel_set_arg_mem_obj_params_t;
64656477

64666478
///////////////////////////////////////////////////////////////////////////////

include/ur_ddi.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,8 @@ typedef ur_result_t(UR_APICALL *ur_pfnKernelSetArgSampler_t)(
509509
typedef ur_result_t(UR_APICALL *ur_pfnKernelSetArgMemObj_t)(
510510
ur_kernel_handle_t,
511511
uint32_t,
512-
ur_mem_handle_t);
512+
ur_mem_handle_t,
513+
const ur_mem_obj_properties_t*);
513514

514515
///////////////////////////////////////////////////////////////////////////////
515516
/// @brief Function-pointer for urKernelSetSpecializationConstants

0 commit comments

Comments
 (0)