Project
Loading...
Searching...
No Matches
GPUTPCGMMergerGPU.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 GPUTPCGMMERGERGPUCA_H
16#define GPUTPCGMMERGERGPUCA_H
17
18#include "GPUGeneralKernels.h"
19#include "GPUConstantMem.h"
20#include "GPUTPCGMMergerTypes.h"
21
22namespace o2::gpu
23{
25{
26 public:
27 GPUhdi() constexpr static GPUDataTypes::RecoStep GetRecoStep() { return GPUDataTypes::RecoStep::TPCMerging; }
30 {
31 return &processors.tpcMerger;
32 }
33};
34
36{
37 public:
38 template <int32_t iKernel = defaultKernel>
39 GPUd() static void Thread(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, GPUsharedref() GPUSharedMemory& smem, processorType& merger, int32_t mode);
40};
41
43{
44 public:
45 template <int32_t iKernel = defaultKernel>
46 GPUd() static void Thread(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, GPUsharedref() GPUSharedMemory& smem, processorType& merger);
47};
48
50{
51 public:
52 template <int32_t iKernel = defaultKernel>
53 GPUd() static void Thread(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, GPUsharedref() GPUSharedMemory& smem, processorType& merger, int32_t iSector);
54};
55
57{
58 public:
59 template <int32_t iKernel = defaultKernel>
60 GPUd() static void Thread(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, GPUsharedref() GPUSharedMemory& smem, processorType& merger, int32_t iSector);
61};
62
64{
65 public:
66 template <int32_t iKernel = defaultKernel>
67 GPUd() static void Thread(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, GPUsharedref() GPUSharedMemory& smem, processorType& merger, int32_t id);
68};
69
71{
72 public:
73 template <int32_t iKernel = defaultKernel>
74 GPUd() static void Thread(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, GPUsharedref() GPUSharedMemory& smem, processorType& merger, int32_t id);
75};
76
78{
79 public:
82
83 template <int32_t iKernel = defaultKernel, typename... Args>
84 GPUd() static void Thread(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, GPUSharedMemory& smem, processorType& clusterer, Args... args);
85};
86
88{
89 public:
90 template <int32_t iKernel = defaultKernel>
91 GPUd() static void Thread(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, GPUsharedref() GPUSharedMemory& smem, processorType& merger, int8_t nOutput);
92};
93
95{
96 public:
97 template <int32_t iKernel = defaultKernel>
98 GPUd() static void Thread(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, GPUsharedref() GPUSharedMemory& smem, processorType& merger);
99};
100
102{
103 public:
104 template <int32_t iKernel = defaultKernel>
105 GPUd() static void Thread(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, GPUsharedref() GPUSharedMemory& smem, processorType& merger, int32_t border0, int32_t border1, int8_t useOrigTrackParam);
106};
107
109{
110 public:
111 enum K { defaultKernel = 0,
112 step0 = 0,
113 step1 = 1,
114 step2 = 2,
115 variant = 3 };
116 template <int32_t iKernel = defaultKernel, typename... Args>
117 GPUd() static void Thread(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, GPUsharedref() GPUSharedMemory& smem, processorType& merger, Args... args);
118};
119
121{
122 public:
123 template <int32_t iKernel = defaultKernel>
124 GPUd() static void Thread(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, GPUsharedref() GPUSharedMemory& smem, processorType& merger);
125};
126
128{
129 public:
130 template <int32_t iKernel = defaultKernel>
131 GPUd() static void Thread(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, GPUsharedref() GPUSharedMemory& smem, processorType& merger);
132};
133
135{
136 public:
137 template <int32_t iKernel = defaultKernel>
138 GPUd() static void Thread(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, GPUsharedref() GPUSharedMemory& smem, processorType& merger);
139};
140
142{
143 public:
144 template <int32_t iKernel = defaultKernel>
145 GPUd() static void Thread(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, GPUsharedref() GPUSharedMemory& smem, processorType& merger);
146};
147
149{
150 public:
151 template <int32_t iKernel = defaultKernel>
152 GPUd() static void Thread(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, GPUsharedref() GPUSharedMemory& smem, processorType& merger);
153};
154
156{
157 public:
158 template <int32_t iKernel = defaultKernel>
159 GPUd() static void Thread(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, GPUsharedref() GPUSharedMemory& smem, processorType& merger);
160};
161
163{
164 public:
165 template <int32_t iKernel = defaultKernel>
166 GPUd() static void Thread(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, GPUsharedref() GPUSharedMemory& smem, processorType& merger);
167};
168
170{
171 public:
172 template <int32_t iKernel = defaultKernel>
173 GPUd() static void Thread(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, GPUsharedref() GPUSharedMemory& smem, processorType& merger);
174};
175
177{
178 public:
179 template <int32_t iKernel = defaultKernel>
180 GPUd() static void Thread(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread, GPUsharedref() GPUSharedMemory& smem, processorType& merger);
181};
182
183} // namespace o2::gpu
184
185#endif
#define GPUsharedref()
int32_t int32_t int32_t processorType & processors
GPUd() static void Thread(int32_t nBlocks
GPUd() static void Thread(int32_t nBlocks
GPUd() static void Thread(int32_t nBlocks
GPUhdi() static processorType *Processor(GPUConstantMem &processors)
GPUhdi() const expr static GPUDataTypes
GPUd() static void Thread(int32_t nBlocks
GPUd() static void Thread(int32_t nBlocks
GPUd() static void Thread(int32_t nBlocks
GPUd() static void Thread(int32_t nBlocks
GPUd() static void Thread(int32_t nBlocks
GPUd() static void Thread(int32_t nBlocks
GPUd() static void Thread(int32_t nBlocks
GPUd() static void Thread(int32_t nBlocks
GPUd() static void Thread(int32_t nBlocks
GPUd() static void Thread(int32_t nBlocks
int32_t int32_t int32_t processorType & merger
int32_t int32_t int32_t iThread
GPUd() static void Thread(int32_t nBlocks
GPUd() static void Thread(int32_t nBlocks
GPUd() static void Thread(int32_t nBlocks
GLenum mode
Definition glcorearb.h:266