@@ -51,6 +51,39 @@ typedef enum umf_result_t {
5151 UMF_RESULT_ERROR_UNKNOWN = 0x7ffffffe ///< Unknown error
5252} umf_result_t ;
5353
54+ /// @brief TODO
55+ typedef struct umf_memory_properties_t * umf_memory_properties_handle_t ;
56+
57+ /// @brief TODO
58+ // write about experimental api
59+ typedef enum umf_memory_property_id_t {
60+ UMF_MEMORY_PROPERTY_INVALID = -1 , ///< TODO
61+
62+ // UMF specyfic
63+ UMF_MEMORY_PROVIDER_HANDLE ,
64+ UMF_MEMORY_PROVIDER_OPS , // == type?
65+ UMF_MEMORY_POOL_HANDLE ,
66+ UMF_MEMORY_POOL_OPS , // == type?
67+
68+ // generic pointer properties
69+ UMF_MEMORY_PROPERTY_POINTER_TYPE , // unreg host, reg host ??, dev, managed or umf_usm_memory_type_t?
70+ UMF_MEMORY_PROPERTY_BASE_ADDRESS , // base address
71+ UMF_MEMORY_PROPERTY_BASE_SIZE , // base size
72+
73+ // GPU specific
74+ UMF_MEMORY_PROPERTY_DEVICE , // handle (ze) or id (cuda)
75+ UMF_MEMORY_PROPERTY_BUFFER_ID , // unique id NOTE: this id is unique across all UMF allocs and != L0 or CUDA ID
76+ UMF_MEMORY_PROPERTY_DEVICE_ATTRIBUTES , // ze_memory_allocation_properties_t ?
77+
78+ // all cuda + l0
79+ // next other providers?
80+ // todo return type?
81+
82+ /// @cond
83+ UMF_MEMORY_PROPERTY_MAX_RESERVED = 0x1000 , ///< Maximum reserved value
84+ /// @endcond
85+ } umf_memory_property_id_t ;
86+
5487/// @brief Type of the CTL query
5588typedef enum umf_ctl_query_type {
5689 CTL_QUERY_READ ,
0 commit comments