Skip to content

Commit 19971e8

Browse files
committed
Refactor pool_properties struct
1 parent 8248b5e commit 19971e8

File tree

9 files changed

+22
-58
lines changed

9 files changed

+22
-58
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: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4069,7 +4069,6 @@ _ZNK4sycl3_V17context12get_platformEv
40694069
_ZNK4sycl3_V17context16get_backend_infoINS0_4info6device15backend_versionEEENS0_6detail20is_backend_info_descIT_E11return_typeEv
40704070
_ZNK4sycl3_V17context16get_backend_infoINS0_4info6device7versionEEENS0_6detail20is_backend_info_descIT_E11return_typeEv
40714071
_ZNK4sycl3_V17context16get_backend_infoINS0_4info8platform7versionEEENS0_6detail20is_backend_info_descIT_E11return_typeEv
4072-
_ZNK4sycl3_V17context34ext_oneapi_get_default_memory_poolENS0_3usm5allocE
40734072
_ZNK4sycl3_V17context34ext_oneapi_get_default_memory_poolERKNS0_6deviceENS0_3usm5allocE
40744073
_ZNK4sycl3_V17context3getEv
40754074
_ZNK4sycl3_V17context8get_infoINS0_4info7context15reference_countEEENS0_6detail20is_context_info_descIT_E11return_typeEv

sycl/test/abi/sycl_symbols_windows.dump

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -454,10 +454,13 @@
454454
??0kernel_id@_V1@sycl@@AEAA@PEBD@Z
455455
??0kernel_id@_V1@sycl@@QEAA@$$QEAV012@@Z
456456
??0kernel_id@_V1@sycl@@QEAA@AEBV012@@Z
457-
??0memory_pool@experimental@oneapi@ext@_V1@sycl@@IEAA@AEBVcontext@45@AEBVdevice@45@W4alloc@usm@45@Upool_properties@012345@@Z
458457
??0memory_pool@experimental@oneapi@ext@_V1@sycl@@IEAA@V?$shared_ptr@Vmemory_pool_impl@detail@experimental@oneapi@ext@_V1@sycl@@@std@@@Z
459458
??0memory_pool@experimental@oneapi@ext@_V1@sycl@@QEAA@$$QEAV012345@@Z
460459
??0memory_pool@experimental@oneapi@ext@_V1@sycl@@QEAA@AEBV012345@@Z
460+
??0memory_pool@experimental@oneapi@ext@_V1@sycl@@QEAA@AEBVcontext@45@AEBVdevice@45@W4alloc@usm@45@AEBVproperty_list@45@@Z
461+
??0memory_pool@experimental@oneapi@ext@_V1@sycl@@QEAA@AEBVcontext@45@PEAX_KAEBVproperty_list@45@@Z
462+
??0memory_pool@experimental@oneapi@ext@_V1@sycl@@QEAA@AEBVcontext@45@W4alloc@usm@45@AEBVproperty_list@45@@Z
463+
??0memory_pool@experimental@oneapi@ext@_V1@sycl@@QEAA@AEBVqueue@45@W4alloc@usm@45@AEBVproperty_list@45@@Z
461464
??0modifiable_command_graph@detail@experimental@oneapi@ext@_V1@sycl@@IEAA@AEBV?$shared_ptr@Vgraph_impl@detail@experimental@oneapi@ext@_V1@sycl@@@std@@@Z
462465
??0modifiable_command_graph@detail@experimental@oneapi@ext@_V1@sycl@@QEAA@$$QEAV0123456@@Z
463466
??0modifiable_command_graph@detail@experimental@oneapi@ext@_V1@sycl@@QEAA@AEBV0123456@@Z
@@ -4103,6 +4106,7 @@
41034106
?getPropList@buffer_plain@detail@_V1@sycl@@IEBAAEBVproperty_list@34@XZ
41044107
?getPropList@context@_V1@sycl@@AEBAAEBVproperty_list@23@XZ
41054108
?getPropList@image_plain@detail@_V1@sycl@@IEBAAEBVproperty_list@34@XZ
4109+
?getPropList@memory_pool@experimental@oneapi@ext@_V1@sycl@@IEBAAEBVproperty_list@56@XZ
41064110
?getPropList@queue@_V1@sycl@@AEBAAEBVproperty_list@23@XZ
41074111
?getPropList@sampler@_V1@sycl@@AEBAAEBVproperty_list@23@XZ
41084112
?getPropList@stream@_V1@sycl@@AEBAAEBVproperty_list@23@XZ
@@ -4114,7 +4118,6 @@
41144118
?getPtr@SampledImageAccessorBaseHost@detail@_V1@sycl@@QEBAPEAXXZ
41154119
?getPtr@UnsampledImageAccessorBaseHost@detail@_V1@sycl@@QEAAPEAXXZ
41164120
?getPtr@UnsampledImageAccessorBaseHost@detail@_V1@sycl@@QEBAPEAXXZ
4117-
?getQueue@handler@_V1@sycl@@AEAA?AVqueue@23@XZ
41184121
?getRowPitch@image_plain@detail@_V1@sycl@@IEBA_KXZ
41194122
?getSampler@SampledImageAccessorBaseHost@detail@_V1@sycl@@QEBA?AUimage_sampler@34@XZ
41204123
?getSampler@image_plain@detail@_V1@sycl@@IEBA?AUimage_sampler@34@XZ
@@ -4343,8 +4346,6 @@
43434346
?pitched_alloc_device@experimental@oneapi@ext@_V1@sycl@@YAPEAXPEA_KAEBUimage_descriptor@12345@AEBVqueue@45@@Z
43444347
?pitched_alloc_device@experimental@oneapi@ext@_V1@sycl@@YAPEAXPEA_K_K1IAEBVdevice@45@AEBVcontext@45@@Z
43454348
?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
43484349
?prefetch@handler@_V1@sycl@@QEAAXPEBX_K@Z
43494350
?prefetch@queue@_V1@sycl@@QEAA?AVevent@23@PEBX_KAEBUcode_location@detail@23@@Z
43504351
?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 +4357,9 @@
43564357
?processArg@handler@_V1@sycl@@AEAAXPEAXAEBW4kernel_param_kind_t@detail@23@H_KAEA_K_N4@Z
43574358
?query@tls_code_loc_t@detail@_V1@sycl@@QEAAAEBUcode_location@234@XZ
43584359
?reduComputeWGSize@detail@_V1@sycl@@YA_K_K0AEA_K@Z
4359-
?reduGetMaxNumConcurrentWorkGroups@detail@_V1@sycl@@YAIAEAVhandler@23@@Z
43604360
?reduGetMaxNumConcurrentWorkGroups@detail@_V1@sycl@@YAIV?$shared_ptr@Vqueue_impl@detail@_V1@sycl@@@std@@@Z
4361-
?reduGetMaxWGSize@detail@_V1@sycl@@YA_KAEAVhandler@23@_K@Z
43624361
?reduGetMaxWGSize@detail@_V1@sycl@@YA_KV?$shared_ptr@Vqueue_impl@detail@_V1@sycl@@@std@@_K@Z
43634362
?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
43654363
?registerDynamicParameter@handler@_V1@sycl@@AEAAXAEAVdynamic_parameter_base@detail@experimental@oneapi@ext@23@H@Z
43664364
?registerDynamicParameter@handler@_V1@sycl@@AEAAXPEAVdynamic_parameter_impl@detail@experimental@oneapi@ext@23@H@Z
43674365
?release_external_memory@experimental@oneapi@ext@_V1@sycl@@YAXUexternal_mem@12345@AEBVdevice@45@AEBVcontext@45@@Z
@@ -4393,7 +4391,6 @@
43934391
?setArgHelper@handler@_V1@sycl@@AEAAXHAEAVwork_group_memory_impl@detail@23@@Z
43944392
?setArgsHelper@handler@_V1@sycl@@AEAAXH@Z
43954393
?setArgsToAssociatedAccessors@handler@_V1@sycl@@AEAAXXZ
4396-
?setDevice@HostProfilingInfo@detail@_V1@sycl@@QEAAXPEAVdevice_impl@234@@Z
43974394
?setHandlerKernelBundle@handler@_V1@sycl@@AEAAXAEBV?$shared_ptr@Vkernel_bundle_impl@detail@_V1@sycl@@@std@@@Z
43984395
?setHandlerKernelBundle@handler@_V1@sycl@@AEAAXVkernel@23@@Z
43994396
?setKernelCacheConfig@handler@_V1@sycl@@AEAAXW4StableKernelCacheConfig@123@@Z

0 commit comments

Comments
 (0)