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 }