#include "../c++/data.hpp" namespace sch { using namespace saw::schema; } template void inner_work(){ acpp::sycl::queue sycl_q; constexpr uint64_t dat_size = 10000u; data, encode::Sycl> dat{{{dat_size}},sycl_q}; data>, encode::Sycl> dat_ref{dat}; auto dat_ptr = dat_ref.get_internal_data(); sycl_q.parallel_for(dat_size, [=](acpp::sycl::id<1> idx){ size_t i = idx[0]; dat_ptr[i] = {i}; }).wait(); for(uint64_t i = 0u; i < dat_size; ++i){ SAW_EXPECT(dat_ptr[i].get() == i, std::string{"Unexpected value: "} + std::to_string(i)); } } int main(){ using namespace saw; inner_work(); inner_work(); inner_work>(); return 0; }