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