SiPixelRawToClusterGPUKernel
File containing the pixelgpudetails namespace which in turn contains:
- A class of the same name which,
among other things, contains:
- The
makeClustersAsyncmethod
- The
- 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.mdkernel) - Counts the number of unique modules present in the SoA data (by calling the
countModuleskernel). - Uses the Digis created in the first step to create Clusters (by calling
the
findCluskernel)
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