CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Member Functions | Private Attributes
pixelgpudetails::SiPixelRawToClusterGPUKernel Class Reference

#include <SiPixelRawToClusterGPUKernel.h>

Classes

class  WordFedAppender
 

Public Member Functions

SiPixelDigiErrorsCUDA && getErrors ()
 
std::pair< SiPixelDigisCUDA,
SiPixelClustersCUDA
getResults ()
 
void makeClustersAsync (bool isRun2, 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, const uint32_t maxFedWords, 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

Definition at line 74 of file SiPixelRawToClusterGPUKernel.h.

Constructor & Destructor Documentation

pixelgpudetails::SiPixelRawToClusterGPUKernel::SiPixelRawToClusterGPUKernel ( )
default
pixelgpudetails::SiPixelRawToClusterGPUKernel::~SiPixelRawToClusterGPUKernel ( )
default
pixelgpudetails::SiPixelRawToClusterGPUKernel::SiPixelRawToClusterGPUKernel ( const SiPixelRawToClusterGPUKernel )
delete
pixelgpudetails::SiPixelRawToClusterGPUKernel::SiPixelRawToClusterGPUKernel ( SiPixelRawToClusterGPUKernel &&  )
delete

Member Function Documentation

SiPixelDigiErrorsCUDA&& pixelgpudetails::SiPixelRawToClusterGPUKernel::getErrors ( )
inline
std::pair<SiPixelDigisCUDA, SiPixelClustersCUDA> pixelgpudetails::SiPixelRawToClusterGPUKernel::getResults ( )
inline

Definition at line 125 of file SiPixelRawToClusterGPUKernel.h.

References cms::cuda::assert(), clusters_d, digis_d, eostools::move(), nDigis, nModules_Clusters_h, SiPixelClustersCUDA::setNClusters(), and SiPixelDigisCUDA::setNModulesDigis().

Referenced by SiPixelRawToClusterCUDA::produce(), and SiPixelPhase2DigiToClusterCUDA::produce().

125  {
129  // need to explicitly deallocate while the associated CUDA
130  // stream is still alive
131  //
132  // technically the statement above is not true anymore now that
133  // the CUDA streams are cached within the cms::cuda::StreamCache, but it is
134  // still better to release as early as possible
135  nModules_Clusters_h.reset();
136  return std::make_pair(std::move(digis_d), std::move(clusters_d));
137  }
assert(be >=bs)
def move
Definition: eostools.py:511
void setNClusters(uint32_t nClusters, int32_t offsetBPIX2)
cms::cuda::host::unique_ptr< uint32_t[]> nModules_Clusters_h
void setNModulesDigis(uint32_t nModules, uint32_t nDigis)
void pixelgpudetails::SiPixelRawToClusterGPUKernel::makeClustersAsync ( bool  isRun2,
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,
const uint32_t  maxFedWords,
bool  useQualityInfo,
bool  includeErrors,
bool  debug,
cudaStream_t  stream 
)
void pixelgpudetails::SiPixelRawToClusterGPUKernel::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 
)
SiPixelRawToClusterGPUKernel& pixelgpudetails::SiPixelRawToClusterGPUKernel::operator= ( const SiPixelRawToClusterGPUKernel )
delete
SiPixelRawToClusterGPUKernel& pixelgpudetails::SiPixelRawToClusterGPUKernel::operator= ( SiPixelRawToClusterGPUKernel &&  )
delete

Member Data Documentation

SiPixelClustersCUDA pixelgpudetails::SiPixelRawToClusterGPUKernel::clusters_d
private

Definition at line 147 of file SiPixelRawToClusterGPUKernel.h.

Referenced by getResults().

SiPixelDigiErrorsCUDA pixelgpudetails::SiPixelRawToClusterGPUKernel::digiErrors_d
private

Definition at line 148 of file SiPixelRawToClusterGPUKernel.h.

Referenced by getErrors().

SiPixelDigisCUDA pixelgpudetails::SiPixelRawToClusterGPUKernel::digis_d
private

Definition at line 146 of file SiPixelRawToClusterGPUKernel.h.

Referenced by getResults().

uint32_t pixelgpudetails::SiPixelRawToClusterGPUKernel::nDigis
private

Definition at line 142 of file SiPixelRawToClusterGPUKernel.h.

Referenced by getResults().

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

Definition at line 145 of file SiPixelRawToClusterGPUKernel.h.

Referenced by getResults().