Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-11 23:28:00

0001 #include <cstdint>
0002 
0003 #include <alpaka/alpaka.hpp>
0004 
0005 #include "HeterogeneousCore/AlpakaInterface/interface/config.h"
0006 #include "HeterogeneousCore/AlpakaInterface/interface/workdivision.h"
0007 #include "HeterogeneousTest/AlpakaDevice/interface/alpaka/DeviceAddition.h"
0008 
0009 #include "AlpakaTestDeviceAdditionAlgo.h"
0010 
0011 namespace ALPAKA_ACCELERATOR_NAMESPACE::HeterogeneousTestAlpakaDevicePlugins {
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       test::add_vectors_f(acc, in1, in2, out, size);
0020     }
0021   };
0022 
0023   void wrapper_add_vectors_f(Queue& queue,
0024                              const float* __restrict__ in1,
0025                              const float* __restrict__ in2,
0026                              float* __restrict__ out,
0027                              uint32_t size) {
0028     alpaka::exec<Acc1D>(queue, cms::alpakatools::make_workdiv<Acc1D>(32, 32), KernelAddVectorsF{}, in1, in2, out, size);
0029   }
0030 
0031 }  // namespace ALPAKA_ACCELERATOR_NAMESPACE::HeterogeneousTestAlpakaDevicePlugins