27namespace sham::details {
29 template<USMKindTarget target>
31 size_t size, std::shared_ptr<DeviceScheduler> dev_sched, std::optional<size_t> alignment) {
46 template<USMKindTarget target>
52 shamcomm::logs::debug_alloc_ln(
"memoryHandle",
"waiting event completion ...");
54 shamcomm::logs::debug_alloc_ln(
"memoryHandle",
"done, freeing memory");
55 usm_ptr_hold.free_ptr();
60 size_t size, std::shared_ptr<DeviceScheduler> dev_sched, std::optional<size_t> alignment);
62 size_t size, std::shared_ptr<DeviceScheduler> dev_sched, std::optional<size_t> alignment);
64 size_t size, std::shared_ptr<DeviceScheduler> dev_sched, std::optional<size_t> alignment);
66 template void release_usm_ptr<device>(
68 template void release_usm_ptr<shared>(
70 template void release_usm_ptr<host>(
This file contains the declaration of the USMPtrHolder class.
Class for holding a USM pointer.
static USMPtrHolder create(size_t sz, std::shared_ptr< DeviceScheduler > dev_sched, std::optional< size_t > alignment=std::nullopt)
Create a USM pointer holder.
Class that manages the event state of a SYCL USM buffer.
This file contains the declaration of the memory handling and its methods.
void release_usm_ptr(USMPtrHolder< target > &&usm_ptr_hold, details::BufferEventHandler &&events)
Release a USM pointer.
USMPtrHolder< target > create_usm_ptr(size_t size, std::shared_ptr< DeviceScheduler > dev_sched, std::optional< size_t > alignment=std::nullopt)
Create a USM pointer with at least the given size in bytes.
This file contains the definition for the stacktrace related functionality.
Functions related to the MPI communicator.