1 #include <cuda_runtime.h>
20 #undef PIXEL_DEBUG_PRODUCE
49 descriptions.
add(
"pixelTracksSoA", desc);
57 auto const& inputData = ctx.get(inputDataWrapped);
59 soa_ = inputData.toHostAsync(ctx.stream());
63 #ifdef PIXEL_DEBUG_PRODUCE
64 auto const& tsoa = *
soa_;
69 for (int32_t it = 0; it <
maxTracks; ++it) {
70 auto nHits = tsoa.nHits(it);
76 std::cout <<
"found " << nt <<
" tracks in cpu SoA at " << &tsoa << std::endl;
~PixelTrackSoAFromCUDA() override=default
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
void acquire(edm::Event const &iEvent, edm::EventSetup const &iSetup, edm::WaitingTaskWithArenaHolder waitingTaskHolder) override
edm::EDPutTokenT< PixelTrackHeterogeneous > tokenSOA_
void produce(edm::Event &iEvent, edm::EventSetup const &iSetup) override
#define DEFINE_FWK_MODULE(type)
HeterogeneousSoA< pixelTrack::TrackSoA > PixelTrackHeterogeneous
PixelTrackSoAFromCUDA(const edm::ParameterSet &iConfig)
cms::cuda::host::unique_ptr< pixelTrack::TrackSoA > soa_
bool get(ProductID const &oid, Handle< PROD > &result) const
ParameterDescriptionBase * add(U const &iLabel, T const &value)
OrphanHandle< PROD > emplace(EDPutTokenT< PROD > token, Args &&...args)
puts a new product
edm::EDGetTokenT< cms::cuda::Product< PixelTrackHeterogeneous > > tokenCUDA_
void add(std::string const &label, ParameterSetDescription const &psetDescription)
caConstants::TupleMultiplicity const CAHitNtupletGeneratorKernelsGPU::HitToTuple const cms::cuda::AtomicPairCounter GPUCACell const *__restrict__ uint32_t const *__restrict__ gpuPixelDoublets::CellNeighborsVector const gpuPixelDoublets::CellTracksVector const GPUCACell::OuterHitOfCell const int32_t nHits
std::unique_ptr< T, impl::HostDeleter > unique_ptr