13#ifndef TRACKINGITSGPU_INCLUDE_TIMEFRAMECHUNKGPU_H
14#define TRACKINGITSGPU_INCLUDE_TIMEFRAMECHUNKGPU_H
108 std::array<gsl::span<const Cluster>, nLayers> mHostClusters;
109 std::array<gsl::span<const int>, nLayers> mHostIndexTables;
112 std::array<Cluster*, nLayers> mClustersDevice;
113 std::array<int*, nLayers> mClusterExternalIndicesDevice;
114 std::array<int*, nLayers> mIndexTablesDevice;
115 std::array<
Tracklet*, nLayers - 1> mTrackletsDevice;
116 std::array<
int*, nLayers - 1> mTrackletsLookupTablesDevice;
117 std::array<
CellSeed*, nLayers - 2> mCellsDevice;
119 std::array<
int*, nLayers - 2> mCellsLookupTablesDevice;
120 std::array<
int*, nLayers - 3> mNeighboursCellDevice;
121 std::array<
int*, nLayers - 3> mNeighboursCellLookupTablesDevice;
122 std::array<
int*, nLayers - 2> mRoadsLookupTablesDevice;
126 int** mNeighboursCellDeviceArray;
127 int** mNeighboursCellLookupTablesDeviceArray;
130 int* mCUBTmpBufferDevice;
131 int* mFoundTrackletsDevice;
132 int* mNFoundCellsDevice;
136 int* mNFoundLinesDevice;
137 int* mNExclusiveFoundLinesDevice;
138 unsigned char* mUsedTrackletsDevice;
139 std::array<int*, 2> mNTrackletsPerClusterDevice;
140 int* mClusteredLinesDevice;
143 bool mAllocated =
false;
145 size_t mNPopulatedRof = 0;
GPU-compliant version of ClusterLines, for the moment separated, might create a common traits for Clu...
int * getDeviceClusterExternalIndices(const int)
int * getDeviceNExclusiveFoundLines()
CellSeed ** getDeviceArrayCells() const
int * getDeviceRoadsLookupTables(const int)
int * getDeviceCellsLookupTables(const int)
int * getDeviceClusteredLines()
int * getDeviceCellNeighbours(const int)
int * getDeviceNFoundLines()
int * getDeviceNFoundCells()
size_t getNPopulatedRof() const
GpuTimeFrameChunk()=delete
int * getDeviceTrackletsLookupTables(const int)
void reset(const Task, Stream &)
int ** getDeviceArrayNeighboursCell() const
unsigned char * getDeviceUsedTracklets()
int * getDeviceCUBTmpBuffer()
int * getDeviceFoundTracklets()
static size_t computeScalingSizeBytes(const int, const TimeFrameGPUParameters &)
void allocate(const size_t, Stream &)
Most relevant operations.
size_t loadDataOnDevice(const size_t, const size_t, const int, Stream &)
GpuTimeFrameChunk(o2::its::TimeFrame *tf, TimeFrameGPUParameters &conf)
int ** getDeviceArrayNeighboursCellLUT() const
CellSeed * getDeviceCells(const int)
Cluster * getDeviceClusters(const int)
Interface.
static size_t computeFixedSizeBytes(const TimeFrameGPUParameters &)
TimeFrameGPUParameters * getTimeFrameGPUParameters() const
int * getDeviceCellNeigboursLookupTables(const int)
Tracklet * getDeviceTracklets(const int)
int * getDeviceIndexTables(const int)
int * getDeviceNTrackletCluster(const int combid)
Vertexer only.
static size_t computeRofPerChunk(const TimeFrameGPUParameters &, const size_t)
std::unique_ptr< GPUReconstructionTimeframe > tf
float CellDeltaTanLambdaSigma
Cell finding cuts.
int ClusterSharing
General parameters.
void set(const TrackingParameters &pars)
StaticTrackingParameters< nLayers > & operator=(const StaticTrackingParameters< nLayers > &t)=default
float CellDeltaTanLambdaSigma
Cell finding cuts.
int ClusterSharing
General parameters.