Skip to content

SiPixelRawToClusterGPUKernel

File containing the pixelgpudetails namespace which in turn contains:

  • A class of the same name which, among other things, contains:
    • The makeClustersAsync method
  • CUDA kernels:
    • RawToDigi_kernel

Files on github: header and source.

SiPixelRawToClusterGPUKernel Class

An instance of this class is created and called by the SiPixelRawToClusterCUDA) class.

UML diagram

Warning

UML diagram incomplete

classDiagram
class SiPixelRawToClusterGPUKernel{
-uint32_t nDigis 
-cms::cuda::host::unique_ptr~uint32_t[]~ nModules_Clusters_h
-SiPixelDigisCUDA digis_d
-SiPixelClustersCUDA clusters_d
+makeClustersAsync(...) void
+makePhase2ClustersAsync(...) void
+getResults()
+getErrors() 
}

Attributes

digis_d

An instance of SiPixelDigisCUDA, which stores digi information on the CUDA device (hence the _d in the name).

It is initialized using the numDigis and the CUDA stream as parameters.

clusters_d

An instance of SiPixelClustersCUDA which is used to store clusters found during the findClus kernel execution

Methods

makeClustersAsync

A function that implements the following functionality:

  • Converts Raw Pixel data to Digis (by calling the RawToDigi_kernel)
  • Calibrates the Digis (by calling the calibDigis.md kernel)
  • Counts the number of unique modules present in the SoA data (by calling the countModules kernel).
  • Uses the Digis created in the first step to create Clusters (by calling the findClus kernel)
Arguments
wordCounter [Input]

Specifies the length of the SoA arrays stored in SiPixelDigisCUDA.

Comment included in the source file

wordCounter is the total no of words in each event to be trasfered (sic) on device

Flowchart
graph TB

    subgraph makeClustersAsync
        C[RawToDigi_kernel] --> D[calibDigis]
        D --> E[countModules]
        E --> F[findClus]

        style C fill:lightgreen
        style D fill:lightgreen 
        style E fill:lightgreen 
        style F fill:lightgreen 
    end

    subgraph Legend
        A[CUDA Kernel]
        style A fill:lightgreen
        style Legend fill:none
    end