CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
ALPAKA_ACCELERATOR_NAMESPACE::PFRecHitProducerKernel< CAL > Class Template Reference

#include <PFRecHitProducerKernel.h>

Public Member Functions

void associateTopologyInfo (Queue &queue, const typename CAL::TopologyTypeDevice &topology, reco::PFRecHitDeviceCollection &pfRecHits)
 
 PFRecHitProducerKernel (Queue &queue, const uint32_t num_recHits)
 
void processRecHits (Queue &queue, const typename CAL::CaloRecHitSoATypeDevice &recHits, const typename CAL::ParameterType &params, const typename CAL::TopologyTypeDevice &topology, reco::PFRecHitDeviceCollection &pfRecHits)
 

Private Attributes

cms::alpakatools::device_buffer< Device, uint32_t[]> denseId2pfRecHit_
 
cms::alpakatools::device_buffer< Device, uint32_t > num_pfRecHits_
 
WorkDiv< Dim1Dwork_div_
 

Detailed Description

template<typename CAL>
class ALPAKA_ACCELERATOR_NAMESPACE::PFRecHitProducerKernel< CAL >

Definition at line 11 of file PFRecHitProducerKernel.h.

Constructor & Destructor Documentation

◆ PFRecHitProducerKernel()

template<typename CAL >
ALPAKA_ACCELERATOR_NAMESPACE::PFRecHitProducerKernel< CAL >::PFRecHitProducerKernel ( Queue &  queue,
const uint32_t  num_recHits 
)

Definition at line 177 of file PFRecHitProducerKernel.dev.cc.

References ALPAKA_ACCELERATOR_NAMESPACE::PFRecHitProducerKernel< CAL >::denseId2pfRecHit_, cms::alpakatools::divide_up_by(), mps_monitormerge::items, ALPAKA_ACCELERATOR_NAMESPACE::PFRecHitProducerKernel< CAL >::num_pfRecHits_, createBeamHaloJobs::queue, and ALPAKA_ACCELERATOR_NAMESPACE::PFRecHitProducerKernel< CAL >::work_div_.

179  num_pfRecHits_(cms::alpakatools::make_device_buffer<uint32_t>(queue)),
180  work_div_(cms::alpakatools::make_workdiv<Acc1D>(1, 1)) {
181  alpaka::memset(queue, denseId2pfRecHit_, 0xff); // Reset denseId -> pfRecHit index map
182  alpaka::memset(queue, num_pfRecHits_, 0x00); // Reset global pfRecHit counter
183 
184  const uint32_t items = 64;
185  const uint32_t groups = cms::alpakatools::divide_up_by(num_recHits, items);
186  work_div_ = cms::alpakatools::make_workdiv<Acc1D>(groups, items);
187  }
cms::alpakatools::device_buffer< Device, uint32_t > num_pfRecHits_
constexpr Idx divide_up_by(Idx value, Idx divisor)
Definition: workdivision.h:20
std::enable_if_t< alpaka::isDevice< TDev > and not std::is_array_v< T >, device_buffer< TDev, T > > make_device_buffer(TDev const &device)
Definition: memory.h:185
cms::alpakatools::device_buffer< Device, uint32_t[]> denseId2pfRecHit_

Member Function Documentation

◆ associateTopologyInfo()

template<typename CAL >
void ALPAKA_ACCELERATOR_NAMESPACE::PFRecHitProducerKernel< CAL >::associateTopologyInfo ( Queue &  queue,
const typename CAL::TopologyTypeDevice &  topology,
reco::PFRecHitDeviceCollection pfRecHits 
)

Definition at line 207 of file PFRecHitProducerKernel.dev.cc.

References HLT_2024v14_cff::pfRecHits, createBeamHaloJobs::queue, and HLT_2024v14_cff::topology.

209  {
210  alpaka::exec<Acc1D>(queue,
211  work_div_,
212  PFRecHitProducerKernelTopology<CAL>{},
213  topology.view(),
214  pfRecHits.view(),
215  denseId2pfRecHit_.data(),
216  num_pfRecHits_.data());
217  }
cms::alpakatools::device_buffer< Device, uint32_t > num_pfRecHits_
cms::alpakatools::device_buffer< Device, uint32_t[]> denseId2pfRecHit_

◆ processRecHits()

template<typename CAL >
void ALPAKA_ACCELERATOR_NAMESPACE::PFRecHitProducerKernel< CAL >::processRecHits ( Queue &  queue,
const typename CAL::CaloRecHitSoATypeDevice &  recHits,
const typename CAL::ParameterType &  params,
const typename CAL::TopologyTypeDevice &  topology,
reco::PFRecHitDeviceCollection pfRecHits 
)

Member Data Documentation

◆ denseId2pfRecHit_

template<typename CAL >
cms::alpakatools::device_buffer<Device, uint32_t[]> ALPAKA_ACCELERATOR_NAMESPACE::PFRecHitProducerKernel< CAL >::denseId2pfRecHit_
private

◆ num_pfRecHits_

template<typename CAL >
cms::alpakatools::device_buffer<Device, uint32_t> ALPAKA_ACCELERATOR_NAMESPACE::PFRecHitProducerKernel< CAL >::num_pfRecHits_
private

◆ work_div_

template<typename CAL >
WorkDiv<Dim1D> ALPAKA_ACCELERATOR_NAMESPACE::PFRecHitProducerKernel< CAL >::work_div_
private