38 srcToken_{consumes<cms::cuda::Product<cms::cudatest::Thing>>(iConfig.getParameter<
edm::InputTag>(
"src"))},
39 dstToken_{produces<int>()} {}
46 "This EDProducer is part of the TestCUDAProducer* family. It models the GPU->CPU data transfer and formatting of " 47 "the data to legacy data format. Produces int, to be compatible with TestCUDAProducerCPU.");
53 edm::LogVerbatim(
"TestCUDAProducerGPUtoCPU") <<
label_ <<
" TestCUDAProducerGPUtoCPU::acquire begin event " 54 <<
iEvent.id().event() <<
" stream " <<
iEvent.streamID();
65 cudaMemcpyDeviceToHost,
69 <<
iEvent.id().event() <<
" stream " <<
iEvent.streamID();
73 edm::LogVerbatim(
"TestCUDAProducerGPUtoCPU") <<
label_ <<
" TestCUDAProducerGPUtoCPU::produce begin event " 74 <<
iEvent.id().event() <<
" stream " <<
iEvent.streamID();
85 <<
label_ <<
" TestCUDAProducerGPUtoCPU::produce end event " <<
iEvent.id().event() <<
" stream "
const float * get() const
Log< level::Info, true > LogVerbatim
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)
T getParameter(std::string const &) const
#define DEFINE_FWK_MODULE(type)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
cms::cuda::host::unique_ptr< float[]> buffer_
TestCUDAProducerGPUtoCPU(edm::ParameterSet const &iConfig)
edm::EDPutTokenT< int > const dstToken_
void setComment(std::string const &value)
edm::EDGetTokenT< cms::cuda::Product< cms::cudatest::Thing > > const srcToken_
static constexpr int NUM_VALUES
void acquire(edm::Event const &iEvent, edm::EventSetup const &iSetup, edm::WaitingTaskWithArenaHolder waitingTaskHolder) override
static std::atomic< unsigned int > counter
std::unique_ptr< T, impl::HostDeleter > unique_ptr
#define cudaCheck(ARG,...)
~TestCUDAProducerGPUtoCPU() override=default
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override