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 "
64 TestCUDAProducerGPUKernel::NUM_VALUES *
sizeof(float),
65 cudaMemcpyDeviceToHost,
73 edm::LogVerbatim(
"TestCUDAProducerGPUtoCPU") <<
label_ <<
" TestCUDAProducerGPUtoCPU::produce begin event "
85 <<
label_ <<
" TestCUDAProducerGPUtoCPU::produce end event " << iEvent.
id().
event() <<
" stream "
Log< level::Info, true > LogVerbatim
EventNumber_t event() const
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)
const float * get() 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_
bool get(ProductID const &oid, Handle< PROD > &result) const
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void setComment(std::string const &value)
OrphanHandle< PROD > emplace(EDPutTokenT< PROD > token, Args &&...args)
puts a new product
T getParameter(std::string const &) const
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
StreamID streamID() const
std::unique_ptr< T, impl::HostDeleter > unique_ptr
#define cudaCheck(ARG,...)
~TestCUDAProducerGPUtoCPU() override=default
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override