CMS 3D CMS Logo

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, SiPixelClustersCUDAgetResults ()
 
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, 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

◆ SiPixelRawToClusterGPUKernel() [1/3]

pixelgpudetails::SiPixelRawToClusterGPUKernel::SiPixelRawToClusterGPUKernel ( )
default

◆ ~SiPixelRawToClusterGPUKernel()

pixelgpudetails::SiPixelRawToClusterGPUKernel::~SiPixelRawToClusterGPUKernel ( )
default

◆ SiPixelRawToClusterGPUKernel() [2/3]

pixelgpudetails::SiPixelRawToClusterGPUKernel::SiPixelRawToClusterGPUKernel ( const SiPixelRawToClusterGPUKernel )
delete

◆ SiPixelRawToClusterGPUKernel() [3/3]

pixelgpudetails::SiPixelRawToClusterGPUKernel::SiPixelRawToClusterGPUKernel ( SiPixelRawToClusterGPUKernel &&  )
delete

Member Function Documentation

◆ getErrors()

SiPixelDigiErrorsCUDA&& pixelgpudetails::SiPixelRawToClusterGPUKernel::getErrors ( )
inline

◆ getResults()

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

Definition at line 127 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 SiPixelPhase2DigiToClusterCUDA::produce(), and SiPixelRawToClusterCUDA::produce().

127  {
131  // need to explicitly deallocate while the associated CUDA
132  // stream is still alive
133  //
134  // technically the statement above is not true anymore now that
135  // the CUDA streams are cached within the cms::cuda::StreamCache, but it is
136  // still better to release as early as possible
137  nModules_Clusters_h.reset();
138  return std::make_pair(std::move(digis_d), std::move(clusters_d));
139  }
assert(be >=bs)
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)
def move(src, dest)
Definition: eostools.py:511

◆ makeClustersAsync()

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,
bool  useQualityInfo,
bool  includeErrors,
bool  debug,
cudaStream_t  stream 
)

◆ makePhase2ClustersAsync()

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 
)

◆ operator=() [1/2]

SiPixelRawToClusterGPUKernel& pixelgpudetails::SiPixelRawToClusterGPUKernel::operator= ( const SiPixelRawToClusterGPUKernel )
delete

◆ operator=() [2/2]

SiPixelRawToClusterGPUKernel& pixelgpudetails::SiPixelRawToClusterGPUKernel::operator= ( SiPixelRawToClusterGPUKernel &&  )
delete

Member Data Documentation

◆ clusters_d

SiPixelClustersCUDA pixelgpudetails::SiPixelRawToClusterGPUKernel::clusters_d
private

Definition at line 149 of file SiPixelRawToClusterGPUKernel.h.

Referenced by getResults().

◆ digiErrors_d

SiPixelDigiErrorsCUDA pixelgpudetails::SiPixelRawToClusterGPUKernel::digiErrors_d
private

Definition at line 150 of file SiPixelRawToClusterGPUKernel.h.

Referenced by getErrors().

◆ digis_d

SiPixelDigisCUDA pixelgpudetails::SiPixelRawToClusterGPUKernel::digis_d
private

Definition at line 148 of file SiPixelRawToClusterGPUKernel.h.

Referenced by getResults().

◆ nDigis

uint32_t pixelgpudetails::SiPixelRawToClusterGPUKernel::nDigis
private

Definition at line 144 of file SiPixelRawToClusterGPUKernel.h.

Referenced by getResults().

◆ nModules_Clusters_h

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

Definition at line 147 of file SiPixelRawToClusterGPUKernel.h.

Referenced by getResults().