18#include <sycl/sycl.hpp>
24 sycl::queue
q{sycl::cpu_selector_v};
25 std::cout <<
"Running on: " <<
q.get_device().get_info<sycl::info::device::name>() <<
"\n";
28 int *
sum = sycl::malloc_shared<int>(1,
q);
30 q.single_task([=] { *
sum =
a +
b; }).wait();
31 std::cout <<
"Sum = " << *
sum <<
'\n';
38 sycl::queue
q{sycl::default_selector_v};
40 std::vector<int> A(
N, 1), B(
N, 2),
C(
N);
42 int *
a = sycl::malloc_shared<int>(
N,
q);
43 int *
b = sycl::malloc_shared<int>(
N,
q);
44 int *
c = sycl::malloc_shared<int>(
N,
q);
46 std::copy(A.begin(), A.end(),
a);
47 std::copy(B.begin(), B.end(),
b);
49 q.parallel_for(
N, [=](sycl::id<1> i) {
c[i] =
a[i] +
b[i]; }).wait();
53 std::cout <<
"C[0] = " <<
C[0] <<
", C[N-1] = " <<
C[
N - 1] <<
"\n";
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
const_iterator begin() const
constexpr Double_t C()
Velocity of light in .
static uint64_t sum(uint64_t i)