[SYCL 2020] Use unnamed lamdas
This commit is contained in:
parent
903eb40d19
commit
8c72b52f16
@ -91,7 +91,7 @@ void SYCLStream<T>::copy()
|
||||
{
|
||||
auto ka = d_a->template get_access<access::mode::read>(cgh);
|
||||
auto kc = d_c->template get_access<access::mode::write>(cgh);
|
||||
cgh.parallel_for<copy_kernel>(range<1>{array_size}, [=](id<1> idx)
|
||||
cgh.parallel_for(range<1>{array_size}, [=](id<1> idx)
|
||||
{
|
||||
kc[idx] = ka[idx];
|
||||
});
|
||||
@ -107,7 +107,7 @@ void SYCLStream<T>::mul()
|
||||
{
|
||||
auto kb = d_b->template get_access<access::mode::write>(cgh);
|
||||
auto kc = d_c->template get_access<access::mode::read>(cgh);
|
||||
cgh.parallel_for<mul_kernel>(range<1>{array_size}, [=](id<1> idx)
|
||||
cgh.parallel_for(range<1>{array_size}, [=](id<1> idx)
|
||||
{
|
||||
kb[idx] = scalar * kc[idx];
|
||||
});
|
||||
@ -123,7 +123,7 @@ void SYCLStream<T>::add()
|
||||
auto ka = d_a->template get_access<access::mode::read>(cgh);
|
||||
auto kb = d_b->template get_access<access::mode::read>(cgh);
|
||||
auto kc = d_c->template get_access<access::mode::write>(cgh);
|
||||
cgh.parallel_for<add_kernel>(range<1>{array_size}, [=](id<1> idx)
|
||||
cgh.parallel_for(range<1>{array_size}, [=](id<1> idx)
|
||||
{
|
||||
kc[idx] = ka[idx] + kb[idx];
|
||||
});
|
||||
@ -140,7 +140,7 @@ void SYCLStream<T>::triad()
|
||||
auto ka = d_a->template get_access<access::mode::write>(cgh);
|
||||
auto kb = d_b->template get_access<access::mode::read>(cgh);
|
||||
auto kc = d_c->template get_access<access::mode::read>(cgh);
|
||||
cgh.parallel_for<triad_kernel>(range<1>{array_size}, [=](id<1> idx)
|
||||
cgh.parallel_for(range<1>{array_size}, [=](id<1> idx)
|
||||
{
|
||||
ka[idx] = kb[idx] + scalar * kc[idx];
|
||||
});
|
||||
@ -160,7 +160,7 @@ T SYCLStream<T>::dot()
|
||||
auto wg_sum = accessor<T, 1, access::mode::read_write, access::target::local>(range<1>(dot_wgsize), cgh);
|
||||
|
||||
size_t N = array_size;
|
||||
cgh.parallel_for<dot_kernel>(nd_range<1>(dot_num_groups*dot_wgsize, dot_wgsize), [=](nd_item<1> item)
|
||||
cgh.parallel_for(nd_range<1>(dot_num_groups*dot_wgsize, dot_wgsize), [=](nd_item<1> item)
|
||||
{
|
||||
size_t i = item.get_global_id(0);
|
||||
size_t li = item.get_local_id(0);
|
||||
@ -201,7 +201,7 @@ void SYCLStream<T>::init_arrays(T initA, T initB, T initC)
|
||||
auto ka = d_a->template get_access<access::mode::write>(cgh);
|
||||
auto kb = d_b->template get_access<access::mode::write>(cgh);
|
||||
auto kc = d_c->template get_access<access::mode::write>(cgh);
|
||||
cgh.parallel_for<init_kernel>(range<1>{array_size}, [=](item<1> item)
|
||||
cgh.parallel_for(range<1>{array_size}, [=](item<1> item)
|
||||
{
|
||||
auto id = item.get_id(0);
|
||||
ka[id] = initA;
|
||||
|
||||
18
SYCLStream.h
18
SYCLStream.h
@ -15,16 +15,6 @@
|
||||
|
||||
#define IMPLEMENTATION_STRING "SYCL"
|
||||
|
||||
namespace sycl_kernels
|
||||
{
|
||||
template <class T> class init;
|
||||
template <class T> class copy;
|
||||
template <class T> class mul;
|
||||
template <class T> class add;
|
||||
template <class T> class triad;
|
||||
template <class T> class dot;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
class SYCLStream : public Stream<T>
|
||||
{
|
||||
@ -39,14 +29,6 @@ class SYCLStream : public Stream<T>
|
||||
cl::sycl::buffer<T> *d_c;
|
||||
cl::sycl::buffer<T> *d_sum;
|
||||
|
||||
// SYCL kernel names
|
||||
typedef sycl_kernels::init<T> init_kernel;
|
||||
typedef sycl_kernels::copy<T> copy_kernel;
|
||||
typedef sycl_kernels::mul<T> mul_kernel;
|
||||
typedef sycl_kernels::add<T> add_kernel;
|
||||
typedef sycl_kernels::triad<T> triad_kernel;
|
||||
typedef sycl_kernels::dot<T> dot_kernel;
|
||||
|
||||
// NDRange configuration for the dot kernel
|
||||
size_t dot_num_groups;
|
||||
size_t dot_wgsize;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user