vecmem 1.18.0
Loading...
Searching...
No Matches
copy.hpp
1/*
2 * VecMem project, part of the ACTS project (R&D line)
3 *
4 * (c) 2021-2025 CERN for the benefit of the ACTS project
5 *
6 * Mozilla Public License Version 2.0
7 */
8#pragma once
9
10// VecMem include(s).
11#include "vecmem/utils/copy.hpp"
12#include "vecmem/utils/sycl/details/queue_holder.hpp"
13#include "vecmem/vecmem_sycl_export.hpp"
14
15namespace vecmem::sycl {
16
25
26public:
29
30private:
33 void do_copy(std::size_t size, const void* from, void* to,
34 type::copy_type cptype) const override;
37 void do_memset(std::size_t size, void* ptr, int value) const override;
38
39}; // class copy
40
41} // namespace vecmem::sycl
An allocator class that wraps a memory resource.
Definition allocator.hpp:37
Class implementing (synchronous) host <-> device memory copies.
Definition copy.hpp:42
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 copy.hpp:24
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.
Base class for all user-facing, sycl::queue using classes.
Definition queue_holder.hpp:19
VECMEM_SYCL_EXPORT queue_holder(const queue_wrapper &queue={})
Constructor on top of a user-provided queue.
Namespace holding types that work on/with oneAPI/SYCL.
Definition sycl_builtin_device_atomic_ref.hpp:17