Skip to content

Commit 2b43de3

Browse files
committed
Refactor pool_properties struct
1 parent 8248b5e commit 2b43de3

File tree

9 files changed

+20
-64
lines changed

9 files changed

+20
-64
lines changed

sycl/include/sycl/context.hpp

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -256,12 +256,6 @@ class __SYCL_EXPORT context : public detail::OwnerLessBase<context> {
256256
ext_oneapi_get_default_memory_pool(const device &dev,
257257
sycl::usm::alloc kind) const;
258258

259-
/// Gets default memory pool associated with the context and allocation kind.
260-
///
261-
/// \return a memory pool associated with this context.
262-
sycl::ext::oneapi::experimental::memory_pool
263-
ext_oneapi_get_default_memory_pool(sycl::usm::alloc kind) const;
264-
265259
private:
266260
/// Constructs a SYCL context object from a valid context_impl instance.
267261
context(std::shared_ptr<detail::context_impl> Impl);

sycl/include/sycl/ext/oneapi/experimental/async_alloc/memory_pool.hpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,9 @@ class __SYCL_EXPORT memory_pool {
6363

6464
protected:
6565
struct pool_properties {
66-
std::pair<bool, size_t> initial_threshold;
67-
std::pair<bool, size_t> maximum_size;
68-
std::pair<bool, bool> zero_init;
66+
size_t initial_threshold;
67+
size_t maximum_size;
68+
bool zero_init;
6969
};
7070

7171
std::shared_ptr<detail::memory_pool_impl> impl;
@@ -89,17 +89,17 @@ class __SYCL_EXPORT memory_pool {
8989
template <typename Properties> pool_properties stripProps(Properties props) {
9090
pool_properties poolProps{};
9191
if constexpr (decltype(props)::template has_property<initial_threshold>()) {
92-
poolProps.initial_threshold = {
93-
true, props.template get_property<initial_threshold>().value};
92+
poolProps.initial_threshold =
93+
props.template get_property<initial_threshold>().value;
9494
}
9595

9696
if constexpr (decltype(props)::template has_property<maximum_size>()) {
97-
poolProps.maximum_size = {
98-
true, props.template get_property<maximum_size>().value};
97+
poolProps.maximum_size =
98+
props.template get_property<maximum_size>().value;
9999
}
100100

101101
if constexpr (decltype(props)::template has_property<zero_init>()) {
102-
poolProps.zero_init = {true, true};
102+
poolProps.zero_init = true;
103103
}
104104
return poolProps;
105105
}

sycl/source/context.cpp

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -135,10 +135,6 @@ const property_list &context::getPropList() const {
135135
sycl::ext::oneapi::experimental::memory_pool
136136
context::ext_oneapi_get_default_memory_pool(const device &dev,
137137
sycl::usm::alloc kind) const {
138-
if (kind == sycl::usm::alloc::host)
139-
throw sycl::exception(
140-
sycl::make_error_code(sycl::errc::invalid),
141-
"Default host memory pool requested but device supplied!");
142138
if (kind == sycl::usm::alloc::unknown)
143139
throw sycl::exception(sycl::make_error_code(sycl::errc::invalid),
144140
"Unknown allocation kinds are disallowed!");
@@ -153,20 +149,5 @@ context::ext_oneapi_get_default_memory_pool(const device &dev,
153149
impl->get_default_memory_pool(*this, dev, kind));
154150
}
155151

156-
sycl::ext::oneapi::experimental::memory_pool
157-
context::ext_oneapi_get_default_memory_pool(sycl::usm::alloc kind) const {
158-
if (kind == sycl::usm::alloc::device || kind == sycl::usm::alloc::shared)
159-
throw sycl::exception(sycl::make_error_code(sycl::errc::invalid),
160-
"Device and shared allocation kinds are disallowed "
161-
"without specifying a device!");
162-
if (kind == sycl::usm::alloc::unknown)
163-
throw sycl::exception(sycl::make_error_code(sycl::errc::invalid),
164-
"Unknown allocation kinds are disallowed!");
165-
166-
throw sycl::exception(
167-
sycl::make_error_code(sycl::errc::feature_not_supported),
168-
"Host allocated pools are unsupported!");
169-
}
170-
171152
} // namespace _V1
172153
} // namespace sycl

sycl/source/detail/graph_memory_pool.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ graph_mem_pool::malloc(size_t Size, usm::alloc AllocType,
3434
// Collect relevant properties from memory pool
3535
if (MemPool) {
3636
auto Props = MemPool->getProps();
37-
if (Props.zero_init.second) {
37+
if (Props.zero_init) {
3838
AllocInfo.ZeroInit = true;
3939
}
4040
}

sycl/source/detail/memory_pool.cpp

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -44,20 +44,13 @@ __SYCL_EXPORT void memory_pool::increase_threshold_to(size_t newThreshold) {
4444
memory_pool::memory_pool(const sycl::context &ctx, const sycl::device &dev,
4545
sycl::usm::alloc kind,
4646
memory_pool::pool_properties props) {
47-
if (kind == sycl::usm::alloc::host)
48-
throw sycl::exception(
49-
sycl::make_error_code(sycl::errc::invalid),
50-
"Host allocated memory pools selected but device supplied!");
51-
5247
if (kind != sycl::usm::alloc::device)
5348
throw sycl::exception(
5449
sycl::make_error_code(sycl::errc::feature_not_supported),
5550
"Only device allocated memory pools are supported!");
5651

57-
detail::pool_properties poolProps{
58-
{props.initial_threshold.first, props.initial_threshold.second},
59-
{props.maximum_size.first, props.maximum_size.second},
60-
{props.zero_init.first, props.zero_init.second}};
52+
detail::pool_properties poolProps{props.initial_threshold, props.maximum_size,
53+
props.zero_init};
6154
impl = std::make_shared<detail::memory_pool_impl>(ctx, dev, kind, poolProps);
6255
}
6356

sycl/source/detail/memory_pool_impl.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,9 @@ memory_pool_impl::memory_pool_impl(const sycl::context &ctx,
6565
MKind(kind), MProps(props) {
6666

6767
if (kind == sycl::usm::alloc::device)
68-
MPoolHandle = create_memory_pool_device(
69-
ctx, dev, MProps.initial_threshold.second, MProps.maximum_size.second,
70-
MProps.zero_init.second);
68+
MPoolHandle =
69+
create_memory_pool_device(ctx, dev, MProps.initial_threshold,
70+
MProps.maximum_size, MProps.zero_init);
7171
else
7272
throw sycl::exception(
7373
sycl::make_error_code(sycl::errc::feature_not_supported),

sycl/source/detail/memory_pool_impl.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ namespace detail {
2222
// Every property is represented by a pair that represent
2323
// (is_property_assigned, property_value)
2424
struct pool_properties {
25-
std::pair<bool, size_t> initial_threshold;
26-
std::pair<bool, size_t> maximum_size;
27-
std::pair<bool, bool> zero_init;
25+
size_t initial_threshold;
26+
size_t maximum_size;
27+
bool zero_init;
2828
};
2929

3030
class memory_pool_impl {

sycl/test/abi/sycl_symbols_linux.dump

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2993,8 +2993,8 @@ _ZN4sycl3_V13ext6oneapi12experimental10async_freeERKNS0_5queueEPvRKNS0_6detail13
29932993
_ZN4sycl3_V13ext6oneapi12experimental10async_freeERNS0_7handlerEPv
29942994
_ZN4sycl3_V13ext6oneapi12experimental10mem_adviseENS0_5queueEPvmiRKNS0_6detail13code_locationE
29952995
_ZN4sycl3_V13ext6oneapi12experimental11memory_pool21increase_threshold_toEm
2996-
_ZN4sycl3_V13ext6oneapi12experimental11memory_poolC1ERKNS0_7contextERKNS0_6deviceENS0_3usm5allocENS4_15pool_propertiesE
2997-
_ZN4sycl3_V13ext6oneapi12experimental11memory_poolC2ERKNS0_7contextERKNS0_6deviceENS0_3usm5allocENS4_15pool_propertiesE
2996+
_ZN4sycl3_V13ext6oneapi12experimental11memory_poolC1ERKNS0_7contextERKNS0_6deviceENS0_3usm5allocERKNS0_13property_listE
2997+
_ZN4sycl3_V13ext6oneapi12experimental11memory_poolC2ERKNS0_7contextERKNS0_6deviceENS0_3usm5allocERKNS0_13property_listE
29982998
_ZN4sycl3_V13ext6oneapi12experimental12async_mallocERKNS0_5queueENS0_3usm5allocEmRKNS0_6detail13code_locationE
29992999
_ZN4sycl3_V13ext6oneapi12experimental12async_mallocERNS0_7handlerENS0_3usm5allocEm
30003000
_ZN4sycl3_V13ext6oneapi12experimental12create_imageENS3_16image_mem_handleERKNS3_16image_descriptorERKNS0_5queueE
@@ -3266,8 +3266,6 @@ _ZN4sycl3_V16detail12buffer_plainC2EmmRKNS0_13property_listESt10unique_ptrINS1_1
32663266
_ZN4sycl3_V16detail12compile_implERKNS0_13kernel_bundleILNS0_12bundle_stateE0EEERKSt6vectorINS0_6deviceESaIS8_EERKNS0_13property_listE
32673267
_ZN4sycl3_V16detail12isOutOfRangeENS0_3vecIiLi4EEENS0_15addressing_modeENS0_5rangeILi3EEE
32683268
_ZN4sycl3_V16detail12make_contextEmRKSt8functionIFvNS0_14exception_listEEENS0_7backendEbRKSt6vectorINS0_6deviceESaISA_EE
3269-
_ZN4sycl3_V16detail13HandlerAccess10preProcessERNS0_7handlerENS1_19type_erased_cgfo_tyE
3270-
_ZN4sycl3_V16detail13HandlerAccess11postProcessERNS0_7handlerENS1_19type_erased_cgfo_tyE
32713269
_ZN4sycl3_V16detail13host_pipe_map3addEPKvPKc
32723270
_ZN4sycl3_V16detail13lgamma_r_implENS1_9half_impl4halfEPi
32733271
_ZN4sycl3_V16detail13lgamma_r_implEdPi
@@ -3298,7 +3296,6 @@ _ZN4sycl3_V16detail16AccessorBaseHostC1ENS0_2idILi3EEENS0_5rangeILi3EEES6_NS0_6a
32983296
_ZN4sycl3_V16detail16AccessorBaseHostC1ENS0_2idILi3EEENS0_5rangeILi3EEES6_NS0_6access4modeEPviimbRKNS0_13property_listE
32993297
_ZN4sycl3_V16detail16AccessorBaseHostC2ENS0_2idILi3EEENS0_5rangeILi3EEES6_NS0_6access4modeEPviibmbRKNS0_13property_listE
33003298
_ZN4sycl3_V16detail16AccessorBaseHostC2ENS0_2idILi3EEENS0_5rangeILi3EEES6_NS0_6access4modeEPviimbRKNS0_13property_listE
3301-
_ZN4sycl3_V16detail16reduGetMaxWGSizeERNS0_7handlerEm
33023299
_ZN4sycl3_V16detail16reduGetMaxWGSizeESt10shared_ptrINS1_10queue_implEEm
33033300
_ZN4sycl3_V16detail17HostProfilingInfo3endEv
33043301
_ZN4sycl3_V16detail17HostProfilingInfo5startEv
@@ -3333,7 +3330,6 @@ _ZN4sycl3_V16detail22get_kernel_bundle_implERKNS0_7contextERKSt6vectorINS0_6devi
33333330
_ZN4sycl3_V16detail22get_kernel_bundle_implERKNS0_7contextERKSt6vectorINS0_6deviceESaIS6_EERKS5_INS0_9kernel_idESaISB_EENS0_12bundle_stateE
33343331
_ZN4sycl3_V16detail22has_kernel_bundle_implERKNS0_7contextERKSt6vectorINS0_6deviceESaIS6_EENS0_12bundle_stateE
33353332
_ZN4sycl3_V16detail22has_kernel_bundle_implERKNS0_7contextERKSt6vectorINS0_6deviceESaIS6_EERKS5_INS0_9kernel_idESaISB_EENS0_12bundle_stateE
3336-
_ZN4sycl3_V16detail22reduGetPreferredWGSizeERNS0_7handlerEm
33373333
_ZN4sycl3_V16detail22reduGetPreferredWGSizeERSt10shared_ptrINS1_10queue_implEEm
33383334
_ZN4sycl3_V16detail22removeDuplicateDevicesERKSt6vectorINS0_6deviceESaIS3_EE
33393335
_ZN4sycl3_V16detail23constructorNotificationEPvS2_NS0_6access6targetENS3_4modeERKNS1_13code_locationE
@@ -3353,7 +3349,6 @@ _ZN4sycl3_V16detail30UnsampledImageAccessorBaseHost6getPtrEv
33533349
_ZN4sycl3_V16detail30UnsampledImageAccessorBaseHostC1ENS0_5rangeILi3EEENS0_6access4modeEPviiNS0_2idILi3EEENS0_18image_channel_typeENS0_19image_channel_orderERKNS0_13property_listE
33543350
_ZN4sycl3_V16detail30UnsampledImageAccessorBaseHostC2ENS0_5rangeILi3EEENS0_6access4modeEPviiNS0_2idILi3EEENS0_18image_channel_typeENS0_19image_channel_orderERKNS0_13property_listE
33553351
_ZN4sycl3_V16detail33enable_ext_oneapi_default_contextEb
3356-
_ZN4sycl3_V16detail33reduGetMaxNumConcurrentWorkGroupsERNS0_7handlerE
33573352
_ZN4sycl3_V16detail33reduGetMaxNumConcurrentWorkGroupsESt10shared_ptrINS1_10queue_implEE
33583353
_ZN4sycl3_V16detail34addHostSampledImageAccessorAndWaitEPNS1_28SampledImageAccessorImplHostE
33593354
_ZN4sycl3_V16detail35sampledImageConstructorNotificationEPvS2_RKSt8optionalINS0_12image_targetEEPKvjRKNS1_13code_locationE
@@ -3611,7 +3606,6 @@ _ZN4sycl3_V17handler6memcpyEPvPKvm
36113606
_ZN4sycl3_V17handler6memsetEPvim
36123607
_ZN4sycl3_V17handler7setTypeENS0_6detail6CGTypeE
36133608
_ZN4sycl3_V17handler8finalizeEv
3614-
_ZN4sycl3_V17handler8getQueueEv
36153609
_ZN4sycl3_V17handler8prefetchEPKvm
36163610
_ZN4sycl3_V17handler9clearArgsEv
36173611
_ZN4sycl3_V17handler9fill_implEPvPKvmm
@@ -3665,6 +3659,7 @@ _ZNK4sycl3_V115device_selector13select_deviceEv
36653659
_ZNK4sycl3_V116default_selectorclERKNS0_6deviceE
36663660
_ZNK4sycl3_V120accelerator_selectorclERKNS0_6deviceE
36673661
_ZNK4sycl3_V13ext6oneapi12experimental11memory_pool10get_deviceEv
3662+
_ZNK4sycl3_V13ext6oneapi12experimental11memory_pool11getPropListEv
36683663
_ZNK4sycl3_V13ext6oneapi12experimental11memory_pool11get_contextEv
36693664
_ZNK4sycl3_V13ext6oneapi12experimental11memory_pool13get_thresholdEv
36703665
_ZNK4sycl3_V13ext6oneapi12experimental11memory_pool14get_alloc_kindEv

sycl/test/abi/sycl_symbols_windows.dump

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4114,7 +4114,6 @@
41144114
?getPtr@SampledImageAccessorBaseHost@detail@_V1@sycl@@QEBAPEAXXZ
41154115
?getPtr@UnsampledImageAccessorBaseHost@detail@_V1@sycl@@QEAAPEAXXZ
41164116
?getPtr@UnsampledImageAccessorBaseHost@detail@_V1@sycl@@QEBAPEAXXZ
4117-
?getQueue@handler@_V1@sycl@@AEAA?AVqueue@23@XZ
41184117
?getRowPitch@image_plain@detail@_V1@sycl@@IEBA_KXZ
41194118
?getSampler@SampledImageAccessorBaseHost@detail@_V1@sycl@@QEBA?AUimage_sampler@34@XZ
41204119
?getSampler@image_plain@detail@_V1@sycl@@IEBA?AUimage_sampler@34@XZ
@@ -4343,8 +4342,6 @@
43434342
?pitched_alloc_device@experimental@oneapi@ext@_V1@sycl@@YAPEAXPEA_KAEBUimage_descriptor@12345@AEBVqueue@45@@Z
43444343
?pitched_alloc_device@experimental@oneapi@ext@_V1@sycl@@YAPEAXPEA_K_K1IAEBVdevice@45@AEBVcontext@45@@Z
43454344
?pitched_alloc_device@experimental@oneapi@ext@_V1@sycl@@YAPEAXPEA_K_K1IAEBVqueue@45@@Z
4346-
?postProcess@HandlerAccess@detail@_V1@sycl@@SAXAEAVhandler@34@Vtype_erased_cgfo_ty@234@@Z
4347-
?preProcess@HandlerAccess@detail@_V1@sycl@@SAXAEAVhandler@34@Vtype_erased_cgfo_ty@234@@Z
43484345
?prefetch@handler@_V1@sycl@@QEAAXPEBX_K@Z
43494346
?prefetch@queue@_V1@sycl@@QEAA?AVevent@23@PEBX_KAEBUcode_location@detail@23@@Z
43504347
?prefetch@queue@_V1@sycl@@QEAA?AVevent@23@PEBX_KAEBV?$vector@Vevent@_V1@sycl@@V?$allocator@Vevent@_V1@sycl@@@std@@@std@@AEBUcode_location@detail@23@@Z
@@ -4356,12 +4353,9 @@
43564353
?processArg@handler@_V1@sycl@@AEAAXPEAXAEBW4kernel_param_kind_t@detail@23@H_KAEA_K_N4@Z
43574354
?query@tls_code_loc_t@detail@_V1@sycl@@QEAAAEBUcode_location@234@XZ
43584355
?reduComputeWGSize@detail@_V1@sycl@@YA_K_K0AEA_K@Z
4359-
?reduGetMaxNumConcurrentWorkGroups@detail@_V1@sycl@@YAIAEAVhandler@23@@Z
43604356
?reduGetMaxNumConcurrentWorkGroups@detail@_V1@sycl@@YAIV?$shared_ptr@Vqueue_impl@detail@_V1@sycl@@@std@@@Z
4361-
?reduGetMaxWGSize@detail@_V1@sycl@@YA_KAEAVhandler@23@_K@Z
43624357
?reduGetMaxWGSize@detail@_V1@sycl@@YA_KV?$shared_ptr@Vqueue_impl@detail@_V1@sycl@@@std@@_K@Z
43634358
?reduGetPreferredWGSize@detail@_V1@sycl@@YA_KAEAV?$shared_ptr@Vqueue_impl@detail@_V1@sycl@@@std@@_K@Z
4364-
?reduGetPreferredWGSize@detail@_V1@sycl@@YA_KAEAVhandler@23@_K@Z
43654359
?registerDynamicParameter@handler@_V1@sycl@@AEAAXAEAVdynamic_parameter_base@detail@experimental@oneapi@ext@23@H@Z
43664360
?registerDynamicParameter@handler@_V1@sycl@@AEAAXPEAVdynamic_parameter_impl@detail@experimental@oneapi@ext@23@H@Z
43674361
?release_external_memory@experimental@oneapi@ext@_V1@sycl@@YAXUexternal_mem@12345@AEBVdevice@45@AEBVcontext@45@@Z
@@ -4393,7 +4387,6 @@
43934387
?setArgHelper@handler@_V1@sycl@@AEAAXHAEAVwork_group_memory_impl@detail@23@@Z
43944388
?setArgsHelper@handler@_V1@sycl@@AEAAXH@Z
43954389
?setArgsToAssociatedAccessors@handler@_V1@sycl@@AEAAXXZ
4396-
?setDevice@HostProfilingInfo@detail@_V1@sycl@@QEAAXPEAVdevice_impl@234@@Z
43974390
?setHandlerKernelBundle@handler@_V1@sycl@@AEAAXAEBV?$shared_ptr@Vkernel_bundle_impl@detail@_V1@sycl@@@std@@@Z
43984391
?setHandlerKernelBundle@handler@_V1@sycl@@AEAAXVkernel@23@@Z
43994392
?setKernelCacheConfig@handler@_V1@sycl@@AEAAXW4StableKernelCacheConfig@123@@Z

0 commit comments

Comments
 (0)