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 78 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 144 of file SiPixelRawToClusterGPUKernel.h.

Referenced by SiPixelPhase2DigiToClusterCUDA::produce().

144 { 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 130 of file SiPixelRawToClusterGPUKernel.h.

Referenced by SiPixelPhase2DigiToClusterCUDA::produce().

130  {
134  // need to explicitly deallocate while the associated CUDA
135  // stream is still alive
136  //
137  // technically the statement above is not true anymore now that
138  // the CUDA streams are cached within the cms::cuda::StreamCache, but it is
139  // still better to release as early as possible
140  nModules_Clusters_h.reset();
141  return std::make_pair(std::move(digis_d), std::move(clusters_d));
142  }
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