@@ -1054,6 +1054,8 @@ typedef enum ur_adapter_backend_t {
10541054/// + `NULL == phAdapters`
10551055/// - ::UR_RESULT_ERROR_INVALID_SIZE
10561056/// + `NumEntries == 0 && phPlatforms != NULL`
1057+ /// - ::UR_RESULT_ERROR_INVALID_VALUE
1058+ /// + `pNumPlatforms == NULL && phPlatforms == NULL`
10571059UR_APIEXPORT ur_result_t UR_APICALL
10581060urPlatformGet(
10591061 ur_adapter_handle_t *phAdapters, ///< [in][range(0, NumAdapters)] array of adapters to query for platforms.
@@ -1637,6 +1639,9 @@ typedef enum ur_device_info_t {
16371639 UR_DEVICE_INFO_GLOBAL_VARIABLE_SUPPORT = 118, ///< [::ur_bool_t] return true if the device supports the
16381640 ///< `EnqueueDeviceGlobalVariableWrite` and
16391641 ///< `EnqueueDeviceGlobalVariableRead` entry points.
1642+ UR_DEVICE_INFO_USM_POOL_SUPPORT = 119, ///< [::ur_bool_t] return true if the device supports USM pooling. Pertains
1643+ ///< to the `USMPool` entry points and usage of the `pool` parameter of the
1644+ ///< USM alloc entry points.
16401645 UR_DEVICE_INFO_COMMAND_BUFFER_SUPPORT_EXP = 0x1000, ///< [::ur_bool_t] Returns true if the device supports the use of
16411646 ///< command-buffers.
16421647 UR_DEVICE_INFO_COMMAND_BUFFER_UPDATE_CAPABILITIES_EXP = 0x1001, ///< [::ur_device_command_buffer_update_capability_flags_t] Command-buffer
@@ -3501,7 +3506,6 @@ typedef struct ur_usm_pool_limits_desc_t {
35013506/// @brief USM allocate host memory
35023507///
35033508/// @details
3504- /// - This function must support memory pooling.
35053509/// - If pUSMDesc is not NULL and pUSMDesc->pool is not NULL the allocation
35063510/// will be served from a specified memory pool.
35073511/// - Otherwise, the behavior is implementation-defined.
@@ -3534,6 +3538,8 @@ typedef struct ur_usm_pool_limits_desc_t {
35343538/// + `size` is greater than ::UR_DEVICE_INFO_MAX_MEM_ALLOC_SIZE.
35353539/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
35363540/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
3541+ /// - ::UR_RESULT_ERROR_UNSUPPORTED_FEATURE
3542+ /// + If any device associated with `hContext` reports `false` for ::UR_DEVICE_INFO_USM_POOL_SUPPORT
35373543UR_APIEXPORT ur_result_t UR_APICALL
35383544urUSMHostAlloc(
35393545 ur_context_handle_t hContext, ///< [in] handle of the context object
@@ -3547,7 +3553,6 @@ urUSMHostAlloc(
35473553/// @brief USM allocate device memory
35483554///
35493555/// @details
3550- /// - This function must support memory pooling.
35513556/// - If pUSMDesc is not NULL and pUSMDesc->pool is not NULL the allocation
35523557/// will be served from a specified memory pool.
35533558/// - Otherwise, the behavior is implementation-defined.
@@ -3581,6 +3586,8 @@ urUSMHostAlloc(
35813586/// + `size` is greater than ::UR_DEVICE_INFO_MAX_MEM_ALLOC_SIZE.
35823587/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
35833588/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
3589+ /// - ::UR_RESULT_ERROR_UNSUPPORTED_FEATURE
3590+ /// + If any device associated with `hContext` reports `false` for ::UR_DEVICE_INFO_USM_POOL_SUPPORT
35843591UR_APIEXPORT ur_result_t UR_APICALL
35853592urUSMDeviceAlloc(
35863593 ur_context_handle_t hContext, ///< [in] handle of the context object
@@ -3595,7 +3602,6 @@ urUSMDeviceAlloc(
35953602/// @brief USM allocate shared memory
35963603///
35973604/// @details
3598- /// - This function must support memory pooling.
35993605/// - If pUSMDesc is not NULL and pUSMDesc->pool is not NULL the allocation
36003606/// will be served from a specified memory pool.
36013607/// - Otherwise, the behavior is implementation-defined.
@@ -3630,6 +3636,8 @@ urUSMDeviceAlloc(
36303636/// + If `UR_DEVICE_INFO_USM_SINGLE_SHARED_SUPPORT` and `UR_DEVICE_INFO_USM_CROSS_SHARED_SUPPORT` are both false.
36313637/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
36323638/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
3639+ /// - ::UR_RESULT_ERROR_UNSUPPORTED_FEATURE
3640+ /// + If any device associated with `hContext` reports `false` for ::UR_DEVICE_INFO_USM_POOL_SUPPORT
36333641UR_APIEXPORT ur_result_t UR_APICALL
36343642urUSMSharedAlloc(
36353643 ur_context_handle_t hContext, ///< [in] handle of the context object
@@ -3711,6 +3719,8 @@ urUSMGetMemAllocInfo(
37113719/// + `::UR_USM_POOL_FLAGS_MASK & pPoolDesc->flags`
37123720/// - ::UR_RESULT_ERROR_INVALID_VALUE
37133721/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
3722+ /// - ::UR_RESULT_ERROR_UNSUPPORTED_FEATURE
3723+ /// + If any device associated with `hContext` reports `false` for ::UR_DEVICE_INFO_USM_POOL_SUPPORT
37143724UR_APIEXPORT ur_result_t UR_APICALL
37153725urUSMPoolCreate(
37163726 ur_context_handle_t hContext, ///< [in] handle of the context object
@@ -3729,6 +3739,7 @@ urUSMPoolCreate(
37293739/// - ::UR_RESULT_ERROR_ADAPTER_SPECIFIC
37303740/// - ::UR_RESULT_ERROR_INVALID_NULL_HANDLE
37313741/// + `NULL == pPool`
3742+ /// - ::UR_RESULT_ERROR_UNSUPPORTED_FEATURE
37323743UR_APIEXPORT ur_result_t UR_APICALL
37333744urUSMPoolRetain(
37343745 ur_usm_pool_handle_t pPool ///< [in][retain] pointer to USM memory pool
@@ -3751,6 +3762,7 @@ urUSMPoolRetain(
37513762/// - ::UR_RESULT_ERROR_ADAPTER_SPECIFIC
37523763/// - ::UR_RESULT_ERROR_INVALID_NULL_HANDLE
37533764/// + `NULL == pPool`
3765+ /// - ::UR_RESULT_ERROR_UNSUPPORTED_FEATURE
37543766UR_APIEXPORT ur_result_t UR_APICALL
37553767urUSMPoolRelease(
37563768 ur_usm_pool_handle_t pPool ///< [in][release] pointer to USM memory pool
@@ -3792,6 +3804,7 @@ typedef enum ur_usm_pool_info_t {
37923804/// + `pPropValue == NULL && pPropSizeRet == NULL`
37933805/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
37943806/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
3807+ /// - ::UR_RESULT_ERROR_UNSUPPORTED_FEATURE
37953808UR_APIEXPORT ur_result_t UR_APICALL
37963809urUSMPoolGetInfo(
37973810 ur_usm_pool_handle_t hPool, ///< [in] handle of the USM memory pool
@@ -9817,9 +9830,9 @@ urUSMReleaseExp(
98179830///////////////////////////////////////////////////////////////////////////////
98189831/// @brief Supported peer info
98199832typedef enum ur_exp_peer_info_t {
9820- UR_EXP_PEER_INFO_UR_PEER_ACCESS_SUPPORTED = 0, ///< [uint32_t ] 1 if P2P access is supported otherwise P2P access is not
9833+ UR_EXP_PEER_INFO_UR_PEER_ACCESS_SUPPORTED = 0, ///< [int ] 1 if P2P access is supported otherwise P2P access is not
98219834 ///< supported.
9822- UR_EXP_PEER_INFO_UR_PEER_ATOMICS_SUPPORTED = 1, ///< [uint32_t ] 1 if atomic operations are supported over the P2P link,
9835+ UR_EXP_PEER_INFO_UR_PEER_ATOMICS_SUPPORTED = 1, ///< [int ] 1 if atomic operations are supported over the P2P link,
98239836 ///< otherwise such operations are not supported.
98249837 /// @cond
98259838 UR_EXP_PEER_INFO_FORCE_UINT32 = 0x7fffffff
0 commit comments