SiPixelRawToClusterGPUKernel
File containing the pixelgpudetails
namespace which in turn contains:
- A class of the same name which,
among other things, contains:
- The
makeClustersAsync
method
- 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.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