Back to home page

Project CMSSW displayed by LXR

 
 

    


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 }  // namespace ALPAKA_ACCELERATOR_NAMESPACE