27namespace sham::details {
29 template<USMKindTarget target>
31 size_t size, std::shared_ptr<DeviceScheduler> dev_sched, std::optional<size_t> alignment) {
39 return USMPtrHolder<target>::create_nullptr(dev_sched);
46 template<USMKindTarget target>
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.
void debug_alloc_ln(std::string module_name, Types... var2)
Prints a log message with multiple arguments followed by a newline.
This file contains the definition for the stacktrace related functionality.
shambase::details::BasicStackEntry StackEntry
Alias for shambase::details::BasicStackEntry.
Functions related to the MPI communicator.