11#include "vecmem/utils/copy.hpp"
12#include "vecmem/utils/sycl/details/queue_holder.hpp"
13#include "vecmem/vecmem_sycl_export.hpp"
45 type::copy_type
cptype)
const override;
48 void do_memset(std::size_t size,
void* ptr,
int value)
const override;
56 std::unique_ptr<impl> m_impl;
An allocator class that wraps a memory resource.
Definition allocator.hpp:37
Class implementing (synchronous) host <-> device memory copies.
Definition copy.hpp:42
std::unique_ptr< abstract_event > event_type
Event type used by the copy class.
Definition copy.hpp:70
data::vector_buffer< std::remove_cv_t< TYPE > > to(const data::vector_view< TYPE > &data, memory_resource &resource, type::copy_type cptype=type::unknown) const
Copy a 1-dimensional vector to the specified memory resource.
Definition copy.ipp:66
Specialisation of vecmem::copy for SYCL.
Definition async_copy.hpp:31
VECMEM_SYCL_EXPORT async_copy(const queue_wrapper &queue)
Constructor on top of a user-provided queue.
VECMEM_SYCL_EXPORT void do_copy(std::size_t size, const void *from, void *to, type::copy_type cptype) const override
Perform a memory copy using SYCL.
VECMEM_SYCL_EXPORT void do_memset(std::size_t size, void *ptr, int value) const override
Fill a memory area using SYCL.
VECMEM_SYCL_EXPORT event_type create_event() const override
Create an event for synchronization.
VECMEM_SYCL_EXPORT ~async_copy()
Destructor.
Base class for all user-facing, sycl::queue using classes.
Definition queue_holder.hpp:19
queue_wrapper & queue() const
Get the held queue.
Wrapper class for ::sycl::queue.
Definition queue_wrapper.hpp:23
Namespace holding types that work on/with oneAPI/SYCL.
Definition sycl_builtin_device_atomic_ref.hpp:17