|
12 | 12 |
|
13 | 13 | #ifndef ITSTRACKINGGPU_VERTEXINGKERNELS_H_ |
14 | 14 | #define ITSTRACKINGGPU_VERTEXINGKERNELS_H_ |
15 | | -#include "ITStracking/MathUtils.h" |
16 | | -#include "ITStracking/Configuration.h" |
17 | | -#include "ITStracking/ClusterLines.h" |
18 | | -#include "ITStracking/Tracklet.h" |
19 | 15 |
|
20 | 16 | #include "ITStrackingGPU/Utils.h" |
21 | | -#include "ITStrackingGPU/ClusterLinesGPU.h" |
22 | | -#include "ITStrackingGPU/VertexerTraitsGPU.h" |
23 | | -#include "ITStrackingGPU/TracerGPU.h" |
| 17 | +#include "ITStracking/BoundedAllocator.h" |
| 18 | +#include "ITStracking/Cluster.h" |
| 19 | +#include "ITStracking/IndexTableUtils.h" |
| 20 | +#include <gsl/span> |
24 | 21 |
|
25 | | -namespace o2::its::gpu |
| 22 | +namespace o2::its |
| 23 | +{ |
| 24 | +namespace gpu |
26 | 25 | { |
27 | 26 | #ifdef GPUCA_GPUCODE // GPUg() global kernels must only when compiled by GPU compiler |
28 | | -template <TrackletMode Mode> |
29 | | -GPUg() void trackleterKernelMultipleRof( |
30 | | - const Cluster* clustersNextLayer, // 0 2 |
31 | | - const Cluster* clustersCurrentLayer, // 1 1 |
32 | | - const int* sizeNextLClusters, |
33 | | - const int* sizeCurrentLClusters, |
34 | | - const int* nextIndexTables, |
35 | | - Tracklet* Tracklets, |
36 | | - int* foundTracklets, |
37 | | - const IndexTableUtils* utils, |
38 | | - const unsigned int startRofId, |
39 | | - const unsigned int rofSize, |
40 | | - const float phiCut, |
41 | | - const size_t maxTrackletsPerCluster); |
| 27 | +GPUg() void computeLayerTrackletMutliROFKernel(const Cluster** clusters, |
| 28 | + const unsigned int* nClusters, |
| 29 | + const int** rofClusters, |
| 30 | + const uint8_t** usedClusters, |
| 31 | + const int** clusterIndexTables, |
| 32 | + const float phiCut, |
| 33 | + Tracklet* tracklets, |
| 34 | + int* foundTracklets, |
| 35 | + const IndexTableUtils* utils, |
| 36 | + const int nRofs, |
| 37 | + const int deltaRof, |
| 38 | + const int* rofPV, |
| 39 | + int iteration, |
| 40 | + int verPerRofThreshold, |
| 41 | + int* rofFoundTrackletsOffsets, |
| 42 | + const int maxTrackletsPerCluster); |
42 | 43 | #endif |
43 | | -template <TrackletMode Mode> |
44 | | -void trackletFinderHandler(const Cluster* clustersNextLayer, // 0 2 |
45 | | - const Cluster* clustersCurrentLayer, // 1 1 |
46 | | - const int* sizeNextLClusters, |
47 | | - const int* sizeCurrentLClusters, |
48 | | - const int* nextIndexTables, |
49 | | - Tracklet* Tracklets, |
50 | | - int* foundTracklets, |
51 | | - const IndexTableUtils* utils, |
52 | | - const unsigned int startRofId, |
53 | | - const unsigned int rofSize, |
54 | | - const float phiCut, |
55 | | - const size_t maxTrackletsPerCluster = 1e2); |
56 | | -} // namespace o2::its::gpu |
| 44 | +} // namespace gpu |
| 45 | + |
| 46 | +void countTrackletsInROFsHandler(const IndexTableUtils* utils, |
| 47 | + const uint8_t* multMask, |
| 48 | + const int nRofs, |
| 49 | + const int deltaROF, |
| 50 | + const int* rofPV, |
| 51 | + int verPerRofThreshold, |
| 52 | + const Cluster** clusters, |
| 53 | + std::vector<unsigned int> nClusters, |
| 54 | + const int** ROFClusters, |
| 55 | + const uint8_t** usedClusters, |
| 56 | + const int** clustersIndexTables, |
| 57 | + int** trackletsLUTs, |
| 58 | + int** trackletsPerROF, |
| 59 | + gsl::span<int*> trackletsLUTsHost, |
| 60 | + const int iteration, |
| 61 | + const float phiCut, |
| 62 | + const int maxTrackletsPerCluster, |
| 63 | + const int nBlocks, |
| 64 | + const int nThreads, |
| 65 | + gpu::Streams& streams); |
| 66 | + |
| 67 | +} // namespace o2::its |
57 | 68 | #endif |
0 commit comments