@@ -79,6 +79,7 @@ class TimeFrameGPU : public TimeFrame<nLayers>
7979 return mGpuStreams [stream];
8080 }
8181 auto & getStreams () { return mGpuStreams ; }
82+ void syncStreams ();
8283 virtual void wipe () final ;
8384
8485 // / interface
@@ -108,7 +109,7 @@ class TimeFrameGPU : public TimeFrame<nLayers>
108109 std::vector<unsigned int > getClusterSizes ();
109110 const unsigned char ** getDeviceArrayUsedClusters () const { return mUsedClustersDeviceArray ; }
110111 const int ** getDeviceROframeClusters () const { return mROFrameClustersDeviceArray ; }
111- Tracklet** getDeviceArrayTracklets () { return mTrackletsDeviceArray ; }
112+ Tracklet** getDeviceArrayTracklets () { return mTrackletsDevice . data () ; }
112113 int ** getDeviceArrayTrackletsLUT () const { return mTrackletsLUTDeviceArray ; }
113114 int ** getDeviceArrayCellsLUT () const { return mCellsLUTDeviceArray ; }
114115 int ** getDeviceArrayNeighboursCellLUT () const { return mNeighboursCellLUTDeviceArray ; }
@@ -140,7 +141,8 @@ class TimeFrameGPU : public TimeFrame<nLayers>
140141 int getNumberOfNeighbours () const final ;
141142
142143 private:
143- void allocMemAsync (void **, size_t , Stream&, bool ); // Abstract owned and unowned memory allocations
144+ void allocMemAsync (void **, size_t , Stream&, bool ); // Abstract owned and unowned memory allocations on specific stream
145+ void allocMem (void **, size_t , bool ); // Abstract owned and unowned memory allocations on default stream
144146 bool mHostRegistered = false ;
145147 TimeFrameGPUParameters mGpuParams ;
146148
@@ -167,7 +169,6 @@ class TimeFrameGPU : public TimeFrame<nLayers>
167169 const unsigned char ** mUsedClustersDeviceArray ;
168170 const int ** mROFrameClustersDeviceArray ;
169171 std::array<Tracklet*, nLayers - 1 > mTrackletsDevice ;
170- Tracklet** mTrackletsDeviceArray ;
171172 std::array<int *, nLayers - 1 > mTrackletsLUTDevice ;
172173 std::array<int *, nLayers - 2 > mCellsLUTDevice ;
173174 std::array<int *, nLayers - 3 > mNeighboursLUTDevice ;
@@ -195,8 +196,6 @@ class TimeFrameGPU : public TimeFrame<nLayers>
195196
196197 // State
197198 Streams mGpuStreams ;
198- size_t mAvailMemGB ;
199- bool mFirstInit = true ;
200199
201200 // Temporary buffer for storing output tracks from GPU tracking
202201 bounded_vector<TrackITSExt> mTrackITSExt ;
0 commit comments