Uses sycl_shared and sycl_free to allocate and deallocate unified shared memory (USM) on Intel GPUs.
More...
#include </home/docs/checkouts/readthedocs.org/user_builds/umpire/checkouts/develop/src/umpire/alloc/SyclMallocManagedAllocator.hpp>
Uses sycl_shared and sycl_free to allocate and deallocate unified shared memory (USM) on Intel GPUs.
◆ allocate()
| void* umpire::alloc::SyclMallocManagedAllocator::allocate |
( |
std::size_t |
bytes, |
|
|
const sycl::queue & |
queue_t |
|
) |
| |
|
inline |
Allocate bytes of memory using sycl::malloc_shared.
- Parameters
-
| bytes | Number of bytes to allocate. |
- Returns
- Pointer to start of the allocation.
- Exceptions
-
| umpire::util::runtime_error | if memory cannot be allocated. |
References umpire::util::message::Debug, UMPIRE_ERROR, and UMPIRE_LOG.
◆ deallocate()
| void umpire::alloc::SyclMallocManagedAllocator::deallocate |
( |
void * |
usm_ptr, |
|
|
const sycl::queue & |
queue_t |
|
) |
| |
|
inline |
◆ isAccessible()
| bool umpire::alloc::SyclMallocManagedAllocator::isAccessible |
( |
Platform |
p | ) |
|
|
inline |