20namespace shamalgs::memory::details {
23 T Fallback<T>::extract_element(sycl::queue &q, sycl::buffer<T> &buf,
u32 idx) {
27 sycl::host_accessor acc{buf, sycl::read_only};
35 sycl::buffer<T> Fallback<T>::vec_to_buf(
const std::vector<T> &vec) {
36 sycl::buffer<T> ret(vec.size());
39 sycl::host_accessor acc{ret, sycl::write_only, sycl::no_init};
41 for (
u32 idx = 0; idx < vec.size(); idx++) {
46 return std::move(ret);
50 std::vector<T> Fallback<T>::buf_to_vec(sycl::buffer<T> &buf,
u32 len) {
55 sycl::host_accessor acc{buf, sycl::read_only};
57 for (
u32 idx = 0; idx < len; idx++) {
62 return std::move(ret);
94#define X(_arg_) template struct Fallback<_arg_>;
std::uint32_t u32
32 bit unsigned integer