File indexing completed on 2024-04-06 12:10:33
0001 #ifndef EventFilter_EcalRawToDigi_plugins_alpaka_DeclsForKernels_h
0002 #define EventFilter_EcalRawToDigi_plugins_alpaka_DeclsForKernels_h
0003
0004 #include "HeterogeneousCore/AlpakaInterface/interface/memory.h"
0005 #include "HeterogeneousCore/AlpakaInterface/interface/config.h"
0006
0007 namespace ALPAKA_ACCELERATOR_NAMESPACE::ecal::raw {
0008
0009 struct InputDataHost {
0010
0011 InputDataHost() = delete;
0012
0013 explicit InputDataHost(const Queue& queue, size_t size, size_t nFeds)
0014 : data{cms::alpakatools::make_host_buffer<unsigned char[]>(queue, size)},
0015 offsets{cms::alpakatools::make_host_buffer<uint32_t[]>(queue, nFeds)},
0016 feds{cms::alpakatools::make_host_buffer<int[]>(queue, nFeds)} {};
0017
0018 cms::alpakatools::host_buffer<unsigned char[]> data;
0019 cms::alpakatools::host_buffer<uint32_t[]> offsets;
0020 cms::alpakatools::host_buffer<int[]> feds;
0021 };
0022
0023 struct ConfigurationParameters {
0024 uint32_t maxChannelsEE;
0025 uint32_t maxChannelsEB;
0026 };
0027
0028 struct InputDataDevice {
0029 InputDataDevice() = delete;
0030
0031 explicit InputDataDevice(const Queue& queue, size_t size, size_t nFeds)
0032 : data{cms::alpakatools::make_device_buffer<unsigned char[]>(queue, size)},
0033 offsets{cms::alpakatools::make_device_buffer<uint32_t[]>(queue, nFeds)},
0034 feds{cms::alpakatools::make_device_buffer<int[]>(queue, nFeds)} {};
0035
0036 cms::alpakatools::device_buffer<Device, unsigned char[]> data;
0037 cms::alpakatools::device_buffer<Device, uint32_t[]> offsets;
0038 cms::alpakatools::device_buffer<Device, int[]> feds;
0039 };
0040
0041 }
0042
0043 #endif