Skip to content

Commit 781604a

Browse files
committed
[common] move makeDisjointPool and makeProxyPool to common
this will be useful for other adapters as well.
1 parent 563842d commit 781604a

File tree

2 files changed

+26
-27
lines changed

2 files changed

+26
-27
lines changed

source/adapters/level_zero/v2/usm.cpp

Lines changed: 3 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
#include "umf_pools/disjoint_pool_config_parser.hpp"
1616
#include "usm.hpp"
1717

18-
#include <umf/pools/pool_disjoint.h>
19-
#include <umf/pools/pool_proxy.h>
2018
#include <umf/providers/provider_level_zero.h>
2119

2220
namespace umf {
@@ -158,28 +156,6 @@ makeProvider(usm::pool_descriptor poolDescriptor) {
158156
return std::move(provider);
159157
}
160158

161-
static umf::pool_unique_handle_t
162-
makeDisjointPool(umf::provider_unique_handle_t &&provider,
163-
usm::umf_disjoint_pool_config_t &poolParams) {
164-
auto umfParams = getUmfParamsHandle(poolParams);
165-
auto [ret, poolHandle] =
166-
umf::poolMakeUniqueFromOps(umfDisjointPoolOps(), std::move(provider),
167-
static_cast<void *>(umfParams.get()));
168-
if (ret != UMF_RESULT_SUCCESS)
169-
throw umf::umf2urResult(ret);
170-
return std::move(poolHandle);
171-
}
172-
173-
static umf::pool_unique_handle_t
174-
makeProxyPool(umf::provider_unique_handle_t &&provider) {
175-
auto [ret, poolHandle] = umf::poolMakeUniqueFromOps(
176-
umfProxyPoolOps(), std::move(provider), nullptr);
177-
if (ret != UMF_RESULT_SUCCESS)
178-
throw umf::umf2urResult(ret);
179-
180-
return std::move(poolHandle);
181-
}
182-
183159
ur_usm_pool_handle_t_::ur_usm_pool_handle_t_(ur_context_handle_t hContext,
184160
ur_usm_pool_desc_t *pPoolDesc)
185161
: hContext(hContext) {
@@ -207,10 +183,10 @@ ur_usm_pool_handle_t_::ur_usm_pool_handle_t_(ur_context_handle_t hContext,
207183
if (disjointPoolConfigs.has_value()) {
208184
auto &poolConfig =
209185
disjointPoolConfigs.value().Configs[descToDisjoinPoolMemType(desc)];
210-
poolManager.addPool(desc,
211-
makeDisjointPool(makeProvider(desc), poolConfig));
186+
poolManager.addPool(
187+
desc, usm::makeDisjointPool(makeProvider(desc), poolConfig));
212188
} else {
213-
poolManager.addPool(desc, makeProxyPool(makeProvider(desc)));
189+
poolManager.addPool(desc, usm::makeProxyPool(makeProvider(desc)));
214190
}
215191
}
216192
}

source/common/ur_pool_manager.hpp

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
#include <umf/memory_pool.h>
2323
#include <umf/memory_provider.h>
2424
#include <umf/pools/pool_disjoint.h>
25+
#include <umf/pools/pool_proxy.h>
2526

2627
#include <functional>
2728
#include <unordered_map>
@@ -290,6 +291,28 @@ template <typename D> struct pool_manager {
290291
}
291292
};
292293

294+
inline umf::pool_unique_handle_t
295+
makeDisjointPool(umf::provider_unique_handle_t &&provider,
296+
usm::umf_disjoint_pool_config_t &poolParams) {
297+
auto umfParams = getUmfParamsHandle(poolParams);
298+
auto [ret, poolHandle] =
299+
umf::poolMakeUniqueFromOps(umfDisjointPoolOps(), std::move(provider),
300+
static_cast<void *>(umfParams.get()));
301+
if (ret != UMF_RESULT_SUCCESS)
302+
throw umf::umf2urResult(ret);
303+
return std::move(poolHandle);
304+
}
305+
306+
inline umf::pool_unique_handle_t
307+
makeProxyPool(umf::provider_unique_handle_t &&provider) {
308+
auto [ret, poolHandle] = umf::poolMakeUniqueFromOps(
309+
umfProxyPoolOps(), std::move(provider), nullptr);
310+
if (ret != UMF_RESULT_SUCCESS)
311+
throw umf::umf2urResult(ret);
312+
313+
return std::move(poolHandle);
314+
}
315+
293316
} // namespace usm
294317

295318
namespace std {

0 commit comments

Comments
 (0)