47 std::vector<int>
feds(54);
48 for (uint32_t
i = 0;
i < 54; ++
i)
50 desc.add<std::vector<int>>(
"FEDs",
feds);
51 desc.add<uint32_t>(
"maxChannelsEB", 61200);
52 desc.add<uint32_t>(
"maxChannelsEE", 14648);
62 digisEBToken_{produces<OutputProduct>(ps.getParameter<
std::string>(
"digisLabelEB"))},
63 digisEEToken_{produces<OutputProduct>(ps.getParameter<
std::string>(
"digisLabelEE"))},
64 eMappingToken_{esConsumes<ecal::raw::ElectronicsMappingGPU, EcalMappingElectronicsRcd>()},
65 fedsToUnpack_{ps.getParameter<std::vector<int>>(
"FEDs")} {
66 config_.maxChannelsEB = ps.getParameter<uint32_t>(
"maxChannelsEB");
67 config_.maxChannelsEE = ps.getParameter<uint32_t>(
"maxChannelsEE");
78 auto const& eMappingProduct = eMappingHandle->
getProduct(ctx.stream());
95 auto const nbytes =
data.size();
116 outputCPU_ = {cms::cuda::make_host_unique<uint32_t[]>(2, ctx.stream())};
125 uint32_t currentCummOffset = 0;
129 auto const nbytes =
data.size();
136 std::memcpy(inputCPU.
data.get() + currentCummOffset,
data.data(), nbytes);
142 currentCummOffset += nbytes;
T getParameter(std::string const &) const
void entryPoint(InputDataCPU const &, InputDataGPU &, OutputDataGPU &, ScratchDataGPU &, OutputDataCPU &, ConditionsProducts const &, cudaStream_t, uint32_t const, uint32_t const)
EcalRawToDigiGPU(edm::ParameterSet const &ps)
edm::ESGetToken< ecal::raw::ElectronicsMappingGPU, EcalMappingElectronicsRcd > eMappingToken_
host::impl::make_host_unique_selector< T >::non_array make_host_unique()
std::vector< int > fedsToUnpack_
static void fillDescriptions(edm::ConfigurationDescriptions &)
edm::EDPutTokenT< OutputProduct > digisEEToken_
void produce(edm::Event &, edm::EventSetup const &) override
ecal::raw::OutputDataGPU outputGPU_
ecal::raw::ConfigurationParameters config_
#define DEFINE_FWK_MODULE(type)
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
cms::cuda::ContextState cudaState_
ecal::raw::OutputDataCPU outputCPU_
DigisCollection<::calo::common::DevStoragePolicy > digisEE
DigisCollection<::calo::common::DevStoragePolicy > digisEB
void add(std::string const &label, ParameterSetDescription const &psetDescription)
void acquire(edm::Event const &, edm::EventSetup const &, edm::WaitingTaskWithArenaHolder) override
~EcalRawToDigiGPU() override=default
char data[epos_bytes_allocation]
static std::atomic< unsigned int > counter
cms::cuda::host::unique_ptr< uint32_t[]> nchannels
edm::EDGetTokenT< FEDRawDataCollection > rawDataToken_
device::impl::make_device_unique_selector< T >::non_array make_device_unique(cudaStream_t stream)
void allocate(ConfigurationParameters const &config, cudaStream_t cudaStream)
Product const & getProduct(cudaStream_t) const
edm::EDPutTokenT< OutputProduct > digisEBToken_