Project
Loading...
Searching...
No Matches
GPUTPCCFStreamCompaction.h
Go to the documentation of this file.
1
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3
// All rights not expressly granted are reserved.
4
//
5
// This software is distributed under the terms of the GNU General Public
6
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7
//
8
// In applying this license CERN does not waive the privileges and immunities
9
// granted to it by virtue of its status as an Intergovernmental Organization
10
// or submit itself to any jurisdiction.
11
14
15
#ifndef O2_GPU_STREAM_COMPACTION_H
16
#define O2_GPU_STREAM_COMPACTION_H
17
18
#include "
clusterFinderDefs.h
"
19
#include "
GPUGeneralKernels.h
"
20
#include "
GPUConstantMem.h
"
21
#include "
GPUTPCClusterFinder.h
"
22
23
namespace
o2::gpu
24
{
25
26
class
GPUTPCCFStreamCompaction
:
public
GPUKernelTemplate
27
{
28
29
public
:
30
enum
K
: int32_t {
31
scanStart
= 0,
32
scanUp
= 1,
33
scanTop
= 2,
34
scanDown
= 3,
35
compactDigits
= 4,
36
};
37
38
struct
GPUSharedMemory
:
public
GPUKernelTemplate::GPUSharedMemoryScan64
<int32_t, GPUCA_THREAD_COUNT_SCAN> {
39
};
40
41
typedef
GPUTPCClusterFinder
processorType
;
42
GPUhdi
() static
processorType
* Processor(
GPUConstantMem
&
processors
)
43
{
44
return
processors
.tpcClusterer;
45
}
46
47
GPUhdi
() constexpr static
GPUDataTypes
::RecoStep GetRecoStep()
48
{
49
return
GPUDataTypes::RecoStep::TPCClusterFinding;
50
}
51
52
template
<int32_t iKernel =
GPUKernelTemplate::defaultKernel
,
typename
... Args>
53
GPUd
() static
void
Thread(int32_t nBlocks, int32_t
nThreads
, int32_t
iBlock
, int32_t
iThread
,
GPUSharedMemory
&
smem
,
processorType
&
clusterer
, Args...
args
);
54
55
private:
56
static
GPUd
() int32_t CompactionElems(
processorType
&
clusterer
, int32_t stage);
57
};
58
59
}
// namespace o2::gpu
60
61
#endif
GPUConstantMem.h
GPUGeneralKernels.h
GPUTPCClusterFinder.h
o2::gpu::GPUDataTypes
Definition
GPUDataTypes.h:118
o2::gpu::GPUKernelTemplate
Definition
GPUGeneralKernels.h:40
o2::gpu::GPUKernelTemplate::processors
int32_t int32_t int32_t processorType & processors
Definition
GPUGeneralKernels.h:88
o2::gpu::GPUKernelTemplate::defaultKernel
@ defaultKernel
Definition
GPUGeneralKernels.h:42
o2::gpu::GPUTPCCFStreamCompaction
Definition
GPUTPCCFStreamCompaction.h:27
o2::gpu::GPUTPCCFStreamCompaction::GPUhdi
GPUhdi() const expr static GPUDataTypes
Definition
GPUTPCCFStreamCompaction.h:47
o2::gpu::GPUTPCCFStreamCompaction::processorType
GPUTPCClusterFinder processorType
Definition
GPUTPCCFStreamCompaction.h:41
o2::gpu::GPUTPCCFStreamCompaction::nThreads
int32_t nThreads
Definition
GPUTPCCFStreamCompaction.h:53
o2::gpu::GPUTPCCFStreamCompaction::iBlock
int32_t int32_t iBlock
Definition
GPUTPCCFStreamCompaction.h:53
o2::gpu::GPUTPCCFStreamCompaction::iThread
int32_t int32_t int32_t iThread
Definition
GPUTPCCFStreamCompaction.h:53
o2::gpu::GPUTPCCFStreamCompaction::K
K
Definition
GPUTPCCFStreamCompaction.h:30
o2::gpu::GPUTPCCFStreamCompaction::scanStart
@ scanStart
Definition
GPUTPCCFStreamCompaction.h:31
o2::gpu::GPUTPCCFStreamCompaction::scanDown
@ scanDown
Definition
GPUTPCCFStreamCompaction.h:34
o2::gpu::GPUTPCCFStreamCompaction::compactDigits
@ compactDigits
Definition
GPUTPCCFStreamCompaction.h:35
o2::gpu::GPUTPCCFStreamCompaction::scanUp
@ scanUp
Definition
GPUTPCCFStreamCompaction.h:32
o2::gpu::GPUTPCCFStreamCompaction::scanTop
@ scanTop
Definition
GPUTPCCFStreamCompaction.h:33
o2::gpu::GPUTPCCFStreamCompaction::smem
int32_t int32_t int32_t GPUSharedMemory & smem
Definition
GPUTPCCFStreamCompaction.h:53
o2::gpu::GPUTPCCFStreamCompaction::args
int32_t int32_t int32_t GPUSharedMemory processorType Args args
Definition
GPUTPCCFStreamCompaction.h:53
o2::gpu::GPUTPCCFStreamCompaction::clusterer
int32_t int32_t int32_t GPUSharedMemory processorType & clusterer
Definition
GPUTPCCFStreamCompaction.h:53
o2::gpu::GPUTPCCFStreamCompaction::GPUhdi
GPUhdi() static processorType *Processor(GPUConstantMem &processors)
Definition
GPUTPCCFStreamCompaction.h:42
o2::gpu::GPUTPCCFStreamCompaction::GPUd
GPUd() static void Thread(int32_t nBlocks
o2::gpu::GPUTPCClusterFinder
Definition
GPUTPCClusterFinder.h:54
clusterFinderDefs.h
o2::gpu
Definition
TrackTRD.h:35
o2::gpu::GPUConstantMem
Definition
GPUConstantMem.h:39
o2::gpu::GPUKernelTemplate::GPUSharedMemoryScan64
Definition
GPUGeneralKernels.h:65
o2::gpu::GPUTPCCFStreamCompaction::GPUSharedMemory
Definition
GPUTPCCFStreamCompaction.h:38
GPU
GPUTracking
TPCClusterFinder
GPUTPCCFStreamCompaction.h
Generated on Tue Feb 25 2025 17:03:27 for Project by
1.9.8