Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-12-30 23:27:57

0001 #include "DataFormats/PortableTestObjects/interface/TestProductWithPtr.h"
0002 #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
0003 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0004 #include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
0005 #include "FWCore/Utilities/interface/InputTag.h"
0006 #include "HeterogeneousCore/AlpakaCore/interface/alpaka/global/EDProducer.h"
0007 #include "HeterogeneousCore/AlpakaCore/interface/alpaka/EDPutToken.h"
0008 #include "HeterogeneousCore/AlpakaCore/interface/alpaka/ESGetToken.h"
0009 #include "HeterogeneousCore/AlpakaInterface/interface/config.h"
0010 #include "HeterogeneousCore/AlpakaTest/interface/AlpakaESTestRecords.h"
0011 #include "HeterogeneousCore/AlpakaTest/interface/alpaka/AlpakaESTestData.h"
0012 
0013 #include "testPtrAlgoAsync.h"
0014 
0015 namespace ALPAKA_ACCELERATOR_NAMESPACE {
0016   /**
0017    * This class is part of testing CopyToHost<T>::postCopy().
0018    */
0019   class TestAlpakaGlobalProducerWithPtr : public global::EDProducer<> {
0020   public:
0021     TestAlpakaGlobalProducerWithPtr(edm::ParameterSet const& config)
0022         : EDProducer<>(config), token_{produces()}, size_{config.getParameter<int>("size")} {}
0023 
0024     static void fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
0025       edm::ParameterSetDescription desc;
0026       desc.add<int>("size");
0027       descriptions.addWithDefaultLabel(desc);
0028     }
0029 
0030     void produce(edm::StreamID, device::Event& iEvent, device::EventSetup const& iSetup) const override {
0031       iEvent.emplace(token_, testPtrAlgoAsync(iEvent.queue(), size_));
0032     }
0033 
0034   private:
0035     const device::EDPutToken<portabletest::TestProductWithPtr<Device>> token_;
0036     const int32_t size_;
0037   };
0038 }  // namespace ALPAKA_ACCELERATOR_NAMESPACE
0039 
0040 #include "HeterogeneousCore/AlpakaCore/interface/alpaka/MakerMacros.h"
0041 DEFINE_FWK_ALPAKA_MODULE(TestAlpakaGlobalProducerWithPtr);