Skip to content

Commit cfba9f1

Browse files
authored
Merge pull request #1216 from igchor/umf_standalone
[UR] Remove UMF sources and use standalone UMF repo instead
2 parents 0bb2cad + db5c33b commit cfba9f1

Some content is hidden

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

59 files changed

+148
-5695
lines changed

source/adapters/cuda/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@ endif()
8383
target_link_libraries(${TARGET_NAME} PRIVATE
8484
${PROJECT_NAME}::headers
8585
${PROJECT_NAME}::common
86-
${PROJECT_NAME}::unified_malloc_framework
8786
Threads::Threads
8887
cudadrv
8988
)

source/adapters/cuda/usm.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -401,28 +401,28 @@ ur_usm_pool_handle_t_::ur_usm_pool_handle_t_(ur_context_handle_t Context,
401401
.second;
402402

403403
HostMemPool =
404-
umf::poolMakeUnique<usm::DisjointPool, 1>(
405-
{std::move(MemProvider)},
406-
this->DisjointPoolConfigs.Configs[usm::DisjointPoolMemType::Host])
404+
umf::poolMakeUniqueFromOps(
405+
&UMF_DISJOINT_POOL_OPS, std::move(MemProvider),
406+
&this->DisjointPoolConfigs.Configs[usm::DisjointPoolMemType::Host])
407407
.second;
408408

409409
auto Device = Context->DeviceID;
410410
MemProvider =
411411
umf::memoryProviderMakeUnique<USMDeviceMemoryProvider>(Context, Device)
412412
.second;
413413
DeviceMemPool =
414-
umf::poolMakeUnique<usm::DisjointPool, 1>(
415-
{std::move(MemProvider)},
416-
this->DisjointPoolConfigs.Configs[usm::DisjointPoolMemType::Device])
414+
umf::poolMakeUniqueFromOps(
415+
&UMF_DISJOINT_POOL_OPS, std::move(MemProvider),
416+
&this->DisjointPoolConfigs.Configs[usm::DisjointPoolMemType::Device])
417417
.second;
418418

419419
MemProvider =
420420
umf::memoryProviderMakeUnique<USMSharedMemoryProvider>(Context, Device)
421421
.second;
422422
SharedMemPool =
423-
umf::poolMakeUnique<usm::DisjointPool, 1>(
424-
{std::move(MemProvider)},
425-
this->DisjointPoolConfigs.Configs[usm::DisjointPoolMemType::Shared])
423+
umf::poolMakeUniqueFromOps(
424+
&UMF_DISJOINT_POOL_OPS, std::move(MemProvider),
425+
&this->DisjointPoolConfigs.Configs[usm::DisjointPoolMemType::Shared])
426426
.second;
427427
Context->addPool(this);
428428
}

source/adapters/hip/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,6 @@ if("${UR_HIP_PLATFORM}" STREQUAL "AMD")
139139
target_link_libraries(${TARGET_NAME} PRIVATE
140140
${PROJECT_NAME}::headers
141141
${PROJECT_NAME}::common
142-
${PROJECT_NAME}::unified_malloc_framework
143142
rocmdrv
144143
)
145144

source/adapters/hip/usm.cpp

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -345,29 +345,29 @@ ur_usm_pool_handle_t_::ur_usm_pool_handle_t_(ur_context_handle_t Context,
345345
.second;
346346

347347
HostMemPool =
348-
umf::poolMakeUnique<usm::DisjointPool, 1>(
349-
{std::move(MemProvider)},
350-
this->DisjointPoolConfigs.Configs[usm::DisjointPoolMemType::Host])
348+
umf::poolMakeUniqueFromOps(
349+
&UMF_DISJOINT_POOL_OPS, std::move(MemProvider),
350+
&this->DisjointPoolConfigs.Configs[usm::DisjointPoolMemType::Host])
351351
.second;
352352

353353
for (const auto &Device : Context->getDevices()) {
354354
MemProvider =
355355
umf::memoryProviderMakeUnique<USMDeviceMemoryProvider>(Context, Device)
356356
.second;
357-
DeviceMemPool =
358-
umf::poolMakeUnique<usm::DisjointPool, 1>(
359-
{std::move(MemProvider)},
360-
this->DisjointPoolConfigs.Configs[usm::DisjointPoolMemType::Device])
361-
.second;
357+
DeviceMemPool = umf::poolMakeUniqueFromOps(
358+
&UMF_DISJOINT_POOL_OPS, std::move(MemProvider),
359+
&this->DisjointPoolConfigs
360+
.Configs[usm::DisjointPoolMemType::Device])
361+
.second;
362362

363363
MemProvider =
364364
umf::memoryProviderMakeUnique<USMSharedMemoryProvider>(Context, Device)
365365
.second;
366-
SharedMemPool =
367-
umf::poolMakeUnique<usm::DisjointPool, 1>(
368-
{std::move(MemProvider)},
369-
this->DisjointPoolConfigs.Configs[usm::DisjointPoolMemType::Shared])
370-
.second;
366+
SharedMemPool = umf::poolMakeUniqueFromOps(
367+
&UMF_DISJOINT_POOL_OPS, std::move(MemProvider),
368+
&this->DisjointPoolConfigs
369+
.Configs[usm::DisjointPoolMemType::Shared])
370+
.second;
371371
Context->addPool(this);
372372
}
373373
}

source/adapters/level_zero/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,6 @@ endif()
140140
target_link_libraries(${TARGET_NAME} PRIVATE
141141
${PROJECT_NAME}::headers
142142
${PROJECT_NAME}::common
143-
${PROJECT_NAME}::unified_malloc_framework
144143
LevelZeroLoader
145144
LevelZeroLoader-Headers
146145
)

source/adapters/level_zero/context.cpp

Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -189,21 +189,21 @@ ur_result_t ur_context_handle_t_::initialize() {
189189
.second;
190190
DeviceMemPools.emplace(
191191
std::piecewise_construct, std::make_tuple(Device->ZeDevice),
192-
std::make_tuple(umf::poolMakeUnique<usm::DisjointPool, 1>(
193-
{std::move(MemProvider)},
194-
DisjointPoolConfigInstance
195-
.Configs[usm::DisjointPoolMemType::Device])
192+
std::make_tuple(umf::poolMakeUniqueFromOps(
193+
&UMF_DISJOINT_POOL_OPS, std::move(MemProvider),
194+
&DisjointPoolConfigInstance
195+
.Configs[usm::DisjointPoolMemType::Device])
196196
.second));
197197

198198
MemProvider = umf::memoryProviderMakeUnique<L0SharedMemoryProvider>(
199199
reinterpret_cast<ur_context_handle_t>(this), Device)
200200
.second;
201201
SharedMemPools.emplace(
202202
std::piecewise_construct, std::make_tuple(Device->ZeDevice),
203-
std::make_tuple(umf::poolMakeUnique<usm::DisjointPool, 1>(
204-
{std::move(MemProvider)},
205-
DisjointPoolConfigInstance
206-
.Configs[usm::DisjointPoolMemType::Shared])
203+
std::make_tuple(umf::poolMakeUniqueFromOps(
204+
&UMF_DISJOINT_POOL_OPS, std::move(MemProvider),
205+
&DisjointPoolConfigInstance
206+
.Configs[usm::DisjointPoolMemType::Shared])
207207
.second));
208208

209209
MemProvider = umf::memoryProviderMakeUnique<L0SharedReadOnlyMemoryProvider>(
@@ -212,10 +212,10 @@ ur_result_t ur_context_handle_t_::initialize() {
212212
SharedReadOnlyMemPools.emplace(
213213
std::piecewise_construct, std::make_tuple(Device->ZeDevice),
214214
std::make_tuple(
215-
umf::poolMakeUnique<usm::DisjointPool, 1>(
216-
{std::move(MemProvider)},
217-
DisjointPoolConfigInstance
218-
.Configs[usm::DisjointPoolMemType::SharedReadOnly])
215+
umf::poolMakeUniqueFromOps(
216+
&UMF_DISJOINT_POOL_OPS, std::move(MemProvider),
217+
&DisjointPoolConfigInstance
218+
.Configs[usm::DisjointPoolMemType::SharedReadOnly])
219219
.second));
220220

221221
MemProvider = umf::memoryProviderMakeUnique<L0DeviceMemoryProvider>(
@@ -224,26 +224,23 @@ ur_result_t ur_context_handle_t_::initialize() {
224224
DeviceMemProxyPools.emplace(
225225
std::piecewise_construct, std::make_tuple(Device->ZeDevice),
226226
std::make_tuple(
227-
umf::poolMakeUnique<USMProxyPool, 1>({std::move(MemProvider)})
228-
.second));
227+
umf::poolMakeUnique<USMProxyPool>(std::move(MemProvider)).second));
229228

230229
MemProvider = umf::memoryProviderMakeUnique<L0SharedMemoryProvider>(
231230
reinterpret_cast<ur_context_handle_t>(this), Device)
232231
.second;
233232
SharedMemProxyPools.emplace(
234233
std::piecewise_construct, std::make_tuple(Device->ZeDevice),
235234
std::make_tuple(
236-
umf::poolMakeUnique<USMProxyPool, 1>({std::move(MemProvider)})
237-
.second));
235+
umf::poolMakeUnique<USMProxyPool>(std::move(MemProvider)).second));
238236

239237
MemProvider = umf::memoryProviderMakeUnique<L0SharedReadOnlyMemoryProvider>(
240238
reinterpret_cast<ur_context_handle_t>(this), Device)
241239
.second;
242240
SharedReadOnlyMemProxyPools.emplace(
243241
std::piecewise_construct, std::make_tuple(Device->ZeDevice),
244242
std::make_tuple(
245-
umf::poolMakeUnique<USMProxyPool, 1>({std::move(MemProvider)})
246-
.second));
243+
umf::poolMakeUnique<USMProxyPool>(std::move(MemProvider)).second));
247244
};
248245

249246
// Recursive helper to call createUSMAllocators for all sub-devices
@@ -268,16 +265,16 @@ ur_result_t ur_context_handle_t_::initialize() {
268265
reinterpret_cast<ur_context_handle_t>(this), nullptr)
269266
.second;
270267
HostMemPool =
271-
umf::poolMakeUnique<usm::DisjointPool, 1>(
272-
{std::move(MemProvider)},
273-
DisjointPoolConfigInstance.Configs[usm::DisjointPoolMemType::Host])
268+
umf::poolMakeUniqueFromOps(
269+
&UMF_DISJOINT_POOL_OPS, std::move(MemProvider),
270+
&DisjointPoolConfigInstance.Configs[usm::DisjointPoolMemType::Host])
274271
.second;
275272

276273
MemProvider = umf::memoryProviderMakeUnique<L0HostMemoryProvider>(
277274
reinterpret_cast<ur_context_handle_t>(this), nullptr)
278275
.second;
279276
HostMemProxyPool =
280-
umf::poolMakeUnique<USMProxyPool, 1>({std::move(MemProvider)}).second;
277+
umf::poolMakeUnique<USMProxyPool>(std::move(MemProvider)).second;
281278

282279
// We may allocate memory to this root device so create allocators.
283280
if (SingleRootDevice &&

source/adapters/level_zero/usm.cpp

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -834,9 +834,9 @@ ur_usm_pool_handle_t_::ur_usm_pool_handle_t_(ur_context_handle_t Context,
834834
.second;
835835

836836
HostMemPool =
837-
umf::poolMakeUnique<usm::DisjointPool, 1>(
838-
{std::move(MemProvider)},
839-
this->DisjointPoolConfigs.Configs[usm::DisjointPoolMemType::Host])
837+
umf::poolMakeUniqueFromOps(
838+
&UMF_DISJOINT_POOL_OPS, std::move(MemProvider),
839+
&this->DisjointPoolConfigs.Configs[usm::DisjointPoolMemType::Host])
840840
.second;
841841

842842
for (auto device : Context->Devices) {
@@ -845,21 +845,21 @@ ur_usm_pool_handle_t_::ur_usm_pool_handle_t_(ur_context_handle_t Context,
845845
.second;
846846
DeviceMemPools.emplace(
847847
std::piecewise_construct, std::make_tuple(device),
848-
std::make_tuple(umf::poolMakeUnique<usm::DisjointPool, 1>(
849-
{std::move(MemProvider)},
850-
this->DisjointPoolConfigs
851-
.Configs[usm::DisjointPoolMemType::Device])
848+
std::make_tuple(umf::poolMakeUniqueFromOps(
849+
&UMF_DISJOINT_POOL_OPS, std::move(MemProvider),
850+
&this->DisjointPoolConfigs
851+
.Configs[usm::DisjointPoolMemType::Device])
852852
.second));
853853

854854
MemProvider =
855855
umf::memoryProviderMakeUnique<L0SharedMemoryProvider>(Context, device)
856856
.second;
857857
SharedMemPools.emplace(
858858
std::piecewise_construct, std::make_tuple(device),
859-
std::make_tuple(umf::poolMakeUnique<usm::DisjointPool, 1>(
860-
{std::move(MemProvider)},
861-
this->DisjointPoolConfigs
862-
.Configs[usm::DisjointPoolMemType::Shared])
859+
std::make_tuple(umf::poolMakeUniqueFromOps(
860+
&UMF_DISJOINT_POOL_OPS, std::move(MemProvider),
861+
&this->DisjointPoolConfigs
862+
.Configs[usm::DisjointPoolMemType::Shared])
863863
.second));
864864

865865
MemProvider = umf::memoryProviderMakeUnique<L0SharedReadOnlyMemoryProvider>(
@@ -868,10 +868,10 @@ ur_usm_pool_handle_t_::ur_usm_pool_handle_t_(ur_context_handle_t Context,
868868
SharedReadOnlyMemPools.emplace(
869869
std::piecewise_construct, std::make_tuple(device),
870870
std::make_tuple(
871-
umf::poolMakeUnique<usm::DisjointPool, 1>(
872-
{std::move(MemProvider)},
873-
this->DisjointPoolConfigs
874-
.Configs[usm::DisjointPoolMemType::SharedReadOnly])
871+
umf::poolMakeUniqueFromOps(
872+
&UMF_DISJOINT_POOL_OPS, std::move(MemProvider),
873+
&this->DisjointPoolConfigs
874+
.Configs[usm::DisjointPoolMemType::SharedReadOnly])
875875
.second));
876876
}
877877
}

source/adapters/level_zero/usm.hpp

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -139,11 +139,8 @@ class L0HostMemoryProvider final : public L0MemoryProvider {
139139
// capabilities.
140140
class USMProxyPool {
141141
public:
142-
umf_result_t initialize(umf_memory_provider_handle_t *Providers,
143-
size_t NumProviders) noexcept {
144-
std::ignore = NumProviders;
145-
146-
this->hProvider = Providers[0];
142+
umf_result_t initialize(umf_memory_provider_handle_t Provider) noexcept {
143+
this->hProvider = Provider;
147144
return UMF_RESULT_SUCCESS;
148145
}
149146
void *malloc(size_t Size) noexcept { return aligned_malloc(Size, 0); }

source/adapters/native_cpu/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ find_package(Threads REQUIRED)
5252
target_link_libraries(${TARGET_NAME} PRIVATE
5353
${PROJECT_NAME}::headers
5454
${PROJECT_NAME}::common
55-
${PROJECT_NAME}::unified_malloc_framework
5655
Threads::Threads
5756
)
5857

source/adapters/opencl/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,6 @@ target_include_directories(${TARGET_NAME} PRIVATE
9595
target_link_libraries(${TARGET_NAME} PRIVATE
9696
${PROJECT_NAME}::headers
9797
${PROJECT_NAME}::common
98-
${PROJECT_NAME}::unified_malloc_framework
9998
Threads::Threads
10099
${OpenCLICDLoaderLibrary}
101100
)

0 commit comments

Comments
 (0)