Restricted USM: aligned_alloc_shared (2)

sycl::aligned_alloc_shared

void* sycl::aligned_alloc_shared(
    size_t alignment,
    size_t num_bytes,
    const sycl::queue& q
);
template <typename T>
T* sycl::aligned_alloc_shared(
    size_t alignment,
    size_t count,
    const sycl::queue& q
);

Parameters

size_t alignment

Specifies the byte alignment. Must be a valid alignment supported by the implementation.

size_t num_bytes

Number of bytes to allocate.

size_t count

Number of elements of type T to allocate.

const sycl::queue& q

The SYCL q that provides the device and context to allocate against.

Return Value

Returns a pointer to the newly allocated shared memory on the device associated with q on success. Memory allocated by sycl::aligned_alloc_shared must be deallocated with sycl::free in order to avoid memory leaks.

Returns nullptr on failure.