Skip to content

Commit a000e56

Browse files
authored
[UR][SYCL] Remove UR context atomic queries. (#16160)
These were always just used as placeholder values so they can be replaced by __SYCL_TRAIT_HANDLED_IN_RT.
1 parent a412c12 commit a000e56

File tree

15 files changed

+8
-258
lines changed

15 files changed

+8
-258
lines changed
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
__SYCL_PARAM_TRAITS_SPEC(context, reference_count, uint32_t, UR_CONTEXT_INFO_REFERENCE_COUNT)
22
__SYCL_PARAM_TRAITS_SPEC(context, platform, sycl::platform, __SYCL_TRAIT_HANDLED_IN_RT)
33
__SYCL_PARAM_TRAITS_SPEC(context, devices, std::vector<sycl::device>, UR_CONTEXT_INFO_DEVICES)
4-
__SYCL_PARAM_TRAITS_SPEC(context, atomic_memory_order_capabilities, std::vector<sycl::memory_order>, UR_CONTEXT_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES)
5-
__SYCL_PARAM_TRAITS_SPEC(context, atomic_memory_scope_capabilities, std::vector<sycl::memory_scope>, UR_CONTEXT_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES)
6-
__SYCL_PARAM_TRAITS_SPEC(context, atomic_fence_order_capabilities, std::vector<sycl::memory_order>, UR_CONTEXT_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES)
7-
__SYCL_PARAM_TRAITS_SPEC(context, atomic_fence_scope_capabilities, std::vector<sycl::memory_scope>, UR_CONTEXT_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES)
4+
__SYCL_PARAM_TRAITS_SPEC(context, atomic_memory_order_capabilities, std::vector<sycl::memory_order>, __SYCL_TRAIT_HANDLED_IN_RT)
5+
__SYCL_PARAM_TRAITS_SPEC(context, atomic_memory_scope_capabilities, std::vector<sycl::memory_scope>, __SYCL_TRAIT_HANDLED_IN_RT)
6+
__SYCL_PARAM_TRAITS_SPEC(context, atomic_fence_order_capabilities, std::vector<sycl::memory_order>, __SYCL_TRAIT_HANDLED_IN_RT)
7+
__SYCL_PARAM_TRAITS_SPEC(context, atomic_fence_scope_capabilities, std::vector<sycl::memory_scope>, __SYCL_TRAIT_HANDLED_IN_RT)

unified-runtime/include/ur_api.h

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2984,20 +2984,6 @@ typedef enum ur_context_info_t {
29842984
/// [::ur_bool_t] to indicate if the ::urEnqueueUSMFill2D entrypoint is
29852985
/// supported.
29862986
UR_CONTEXT_INFO_USM_FILL2D_SUPPORT = 4,
2987-
/// [::ur_memory_order_capability_flags_t][optional-query] return a
2988-
/// bit-field of atomic memory order capabilities.
2989-
UR_CONTEXT_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES = 5,
2990-
/// [::ur_memory_scope_capability_flags_t][optional-query] return a
2991-
/// bit-field of atomic memory scope capabilities.
2992-
UR_CONTEXT_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES = 6,
2993-
/// [::ur_memory_order_capability_flags_t][optional-query] return a
2994-
/// bit-field of atomic memory fence order capabilities.
2995-
/// Zero is returned if the backend does not support context-level fences.
2996-
UR_CONTEXT_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES = 7,
2997-
/// [::ur_memory_scope_capability_flags_t][optional-query] return a
2998-
/// bit-field of atomic memory fence scope capabilities.
2999-
/// Zero is returned if the backend does not support context-level fences.
3000-
UR_CONTEXT_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES = 8,
30012987
/// @cond
30022988
UR_CONTEXT_INFO_FORCE_UINT32 = 0x7fffffff
30032989
/// @endcond
@@ -3046,7 +3032,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urContextRelease(
30463032
/// - ::UR_RESULT_ERROR_INVALID_NULL_HANDLE
30473033
/// + `NULL == hContext`
30483034
/// - ::UR_RESULT_ERROR_INVALID_ENUMERATION
3049-
/// + `::UR_CONTEXT_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES < propName`
3035+
/// + `::UR_CONTEXT_INFO_USM_FILL2D_SUPPORT < propName`
30503036
/// - ::UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION
30513037
/// + If `propName` is not supported by the adapter.
30523038
/// - ::UR_RESULT_ERROR_INVALID_SIZE

unified-runtime/include/ur_print.hpp

Lines changed: 0 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -6015,18 +6015,6 @@ inline std::ostream &operator<<(std::ostream &os,
60156015
case UR_CONTEXT_INFO_USM_FILL2D_SUPPORT:
60166016
os << "UR_CONTEXT_INFO_USM_FILL2D_SUPPORT";
60176017
break;
6018-
case UR_CONTEXT_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES:
6019-
os << "UR_CONTEXT_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES";
6020-
break;
6021-
case UR_CONTEXT_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES:
6022-
os << "UR_CONTEXT_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES";
6023-
break;
6024-
case UR_CONTEXT_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES:
6025-
os << "UR_CONTEXT_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES";
6026-
break;
6027-
case UR_CONTEXT_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES:
6028-
os << "UR_CONTEXT_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES";
6029-
break;
60306018
default:
60316019
os << "unknown enumerator";
60326020
break;
@@ -6110,66 +6098,6 @@ inline ur_result_t printTagged(std::ostream &os, const void *ptr,
61106098

61116099
os << ")";
61126100
} break;
6113-
case UR_CONTEXT_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES: {
6114-
const ur_memory_order_capability_flags_t *tptr =
6115-
(const ur_memory_order_capability_flags_t *)ptr;
6116-
if (sizeof(ur_memory_order_capability_flags_t) > size) {
6117-
os << "invalid size (is: " << size
6118-
<< ", expected: >=" << sizeof(ur_memory_order_capability_flags_t)
6119-
<< ")";
6120-
return UR_RESULT_ERROR_INVALID_SIZE;
6121-
}
6122-
os << (const void *)(tptr) << " (";
6123-
6124-
ur::details::printFlag<ur_memory_order_capability_flag_t>(os, *tptr);
6125-
6126-
os << ")";
6127-
} break;
6128-
case UR_CONTEXT_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES: {
6129-
const ur_memory_scope_capability_flags_t *tptr =
6130-
(const ur_memory_scope_capability_flags_t *)ptr;
6131-
if (sizeof(ur_memory_scope_capability_flags_t) > size) {
6132-
os << "invalid size (is: " << size
6133-
<< ", expected: >=" << sizeof(ur_memory_scope_capability_flags_t)
6134-
<< ")";
6135-
return UR_RESULT_ERROR_INVALID_SIZE;
6136-
}
6137-
os << (const void *)(tptr) << " (";
6138-
6139-
ur::details::printFlag<ur_memory_scope_capability_flag_t>(os, *tptr);
6140-
6141-
os << ")";
6142-
} break;
6143-
case UR_CONTEXT_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES: {
6144-
const ur_memory_order_capability_flags_t *tptr =
6145-
(const ur_memory_order_capability_flags_t *)ptr;
6146-
if (sizeof(ur_memory_order_capability_flags_t) > size) {
6147-
os << "invalid size (is: " << size
6148-
<< ", expected: >=" << sizeof(ur_memory_order_capability_flags_t)
6149-
<< ")";
6150-
return UR_RESULT_ERROR_INVALID_SIZE;
6151-
}
6152-
os << (const void *)(tptr) << " (";
6153-
6154-
ur::details::printFlag<ur_memory_order_capability_flag_t>(os, *tptr);
6155-
6156-
os << ")";
6157-
} break;
6158-
case UR_CONTEXT_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES: {
6159-
const ur_memory_scope_capability_flags_t *tptr =
6160-
(const ur_memory_scope_capability_flags_t *)ptr;
6161-
if (sizeof(ur_memory_scope_capability_flags_t) > size) {
6162-
os << "invalid size (is: " << size
6163-
<< ", expected: >=" << sizeof(ur_memory_scope_capability_flags_t)
6164-
<< ")";
6165-
return UR_RESULT_ERROR_INVALID_SIZE;
6166-
}
6167-
os << (const void *)(tptr) << " (";
6168-
6169-
ur::details::printFlag<ur_memory_scope_capability_flag_t>(os, *tptr);
6170-
6171-
os << ")";
6172-
} break;
61736101
default:
61746102
os << "unknown enumerator";
61756103
return UR_RESULT_ERROR_INVALID_ENUMERATION;

unified-runtime/scripts/core/context.yml

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -101,18 +101,6 @@ etors:
101101
desc: "[$x_bool_t] to indicate if the $xEnqueueUSMMemcpy2D entrypoint is supported."
102102
- name: USM_FILL2D_SUPPORT
103103
desc: "[$x_bool_t] to indicate if the $xEnqueueUSMFill2D entrypoint is supported."
104-
- name: ATOMIC_MEMORY_ORDER_CAPABILITIES
105-
desc: "[$x_memory_order_capability_flags_t][optional-query] return a bit-field of atomic memory order capabilities."
106-
- name: ATOMIC_MEMORY_SCOPE_CAPABILITIES
107-
desc: "[$x_memory_scope_capability_flags_t][optional-query] return a bit-field of atomic memory scope capabilities."
108-
- name: ATOMIC_FENCE_ORDER_CAPABILITIES
109-
desc: |
110-
[$x_memory_order_capability_flags_t][optional-query] return a bit-field of atomic memory fence order capabilities.
111-
Zero is returned if the backend does not support context-level fences.
112-
- name: ATOMIC_FENCE_SCOPE_CAPABILITIES
113-
desc: |
114-
[$x_memory_scope_capability_flags_t][optional-query] return a bit-field of atomic memory fence scope capabilities.
115-
Zero is returned if the backend does not support context-level fences.
116104
--- #--------------------------------------------------------------------------
117105
type: function
118106
desc: "Releases the context handle reference indicating end of its usage"

unified-runtime/source/adapters/cuda/context.cpp

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -74,34 +74,6 @@ UR_APIEXPORT ur_result_t UR_APICALL urContextGetInfo(
7474
hContext->getDevices().size());
7575
case UR_CONTEXT_INFO_REFERENCE_COUNT:
7676
return ReturnValue(hContext->getReferenceCount());
77-
case UR_CONTEXT_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES: {
78-
uint32_t Capabilities = UR_MEMORY_ORDER_CAPABILITY_FLAG_RELAXED |
79-
UR_MEMORY_ORDER_CAPABILITY_FLAG_ACQUIRE |
80-
UR_MEMORY_ORDER_CAPABILITY_FLAG_RELEASE |
81-
UR_MEMORY_ORDER_CAPABILITY_FLAG_ACQ_REL;
82-
return ReturnValue(Capabilities);
83-
}
84-
case UR_CONTEXT_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES: {
85-
int Major = 0;
86-
UR_CHECK_ERROR(cuDeviceGetAttribute(
87-
&Major, CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR,
88-
hContext->getDevices()[0]->get()));
89-
uint32_t Capabilities =
90-
(Major >= 7) ? UR_MEMORY_SCOPE_CAPABILITY_FLAG_WORK_ITEM |
91-
UR_MEMORY_SCOPE_CAPABILITY_FLAG_SUB_GROUP |
92-
UR_MEMORY_SCOPE_CAPABILITY_FLAG_WORK_GROUP |
93-
UR_MEMORY_SCOPE_CAPABILITY_FLAG_DEVICE |
94-
UR_MEMORY_SCOPE_CAPABILITY_FLAG_SYSTEM
95-
: UR_MEMORY_SCOPE_CAPABILITY_FLAG_WORK_ITEM |
96-
UR_MEMORY_SCOPE_CAPABILITY_FLAG_SUB_GROUP |
97-
UR_MEMORY_SCOPE_CAPABILITY_FLAG_WORK_GROUP |
98-
UR_MEMORY_SCOPE_CAPABILITY_FLAG_DEVICE;
99-
return ReturnValue(Capabilities);
100-
}
101-
case UR_CONTEXT_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES:
102-
case UR_CONTEXT_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES: {
103-
return UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION;
104-
}
10577
case UR_CONTEXT_INFO_USM_MEMCPY2D_SUPPORT:
10678
// 2D USM memcpy is supported.
10779
return ReturnValue(true);

unified-runtime/source/adapters/hip/context.cpp

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -69,14 +69,6 @@ urContextGetInfo(ur_context_handle_t hContext, ur_context_info_t propName,
6969
hContext->getDevices().size());
7070
case UR_CONTEXT_INFO_REFERENCE_COUNT:
7171
return ReturnValue(hContext->getReferenceCount());
72-
case UR_CONTEXT_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES:
73-
case UR_CONTEXT_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES:
74-
case UR_CONTEXT_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES:
75-
case UR_CONTEXT_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES: {
76-
// These queries should be dealt with in context_impl.cpp by calling the
77-
// queries of each device separately and building the intersection set.
78-
return UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION;
79-
}
8072
case UR_CONTEXT_INFO_USM_MEMCPY2D_SUPPORT:
8173
// 2D USM memcpy is supported.
8274
return ReturnValue(true);

unified-runtime/source/adapters/level_zero/context.cpp

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -120,21 +120,6 @@ ur_result_t urContextGetInfo(
120120
case UR_CONTEXT_INFO_USM_FILL2D_SUPPORT:
121121
// 2D USM fill is not supported.
122122
return ReturnValue(uint8_t{false});
123-
case UR_CONTEXT_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES: {
124-
125-
ur_memory_order_capability_flags_t Capabilities =
126-
UR_MEMORY_ORDER_CAPABILITY_FLAG_RELAXED |
127-
UR_MEMORY_ORDER_CAPABILITY_FLAG_ACQUIRE |
128-
UR_MEMORY_ORDER_CAPABILITY_FLAG_RELEASE |
129-
UR_MEMORY_ORDER_CAPABILITY_FLAG_ACQ_REL |
130-
UR_MEMORY_ORDER_CAPABILITY_FLAG_SEQ_CST;
131-
return ReturnValue(Capabilities);
132-
}
133-
case UR_CONTEXT_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES:
134-
case UR_CONTEXT_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES:
135-
case UR_CONTEXT_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES: {
136-
return UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION;
137-
}
138123

139124
default:
140125
// TODO: implement other parameters

unified-runtime/source/adapters/level_zero/v2/context.cpp

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -190,12 +190,6 @@ ur_result_t urContextGetInfo(ur_context_handle_t hContext,
190190
case UR_CONTEXT_INFO_USM_FILL2D_SUPPORT:
191191
// 2D USM fill is not supported.
192192
return ReturnValue(uint8_t{false});
193-
case UR_CONTEXT_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES:
194-
case UR_CONTEXT_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES:
195-
case UR_CONTEXT_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES:
196-
case UR_CONTEXT_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES: {
197-
return UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION;
198-
}
199193
default:
200194
return UR_RESULT_ERROR_INVALID_ENUMERATION;
201195
}

unified-runtime/source/adapters/native_cpu/context.cpp

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,6 @@ urContextGetInfo(ur_context_handle_t hContext, ur_context_info_t propName,
6060
// case UR_CONTEXT_INFO_USM_MEMSET2D_SUPPORT:
6161
// 2D USM operations currently not supported.
6262
return returnValue(false);
63-
case UR_CONTEXT_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES:
64-
case UR_CONTEXT_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES:
65-
case UR_CONTEXT_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES:
66-
case UR_CONTEXT_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES: {
67-
return UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION;
68-
}
6963
default:
7064
return UR_RESULT_ERROR_INVALID_ENUMERATION;
7165
}

unified-runtime/source/adapters/opencl/context.cpp

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -83,14 +83,6 @@ urContextGetInfo(ur_context_handle_t hContext, ur_context_info_t propName,
8383
case UR_CONTEXT_INFO_USM_FILL2D_SUPPORT: {
8484
return ReturnValue(false);
8585
}
86-
case UR_CONTEXT_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES:
87-
case UR_CONTEXT_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES:
88-
case UR_CONTEXT_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES:
89-
case UR_CONTEXT_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES: {
90-
/* These queries should be dealt with in context_impl.cpp by calling the
91-
* queries of each device separately and building the intersection set. */
92-
return UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION;
93-
}
9486
case UR_CONTEXT_INFO_NUM_DEVICES:
9587
case UR_CONTEXT_INFO_DEVICES:
9688
case UR_CONTEXT_INFO_REFERENCE_COUNT: {

0 commit comments

Comments
 (0)