Back to home page

Project CMSSW displayed by LXR

 
 

    


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 }  // namespace ALPAKA_ACCELERATOR_NAMESPACE::test
0034 
0035 #endif  // HeterogeneousTest_AlpakaKernel_interface_alpaka_DeviceAdditionKernel_h