File indexing completed on 2024-04-11 23:28:00
0001 #ifndef HeterogeneousTest_AlpakaKernel_interface_alpaka_DeviceAdditionKernel_h
0002 #define HeterogeneousTest_AlpakaKernel_interface_alpaka_DeviceAdditionKernel_h
0003
0004 #include <cstdint>
0005
0006 #include <alpaka/alpaka.hpp>
0007
0008 #include "HeterogeneousCore/AlpakaInterface/interface/config.h"
0009 #include "HeterogeneousTest/AlpakaDevice/interface/alpaka/DeviceAddition.h"
0010
0011 namespace ALPAKA_ACCELERATOR_NAMESPACE::test {
0012
0013 struct KernelAddVectorsF {
0014 ALPAKA_FN_ACC void operator()(Acc1D const& acc,
0015 const float* __restrict__ in1,
0016 const float* __restrict__ in2,
0017 float* __restrict__ out,
0018 uint32_t size) const {
0019 add_vectors_f(acc, in1, in2, out, size);
0020 }
0021 };
0022
0023 struct KernelAddVectorsD {
0024 ALPAKA_FN_ACC void operator()(Acc1D const& acc,
0025 const double* __restrict__ in1,
0026 const double* __restrict__ in2,
0027 double* __restrict__ out,
0028 uint32_t size) const {
0029 add_vectors_d(acc, in1, in2, out, size);
0030 }
0031 };
0032
0033 }
0034
0035 #endif