@@ -1056,6 +1056,8 @@ typedef enum ur_adapter_backend_t {
10561056/// + `NULL == phAdapters`
10571057/// - ::UR_RESULT_ERROR_INVALID_SIZE
10581058/// + `NumEntries == 0 && phPlatforms != NULL`
1059+ /// - ::UR_RESULT_ERROR_INVALID_VALUE
1060+ /// + `pNumPlatforms == NULL && phPlatforms == NULL`
10591061UR_APIEXPORT ur_result_t UR_APICALL
10601062urPlatformGet(
10611063 ur_adapter_handle_t *phAdapters, ///< [in][range(0, NumAdapters)] array of adapters to query for platforms.
@@ -1639,6 +1641,9 @@ typedef enum ur_device_info_t {
16391641 UR_DEVICE_INFO_GLOBAL_VARIABLE_SUPPORT = 118, ///< [::ur_bool_t] return true if the device supports the
16401642 ///< `EnqueueDeviceGlobalVariableWrite` and
16411643 ///< `EnqueueDeviceGlobalVariableRead` entry points.
1644+ UR_DEVICE_INFO_USM_POOL_SUPPORT = 119, ///< [::ur_bool_t] return true if the device supports USM pooling. Pertains
1645+ ///< to the `USMPool` entry points and usage of the `pool` parameter of the
1646+ ///< USM alloc entry points.
16421647 UR_DEVICE_INFO_COMMAND_BUFFER_SUPPORT_EXP = 0x1000, ///< [::ur_bool_t] Returns true if the device supports the use of
16431648 ///< command-buffers.
16441649 UR_DEVICE_INFO_COMMAND_BUFFER_UPDATE_CAPABILITIES_EXP = 0x1001, ///< [::ur_device_command_buffer_update_capability_flags_t] Command-buffer
@@ -3503,7 +3508,6 @@ typedef struct ur_usm_pool_limits_desc_t {
35033508/// @brief USM allocate host memory
35043509///
35053510/// @details
3506- /// - This function must support memory pooling.
35073511/// - If pUSMDesc is not NULL and pUSMDesc->pool is not NULL the allocation
35083512/// will be served from a specified memory pool.
35093513/// - Otherwise, the behavior is implementation-defined.
@@ -3536,6 +3540,8 @@ typedef struct ur_usm_pool_limits_desc_t {
35363540/// + `size` is greater than ::UR_DEVICE_INFO_MAX_MEM_ALLOC_SIZE.
35373541/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
35383542/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
3543+ /// - ::UR_RESULT_ERROR_UNSUPPORTED_FEATURE
3544+ /// + If any device associated with `hContext` reports `false` for ::UR_DEVICE_INFO_USM_POOL_SUPPORT
35393545UR_APIEXPORT ur_result_t UR_APICALL
35403546urUSMHostAlloc(
35413547 ur_context_handle_t hContext, ///< [in] handle of the context object
@@ -3549,7 +3555,6 @@ urUSMHostAlloc(
35493555/// @brief USM allocate device memory
35503556///
35513557/// @details
3552- /// - This function must support memory pooling.
35533558/// - If pUSMDesc is not NULL and pUSMDesc->pool is not NULL the allocation
35543559/// will be served from a specified memory pool.
35553560/// - Otherwise, the behavior is implementation-defined.
@@ -3583,6 +3588,8 @@ urUSMHostAlloc(
35833588/// + `size` is greater than ::UR_DEVICE_INFO_MAX_MEM_ALLOC_SIZE.
35843589/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
35853590/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
3591+ /// - ::UR_RESULT_ERROR_UNSUPPORTED_FEATURE
3592+ /// + If any device associated with `hContext` reports `false` for ::UR_DEVICE_INFO_USM_POOL_SUPPORT
35863593UR_APIEXPORT ur_result_t UR_APICALL
35873594urUSMDeviceAlloc(
35883595 ur_context_handle_t hContext, ///< [in] handle of the context object
@@ -3597,7 +3604,6 @@ urUSMDeviceAlloc(
35973604/// @brief USM allocate shared memory
35983605///
35993606/// @details
3600- /// - This function must support memory pooling.
36013607/// - If pUSMDesc is not NULL and pUSMDesc->pool is not NULL the allocation
36023608/// will be served from a specified memory pool.
36033609/// - Otherwise, the behavior is implementation-defined.
@@ -3632,6 +3638,8 @@ urUSMDeviceAlloc(
36323638/// + If `UR_DEVICE_INFO_USM_SINGLE_SHARED_SUPPORT` and `UR_DEVICE_INFO_USM_CROSS_SHARED_SUPPORT` are both false.
36333639/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
36343640/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
3641+ /// - ::UR_RESULT_ERROR_UNSUPPORTED_FEATURE
3642+ /// + If any device associated with `hContext` reports `false` for ::UR_DEVICE_INFO_USM_POOL_SUPPORT
36353643UR_APIEXPORT ur_result_t UR_APICALL
36363644urUSMSharedAlloc(
36373645 ur_context_handle_t hContext, ///< [in] handle of the context object
@@ -3713,6 +3721,8 @@ urUSMGetMemAllocInfo(
37133721/// + `::UR_USM_POOL_FLAGS_MASK & pPoolDesc->flags`
37143722/// - ::UR_RESULT_ERROR_INVALID_VALUE
37153723/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
3724+ /// - ::UR_RESULT_ERROR_UNSUPPORTED_FEATURE
3725+ /// + If any device associated with `hContext` reports `false` for ::UR_DEVICE_INFO_USM_POOL_SUPPORT
37163726UR_APIEXPORT ur_result_t UR_APICALL
37173727urUSMPoolCreate(
37183728 ur_context_handle_t hContext, ///< [in] handle of the context object
@@ -3731,6 +3741,7 @@ urUSMPoolCreate(
37313741/// - ::UR_RESULT_ERROR_ADAPTER_SPECIFIC
37323742/// - ::UR_RESULT_ERROR_INVALID_NULL_HANDLE
37333743/// + `NULL == pPool`
3744+ /// - ::UR_RESULT_ERROR_UNSUPPORTED_FEATURE
37343745UR_APIEXPORT ur_result_t UR_APICALL
37353746urUSMPoolRetain(
37363747 ur_usm_pool_handle_t pPool ///< [in][retain] pointer to USM memory pool
@@ -3753,6 +3764,7 @@ urUSMPoolRetain(
37533764/// - ::UR_RESULT_ERROR_ADAPTER_SPECIFIC
37543765/// - ::UR_RESULT_ERROR_INVALID_NULL_HANDLE
37553766/// + `NULL == pPool`
3767+ /// - ::UR_RESULT_ERROR_UNSUPPORTED_FEATURE
37563768UR_APIEXPORT ur_result_t UR_APICALL
37573769urUSMPoolRelease(
37583770 ur_usm_pool_handle_t pPool ///< [in][release] pointer to USM memory pool
@@ -3794,6 +3806,7 @@ typedef enum ur_usm_pool_info_t {
37943806/// + `pPropValue == NULL && pPropSizeRet == NULL`
37953807/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
37963808/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
3809+ /// - ::UR_RESULT_ERROR_UNSUPPORTED_FEATURE
37973810UR_APIEXPORT ur_result_t UR_APICALL
37983811urUSMPoolGetInfo(
37993812 ur_usm_pool_handle_t hPool, ///< [in] handle of the USM memory pool
@@ -9819,9 +9832,9 @@ urUSMReleaseExp(
98199832///////////////////////////////////////////////////////////////////////////////
98209833/// @brief Supported peer info
98219834typedef enum ur_exp_peer_info_t {
9822- UR_EXP_PEER_INFO_UR_PEER_ACCESS_SUPPORTED = 0, ///< [uint32_t ] 1 if P2P access is supported otherwise P2P access is not
9835+ UR_EXP_PEER_INFO_UR_PEER_ACCESS_SUPPORTED = 0, ///< [int ] 1 if P2P access is supported otherwise P2P access is not
98239836 ///< supported.
9824- UR_EXP_PEER_INFO_UR_PEER_ATOMICS_SUPPORTED = 1, ///< [uint32_t ] 1 if atomic operations are supported over the P2P link,
9837+ UR_EXP_PEER_INFO_UR_PEER_ATOMICS_SUPPORTED = 1, ///< [int ] 1 if atomic operations are supported over the P2P link,
98259838 ///< otherwise such operations are not supported.
98269839 /// @cond
98279840 UR_EXP_PEER_INFO_FORCE_UINT32 = 0x7fffffff
0 commit comments