Skip to content

Commit e84c882

Browse files
committed
Merge branch 'sycl' into use-device-usm-for-rtl-data
2 parents d2d56d1 + eb45729 commit e84c882

File tree

87 files changed

+1540
-947
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

87 files changed

+1540
-947
lines changed

.github/workflows/multi_device.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,4 +63,4 @@ jobs:
6363

6464
- name: Test adapters
6565
working-directory: ${{github.workspace}}/build
66-
run: env UR_CTS_ADAPTER_PLATFORM="${{matrix.adapter.platform}}" ctest -C ${{matrix.build_type}} --output-on-failure -L "conformance" -E "enqueue|kernel|integration|exp_command_buffer|exp_enqueue_native|exp_launch_properties|exp_usm_p2p" --timeout 180
66+
run: env UR_CTS_ADAPTER_PLATFORM="${{matrix.adapter.platform}}" ctest -C ${{matrix.build_type}} --output-on-failure -L "conformance" -E "exp_command_buffer" --timeout 180

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ if(UR_ENABLE_TRACING)
137137

138138
if (UR_BUILD_XPTI_LIBS)
139139
# fetch xpti proxy library for the tracing layer
140-
FetchContentSparse_Declare(xpti https://github.com/intel/llvm.git "sycl-nightly/20230703" "xpti")
140+
FetchContentSparse_Declare(xpti https://github.com/intel/llvm.git "nightly-2024-10-22" "xpti")
141141
FetchContent_MakeAvailable(xpti)
142142

143143
# set -fPIC for xpti since we are linking it with a shared library
@@ -149,7 +149,7 @@ if(UR_ENABLE_TRACING)
149149
set(XPTI_DIR ${xpti_SOURCE_DIR})
150150
set(XPTI_ENABLE_TESTS OFF CACHE INTERNAL "Turn off xptifw tests")
151151

152-
FetchContentSparse_Declare(xptifw https://github.com/intel/llvm.git "sycl-nightly/20230703" "xptifw")
152+
FetchContentSparse_Declare(xptifw https://github.com/intel/llvm.git "nightly-2024-10-22" "xptifw")
153153

154154
FetchContent_MakeAvailable(xptifw)
155155

cmake/helpers.cmake

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,10 @@ macro(add_sanitizer_flag flag)
5858
set(CMAKE_REQUIRED_LIBRARIES ${SAVED_CMAKE_REQUIRED_LIBRARIES})
5959
endmacro()
6060

61-
check_cxx_compiler_flag("-fcf-protection=full" CXX_HAS_FCF_PROTECTION_FULL)
61+
if(CMAKE_SYSTEM_NAME STREQUAL Linux)
62+
check_cxx_compiler_flag("-fcf-protection=full" CXX_HAS_FCF_PROTECTION_FULL)
63+
check_cxx_compiler_flag("-fstack-clash-protection" CXX_HAS_FSTACK_CLASH_PROTECTION)
64+
endif()
6265

6366
function(add_ur_target_compile_options name)
6467
if(NOT MSVC)
@@ -81,9 +84,7 @@ function(add_ur_target_compile_options name)
8184
# -flto
8285
# $<$<CXX_COMPILER_ID:Clang,AppleClang>:-fsanitize=cfi>
8386
$<$<BOOL:${CXX_HAS_FCF_PROTECTION_FULL}>:-fcf-protection=full>
84-
# -fstack-clash-protection is not supported in apple clang or GCC < 8
85-
$<$<AND:$<CXX_COMPILER_ID:GNU>,$<VERSION_GREATER_EQUAL:$<CXX_COMPILER_VERSION>,8>>:-fstack-clash-protection>
86-
$<$<CXX_COMPILER_ID:Clang>:-fstack-clash-protection>
87+
$<$<BOOL:${CXX_HAS_FSTACK_CLASH_PROTECTION}>:-fstack-clash-protection>
8788

8889
# Colored output
8990
$<$<CXX_COMPILER_ID:GNU>:-fdiagnostics-color=always>

examples/collector/collector.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,7 @@ XPTI_CALLBACK_API void xptiTraceInit(unsigned int major_version,
125125
return;
126126
}
127127
if (std::string_view(stream_name) != UR_STREAM_NAME) {
128-
std::cout << "Invalid stream name: " << stream_name << ". Expected "
129-
<< UR_STREAM_NAME << ". Aborting." << std::endl;
128+
// we expect ur.call, but this can also be xpti.framework.
130129
return;
131130
}
132131

include/ur_api.h

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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`
10571059
UR_APIEXPORT ur_result_t UR_APICALL
10581060
urPlatformGet(
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
35373543
UR_APIEXPORT ur_result_t UR_APICALL
35383544
urUSMHostAlloc(
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
35843591
UR_APIEXPORT ur_result_t UR_APICALL
35853592
urUSMDeviceAlloc(
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
36333641
UR_APIEXPORT ur_result_t UR_APICALL
36343642
urUSMSharedAlloc(
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
37143724
UR_APIEXPORT ur_result_t UR_APICALL
37153725
urUSMPoolCreate(
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
37323743
UR_APIEXPORT ur_result_t UR_APICALL
37333744
urUSMPoolRetain(
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
37543766
UR_APIEXPORT ur_result_t UR_APICALL
37553767
urUSMPoolRelease(
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
37953808
UR_APIEXPORT ur_result_t UR_APICALL
37963809
urUSMPoolGetInfo(
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
98199832
typedef 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

include/ur_print.hpp

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2550,6 +2550,9 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_device_info_t value) {
25502550
case UR_DEVICE_INFO_GLOBAL_VARIABLE_SUPPORT:
25512551
os << "UR_DEVICE_INFO_GLOBAL_VARIABLE_SUPPORT";
25522552
break;
2553+
case UR_DEVICE_INFO_USM_POOL_SUPPORT:
2554+
os << "UR_DEVICE_INFO_USM_POOL_SUPPORT";
2555+
break;
25532556
case UR_DEVICE_INFO_COMMAND_BUFFER_SUPPORT_EXP:
25542557
os << "UR_DEVICE_INFO_COMMAND_BUFFER_SUPPORT_EXP";
25552558
break;
@@ -4052,6 +4055,18 @@ inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_device_info
40524055

40534056
os << ")";
40544057
} break;
4058+
case UR_DEVICE_INFO_USM_POOL_SUPPORT: {
4059+
const ur_bool_t *tptr = (const ur_bool_t *)ptr;
4060+
if (sizeof(ur_bool_t) > size) {
4061+
os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")";
4062+
return UR_RESULT_ERROR_INVALID_SIZE;
4063+
}
4064+
os << (const void *)(tptr) << " (";
4065+
4066+
os << *tptr;
4067+
4068+
os << ")";
4069+
} break;
40554070
case UR_DEVICE_INFO_COMMAND_BUFFER_SUPPORT_EXP: {
40564071
const ur_bool_t *tptr = (const ur_bool_t *)ptr;
40574072
if (sizeof(ur_bool_t) > size) {
@@ -10308,9 +10323,9 @@ inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_exp_peer_in
1030810323

1030910324
switch (value) {
1031010325
case UR_EXP_PEER_INFO_UR_PEER_ACCESS_SUPPORTED: {
10311-
const uint32_t *tptr = (const uint32_t *)ptr;
10312-
if (sizeof(uint32_t) > size) {
10313-
os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")";
10326+
const int *tptr = (const int *)ptr;
10327+
if (sizeof(int) > size) {
10328+
os << "invalid size (is: " << size << ", expected: >=" << sizeof(int) << ")";
1031410329
return UR_RESULT_ERROR_INVALID_SIZE;
1031510330
}
1031610331
os << (const void *)(tptr) << " (";
@@ -10320,9 +10335,9 @@ inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_exp_peer_in
1032010335
os << ")";
1032110336
} break;
1032210337
case UR_EXP_PEER_INFO_UR_PEER_ATOMICS_SUPPORTED: {
10323-
const uint32_t *tptr = (const uint32_t *)ptr;
10324-
if (sizeof(uint32_t) > size) {
10325-
os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")";
10338+
const int *tptr = (const int *)ptr;
10339+
if (sizeof(int) > size) {
10340+
os << "invalid size (is: " << size << ", expected: >=" << sizeof(int) << ")";
1032610341
return UR_RESULT_ERROR_INVALID_SIZE;
1032710342
}
1032810343
os << (const void *)(tptr) << " (";

scripts/core/CONTRIB.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ Adapter Change Process
129129
.. _UNIFIED_RUNTIME_REPO:
130130
https://github.com/intel/llvm/blob/sycl/sycl/cmake/modules/FetchUnifiedRuntime.cmake#L119
131131
.. _UNIFIED_RUNTIME_TAG:
132-
https://github.com/intel/llvm/blob/sycl/sycl/cmake/modules/FetchUnifiedRuntime.cmake#L126
132+
https://github.com/intel/llvm/blob/sycl/sycl/cmake/modules/UnifiedRuntimeTag.cmake
133133

134134
Build Environment
135135
=================

scripts/core/EXP-USM-P2P.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ Changelog
6969
+-----------+---------------------------------------------+
7070
| 1.1 | Added USM_P2P_EXTENSION_STRING_EXP ID Macro |
7171
+-----------+---------------------------------------------+
72+
| 1.2 | Switch Info types from uint32_t to int |
73+
+-----------+---------------------------------------------+
7274

7375
Contributors
7476
--------------------------------------------------------------------------------

scripts/core/device.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -441,6 +441,8 @@ etors:
441441
desc: "[$x_device_handle_t] The composite device containing this component device."
442442
- name: GLOBAL_VARIABLE_SUPPORT
443443
desc: "[$x_bool_t] return true if the device supports the `EnqueueDeviceGlobalVariableWrite` and `EnqueueDeviceGlobalVariableRead` entry points."
444+
- name: USM_POOL_SUPPORT
445+
desc: "[$x_bool_t] return true if the device supports USM pooling. Pertains to the `USMPool` entry points and usage of the `pool` parameter of the USM alloc entry points."
444446
--- #--------------------------------------------------------------------------
445447
type: function
446448
desc: "Retrieves various information about device"

scripts/core/exp-usm-p2p.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ name: $x_exp_peer_info_t
2424
typed_etors: True
2525
etors:
2626
- name: UR_PEER_ACCESS_SUPPORTED
27-
desc: "[uint32_t] 1 if P2P access is supported otherwise P2P access is not supported."
27+
desc: "[int] 1 if P2P access is supported otherwise P2P access is not supported."
2828
- name: UR_PEER_ATOMICS_SUPPORTED
29-
desc: "[uint32_t] 1 if atomic operations are supported over the P2P link, otherwise such operations are not supported."
29+
desc: "[int] 1 if atomic operations are supported over the P2P link, otherwise such operations are not supported."
3030
--- #--------------------------------------------------------------------------
3131
type: function
3232
desc: "Enable access to peer device memory"

scripts/core/platform.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ params:
4848
returns:
4949
- $X_RESULT_ERROR_INVALID_SIZE:
5050
- "`NumEntries == 0 && phPlatforms != NULL`"
51+
- $X_RESULT_ERROR_INVALID_VALUE:
52+
- "`pNumPlatforms == NULL && phPlatforms == NULL`"
5153
--- #--------------------------------------------------------------------------
5254
type: enum
5355
desc: "Supported platform info"

scripts/core/usm.yml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,6 @@ class: $xUSM
229229
name: HostAlloc
230230
ordinal: "0"
231231
details:
232-
- "This function must support memory pooling."
233232
- "If pUSMDesc is not NULL and pUSMDesc->pool is not NULL the allocation will be served from a specified memory pool."
234233
- "Otherwise, the behavior is implementation-defined."
235234
- "Allocations served from different memory pools must be isolated and must not reside on the same page."
@@ -264,14 +263,15 @@ returns:
264263
- "`size` is greater than $X_DEVICE_INFO_MAX_MEM_ALLOC_SIZE."
265264
- $X_RESULT_ERROR_OUT_OF_HOST_MEMORY
266265
- $X_RESULT_ERROR_OUT_OF_RESOURCES
266+
- $X_RESULT_ERROR_UNSUPPORTED_FEATURE:
267+
- "If any device associated with `hContext` reports `false` for $X_DEVICE_INFO_USM_POOL_SUPPORT"
267268
--- #--------------------------------------------------------------------------
268269
type: function
269270
desc: "USM allocate device memory"
270271
class: $xUSM
271272
name: DeviceAlloc
272273
ordinal: "0"
273274
details:
274-
- "This function must support memory pooling."
275275
- "If pUSMDesc is not NULL and pUSMDesc->pool is not NULL the allocation will be served from a specified memory pool."
276276
- "Otherwise, the behavior is implementation-defined."
277277
- "Allocations served from different memory pools must be isolated and must not reside on the same page."
@@ -309,14 +309,15 @@ returns:
309309
- "`size` is greater than $X_DEVICE_INFO_MAX_MEM_ALLOC_SIZE."
310310
- $X_RESULT_ERROR_OUT_OF_HOST_MEMORY
311311
- $X_RESULT_ERROR_OUT_OF_RESOURCES
312+
- $X_RESULT_ERROR_UNSUPPORTED_FEATURE:
313+
- "If any device associated with `hContext` reports `false` for $X_DEVICE_INFO_USM_POOL_SUPPORT"
312314
--- #--------------------------------------------------------------------------
313315
type: function
314316
desc: "USM allocate shared memory"
315317
class: $xUSM
316318
name: SharedAlloc
317319
ordinal: "0"
318320
details:
319-
- "This function must support memory pooling."
320321
- "If pUSMDesc is not NULL and pUSMDesc->pool is not NULL the allocation will be served from a specified memory pool."
321322
- "Otherwise, the behavior is implementation-defined."
322323
- "Allocations served from different memory pools must be isolated and must not reside on the same page."
@@ -355,6 +356,8 @@ returns:
355356
- "If `UR_DEVICE_INFO_USM_SINGLE_SHARED_SUPPORT` and `UR_DEVICE_INFO_USM_CROSS_SHARED_SUPPORT` are both false."
356357
- $X_RESULT_ERROR_OUT_OF_HOST_MEMORY
357358
- $X_RESULT_ERROR_OUT_OF_RESOURCES
359+
- $X_RESULT_ERROR_UNSUPPORTED_FEATURE:
360+
- "If any device associated with `hContext` reports `false` for $X_DEVICE_INFO_USM_POOL_SUPPORT"
358361
--- #--------------------------------------------------------------------------
359362
type: function
360363
desc: "Free the USM memory object"
@@ -424,6 +427,8 @@ returns:
424427
- $X_RESULT_ERROR_INVALID_NULL_HANDLE
425428
- $X_RESULT_ERROR_INVALID_VALUE
426429
- $X_RESULT_ERROR_OUT_OF_HOST_MEMORY
430+
- $X_RESULT_ERROR_UNSUPPORTED_FEATURE:
431+
- "If any device associated with `hContext` reports `false` for $X_DEVICE_INFO_USM_POOL_SUPPORT"
427432
--- #--------------------------------------------------------------------------
428433
type: function
429434
desc: "Get a reference to the pool handle. Increment its reference count"
@@ -436,6 +441,7 @@ params:
436441
desc: "[in][retain] pointer to USM memory pool"
437442
returns:
438443
- $X_RESULT_ERROR_INVALID_NULL_HANDLE
444+
- $X_RESULT_ERROR_UNSUPPORTED_FEATURE
439445
--- #--------------------------------------------------------------------------
440446
type: function
441447
desc: "Decrement the pool's reference count and delete the pool if the reference count becomes zero."
@@ -452,6 +458,7 @@ params:
452458
desc: "[in][release] pointer to USM memory pool"
453459
returns:
454460
- $X_RESULT_ERROR_INVALID_NULL_HANDLE
461+
- $X_RESULT_ERROR_UNSUPPORTED_FEATURE
455462
--- #--------------------------------------------------------------------------
456463
type: enum
457464
desc: "Get USM memory pool information"
@@ -499,3 +506,4 @@ returns:
499506
- "`pPropValue == NULL && pPropSizeRet == NULL`"
500507
- $X_RESULT_ERROR_OUT_OF_HOST_MEMORY
501508
- $X_RESULT_ERROR_OUT_OF_RESOURCES
509+
- $X_RESULT_ERROR_UNSUPPORTED_FEATURE

0 commit comments

Comments
 (0)