File indexing completed on 2025-01-16 23:23:55
0001 #include "HeterogeneousCore/AlpakaInterface/interface/workdivision.h"
0002
0003 #include "verifyDeviceObjectAsync.h"
0004
0005 namespace ALPAKA_ACCELERATOR_NAMESPACE {
0006 cms::alpakatools::host_buffer<bool> verifyDeviceObjectAsync(Queue& queue,
0007 portabletest::TestDeviceObject const& deviceObject) {
0008 auto tmp = cms::alpakatools::make_device_buffer<bool>(queue);
0009 alpaka::exec<Acc1D>(
0010 queue,
0011 cms::alpakatools::make_workdiv<Acc1D>(1, 1),
0012 [] ALPAKA_FN_ACC(Acc1D const& acc, portabletest::TestStruct const* obj, bool* result) {
0013 if (cms::alpakatools::once_per_grid(acc)) {
0014 *result = (obj->x == 6. and obj->y == 14. and obj->z == 15. and obj->id == 52);
0015 }
0016 },
0017 deviceObject.data(),
0018 tmp.data());
0019 auto ret = cms::alpakatools::make_host_buffer<bool>(queue);
0020 alpaka::memcpy(queue, ret, tmp);
0021 return ret;
0022 }
0023 }