CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Private Attributes
pixelgpudetails::SiPixelRawToClusterGPUKernel< TrackerTraits > Class Template Reference

#include <SiPixelRawToClusterGPUKernel.h>

Classes

class  WordFedAppender
 

Public Member Functions

SiPixelDigiErrorsCUDA && getErrors ()
 
std::pair< SiPixelDigisCUDA, SiPixelClustersCUDAgetResults ()
 
void makePhase1ClustersAsync (const SiPixelClusterThresholds clusterThresholds, const SiPixelROCsStatusAndMapping *cablingMap, const unsigned char *modToUnp, const SiPixelGainForHLTonGPU *gains, const WordFedAppender &wordFed, SiPixelFormatterErrors &&errors, const uint32_t wordCounter, const uint32_t fedCounter, bool useQualityInfo, bool includeErrors, bool debug, cudaStream_t stream)
 
void makePhase2ClustersAsync (const SiPixelClusterThresholds clusterThresholds, const uint16_t *moduleIds, const uint16_t *xDigis, const uint16_t *yDigis, const uint16_t *adcDigis, const uint32_t *packedData, const uint32_t *rawIds, const uint32_t numDigis, cudaStream_t stream)
 
SiPixelRawToClusterGPUKerneloperator= (const SiPixelRawToClusterGPUKernel &)=delete
 
SiPixelRawToClusterGPUKerneloperator= (SiPixelRawToClusterGPUKernel &&)=delete
 
 SiPixelRawToClusterGPUKernel ()=default
 
 SiPixelRawToClusterGPUKernel (const SiPixelRawToClusterGPUKernel &)=delete
 
 SiPixelRawToClusterGPUKernel (SiPixelRawToClusterGPUKernel &&)=delete
 
 ~SiPixelRawToClusterGPUKernel ()=default
 

Private Attributes

SiPixelClustersCUDA clusters_d
 
SiPixelDigiErrorsCUDA digiErrors_d
 
SiPixelDigisCUDA digis_d
 
uint32_t nDigis
 
cms::cuda::host::unique_ptr< uint32_t[]> nModules_Clusters_h
 

Detailed Description

template<typename TrackerTraits>
class pixelgpudetails::SiPixelRawToClusterGPUKernel< TrackerTraits >

Definition at line 77 of file SiPixelRawToClusterGPUKernel.h.

Constructor & Destructor Documentation

◆ SiPixelRawToClusterGPUKernel() [1/3]

template<typename TrackerTraits>
pixelgpudetails::SiPixelRawToClusterGPUKernel< TrackerTraits >::SiPixelRawToClusterGPUKernel ( )
default

◆ ~SiPixelRawToClusterGPUKernel()

template<typename TrackerTraits>
pixelgpudetails::SiPixelRawToClusterGPUKernel< TrackerTraits >::~SiPixelRawToClusterGPUKernel ( )
default

◆ SiPixelRawToClusterGPUKernel() [2/3]

template<typename TrackerTraits>
pixelgpudetails::SiPixelRawToClusterGPUKernel< TrackerTraits >::SiPixelRawToClusterGPUKernel ( const SiPixelRawToClusterGPUKernel< TrackerTraits > &  )
delete

◆ SiPixelRawToClusterGPUKernel() [3/3]

template<typename TrackerTraits>
pixelgpudetails::SiPixelRawToClusterGPUKernel< TrackerTraits >::SiPixelRawToClusterGPUKernel ( SiPixelRawToClusterGPUKernel< TrackerTraits > &&  )
delete

Member Function Documentation

◆ getErrors()

template<typename TrackerTraits>
SiPixelDigiErrorsCUDA&& pixelgpudetails::SiPixelRawToClusterGPUKernel< TrackerTraits >::getErrors ( )
inline

Definition at line 151 of file SiPixelRawToClusterGPUKernel.h.

Referenced by SiPixelPhase2DigiToClusterCUDA::produce().

151 { return std::move(digiErrors_d); }
def move(src, dest)
Definition: eostools.py:511

◆ getResults()

template<typename TrackerTraits>
std::pair<SiPixelDigisCUDA, SiPixelClustersCUDA> pixelgpudetails::SiPixelRawToClusterGPUKernel< TrackerTraits >::getResults ( )
inline

Definition at line 129 of file SiPixelRawToClusterGPUKernel.h.

Referenced by SiPixelPhase2DigiToClusterCUDA::produce().

129  {
133 
134 #ifdef GPU_DEBUG
135  std::cout << "SiPixelClusterizerCUDA results:" << std::endl
136  << " > no. of digis: " << nDigis << std::endl
137  << " > no. of active modules: " << nModules_Clusters_h[0] << std::endl
138  << " > no. of clusters: " << nModules_Clusters_h[1] << std::endl
139  << " > bpix2 offset: " << nModules_Clusters_h[2] << std::endl;
140 #endif
141  // need to explicitly deallocate while the associated CUDA
142  // stream is still alive
143  //
144  // technically the statement above is not true anymore now that
145  // the CUDA streams are cached within the cms::cuda::StreamCache, but it is
146  // still better to release as early as possible
147  nModules_Clusters_h.reset();
148  return std::make_pair(std::move(digis_d), std::move(clusters_d));
149  }
cms::cuda::host::unique_ptr< uint32_t[]> nModules_Clusters_h
assert(be >=bs)
void setNClusters(uint32_t nClusters, int32_t offsetBPIX2)
void setNModulesDigis(uint32_t nModules, uint32_t nDigis)
def move(src, dest)
Definition: eostools.py:511

◆ makePhase1ClustersAsync()

template<typename TrackerTraits>
void pixelgpudetails::SiPixelRawToClusterGPUKernel< TrackerTraits >::makePhase1ClustersAsync ( const SiPixelClusterThresholds  clusterThresholds,
const SiPixelROCsStatusAndMapping cablingMap,
const unsigned char *  modToUnp,
const SiPixelGainForHLTonGPU gains,
const WordFedAppender wordFed,
SiPixelFormatterErrors &&  errors,
const uint32_t  wordCounter,
const uint32_t  fedCounter,
bool  useQualityInfo,
bool  includeErrors,
bool  debug,
cudaStream_t  stream 
)

◆ makePhase2ClustersAsync()

template<typename TrackerTraits>
void pixelgpudetails::SiPixelRawToClusterGPUKernel< TrackerTraits >::makePhase2ClustersAsync ( const SiPixelClusterThresholds  clusterThresholds,
const uint16_t *  moduleIds,
const uint16_t *  xDigis,
const uint16_t *  yDigis,
const uint16_t *  adcDigis,
const uint32_t *  packedData,
const uint32_t *  rawIds,
const uint32_t  numDigis,
cudaStream_t  stream 
)

◆ operator=() [1/2]

template<typename TrackerTraits>
SiPixelRawToClusterGPUKernel& pixelgpudetails::SiPixelRawToClusterGPUKernel< TrackerTraits >::operator= ( const SiPixelRawToClusterGPUKernel< TrackerTraits > &  )
delete

◆ operator=() [2/2]

template<typename TrackerTraits>
SiPixelRawToClusterGPUKernel& pixelgpudetails::SiPixelRawToClusterGPUKernel< TrackerTraits >::operator= ( SiPixelRawToClusterGPUKernel< TrackerTraits > &&  )
delete

Member Data Documentation

◆ clusters_d

template<typename TrackerTraits>
SiPixelClustersCUDA pixelgpudetails::SiPixelRawToClusterGPUKernel< TrackerTraits >::clusters_d
private

◆ digiErrors_d

template<typename TrackerTraits>
SiPixelDigiErrorsCUDA pixelgpudetails::SiPixelRawToClusterGPUKernel< TrackerTraits >::digiErrors_d
private

◆ digis_d

template<typename TrackerTraits>
SiPixelDigisCUDA pixelgpudetails::SiPixelRawToClusterGPUKernel< TrackerTraits >::digis_d
private

◆ nDigis

template<typename TrackerTraits>
uint32_t pixelgpudetails::SiPixelRawToClusterGPUKernel< TrackerTraits >::nDigis
private

◆ nModules_Clusters_h

template<typename TrackerTraits>
cms::cuda::host::unique_ptr<uint32_t[]> pixelgpudetails::SiPixelRawToClusterGPUKernel< TrackerTraits >::nModules_Clusters_h
private