Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:15:42

0001 #include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
0002 
0003 #include "TestHelperClass.h"
0004 
0005 namespace ALPAKA_ACCELERATOR_NAMESPACE {
0006   TestHelperClass::TestHelperClass(edm::ParameterSet const& iConfig, edm::ConsumesCollector iC)
0007       : getToken_(iC.consumes(iConfig.getParameter<edm::InputTag>("source"))),
0008         getTokenMulti2_(iC.consumes(iConfig.getParameter<edm::InputTag>("source"))),
0009         getTokenMulti3_(iC.consumes(iConfig.getParameter<edm::InputTag>("source"))),
0010         esTokenHost_(iC.esConsumes()),
0011         esTokenDevice_(iC.esConsumes()) {}
0012 
0013   void TestHelperClass::fillPSetDescription(edm::ParameterSetDescription& iDesc) { iDesc.add<edm::InputTag>("source"); }
0014 
0015   void TestHelperClass::makeAsync(device::Event const& iEvent, device::EventSetup const& iSetup) {
0016     [[maybe_unused]] auto esDataHostHandle = iSetup.getHandle(esTokenHost_);
0017     [[maybe_unused]] auto const& esDataDevice = iSetup.getData(esTokenDevice_);
0018     portabletest::TestDeviceCollection const& deviceProduct = iEvent.get(getToken_);
0019     portabletest::TestDeviceMultiCollection2 const& deviceProductMulti2 = iEvent.get(getTokenMulti2_);
0020     portabletest::TestDeviceMultiCollection3 const& deviceProductMulti3 = iEvent.get(getTokenMulti3_);
0021 
0022     hostProduct_ = portabletest::TestHostCollection{deviceProduct->metadata().size(), iEvent.queue()};
0023     hostProductMulti2_ = portabletest::TestHostMultiCollection2{deviceProductMulti2.sizes(), iEvent.queue()};
0024     hostProductMulti3_ = portabletest::TestHostMultiCollection3{deviceProductMulti3.sizes(), iEvent.queue()};
0025 
0026     alpaka::memcpy(iEvent.queue(), hostProduct_.buffer(), deviceProduct.const_buffer());
0027     alpaka::memcpy(iEvent.queue(), hostProductMulti2_.buffer(), deviceProductMulti2.const_buffer());
0028     alpaka::memcpy(iEvent.queue(), hostProductMulti3_.buffer(), deviceProductMulti3.const_buffer());
0029   }
0030 }  // namespace ALPAKA_ACCELERATOR_NAMESPACE