11 typedef typename vobj::scalar_object sobj;
12 typedef typename vobj::scalar_objectD sobjD;
14 sobj identity;
zeroit(identity);
18 sycl::buffer<sobj, 1> abuff(&ret, {1});
19 theGridAccelerator->submit([&](sycl::handler &cgh) {
20 auto Reduction = sycl::reduction(abuff,cgh,identity,std::plus<>());
21 cgh.parallel_for(sycl::range<1>{osites},
23 [=] (sycl::id<1> item,
auto &
sum) {
56 typedef typename vobj::scalar_object sobj;
65 typedef typename vobj::scalar_object sobj;
74 Word identity; identity=0;
77 sycl::buffer<Word, 1> abuff(&ret, {1});
78 theGridAccelerator->submit([&](sycl::handler &cgh) {
79 auto Reduction = sycl::reduction(abuff,cgh,identity,std::bit_xor<>());
80 cgh.parallel_for(sycl::range<1>{L},
82 [=] (sycl::id<1> index,
auto &
sum) {
87 theGridAccelerator->wait();
accelerator_inline void zeroit(Grid_simd2< S, V > &z)
vobj::scalar_object sum(const vobj *arg, Integer osites)
vobj::scalar_objectD sumD_gpu_small(const vobj *lat, Integer osites)
Word svm_xor(Word *vec, uint64_t L)
vobj::scalar_object sum_gpu_large(const vobj *lat, Integer osites)
vobj::scalar_objectD sumD_gpu(const vobj *lat, Integer osites)
vobj::scalar_objectD sumD_gpu_large(const vobj *lat, Integer osites)
vobj::scalar_objectD sumD_gpu_tensor(const vobj *lat, Integer osites)
vobj::scalar_object sum_gpu(const vobj *lat, Integer osites)
accelerator_inline void convertType(ComplexD &out, const std::complex< double > &in)
#define NAMESPACE_BEGIN(A)
accelerator_inline ComplexD Reduce(const ComplexD &r)