@@ -28,7 +28,6 @@ template <int nLayers>
2828void TrackerTraitsGPU<nLayers>::initialiseTimeFrame(const int iteration)
2929{
3030 mTimeFrameGPU ->initialise (iteration, this ->mTrkParams [iteration], nLayers);
31-
3231 // on default stream
3332 mTimeFrameGPU ->loadVertices (iteration);
3433 mTimeFrameGPU ->loadIndexTableUtils (iteration);
@@ -45,6 +44,8 @@ void TrackerTraitsGPU<nLayers>::initialiseTimeFrame(const int iteration)
4544 mTimeFrameGPU ->createTrackletsBuffersArray (iteration);
4645 mTimeFrameGPU ->createCellsBuffersArray (iteration);
4746 mTimeFrameGPU ->createCellsLUTDeviceArray (iteration);
47+ // push every create artefact on the stack
48+ mTimeFrameGPU ->pushMemoryStack (iteration);
4849}
4950
5051template <int nLayers>
@@ -108,7 +109,7 @@ void TrackerTraitsGPU<nLayers>::computeLayerTracklets(const int iteration, int i
108109 mTimeFrameGPU ->getPositionResolutions (),
109110 this ->mTrkParams [iteration].LayerRadii ,
110111 mTimeFrameGPU ->getMSangles (),
111- mTimeFrameGPU ->getExternalDeviceAllocator (),
112+ mTimeFrameGPU ->getFrameworkAllocator (),
112113 conf.nBlocksLayerTracklets [iteration],
113114 conf.nThreadsLayerTracklets [iteration],
114115 mTimeFrameGPU ->getStreams ());
@@ -146,7 +147,7 @@ void TrackerTraitsGPU<nLayers>::computeLayerTracklets(const int iteration, int i
146147 mTimeFrameGPU ->getPositionResolutions (),
147148 this ->mTrkParams [iteration].LayerRadii ,
148149 mTimeFrameGPU ->getMSangles (),
149- mTimeFrameGPU ->getExternalDeviceAllocator (),
150+ mTimeFrameGPU ->getFrameworkAllocator (),
150151 conf.nBlocksLayerTracklets [iteration],
151152 conf.nThreadsLayerTracklets [iteration],
152153 mTimeFrameGPU ->getStreams ());
@@ -197,7 +198,7 @@ void TrackerTraitsGPU<nLayers>::computeLayerCells(const int iteration)
197198 this ->mTrkParams [iteration].MaxChi2ClusterAttachment ,
198199 this ->mTrkParams [iteration].CellDeltaTanLambdaSigma ,
199200 this ->mTrkParams [iteration].NSigmaCut ,
200- mTimeFrameGPU ->getExternalDeviceAllocator (),
201+ mTimeFrameGPU ->getFrameworkAllocator (),
201202 conf.nBlocksLayerCells [iteration],
202203 conf.nThreadsLayerCells [iteration],
203204 mTimeFrameGPU ->getStreams ());
@@ -253,7 +254,7 @@ void TrackerTraitsGPU<nLayers>::findCellsNeighbours(const int iteration)
253254 currentLayerCellsNum,
254255 nextLayerCellsNum,
255256 1e2 ,
256- mTimeFrameGPU ->getExternalDeviceAllocator (),
257+ mTimeFrameGPU ->getFrameworkAllocator (),
257258 conf.nBlocksFindNeighbours [iteration],
258259 conf.nThreadsFindNeighbours [iteration],
259260 mTimeFrameGPU ->getStream (iLayer));
@@ -281,7 +282,7 @@ void TrackerTraitsGPU<nLayers>::findCellsNeighbours(const int iteration)
281282 mTimeFrameGPU ->getDeviceNeighbours (iLayer),
282283 mTimeFrameGPU ->getArrayNNeighbours ()[iLayer],
283284 mTimeFrameGPU ->getStream (iLayer),
284- mTimeFrameGPU ->getExternalDeviceAllocator ());
285+ mTimeFrameGPU ->getFrameworkAllocator ());
285286 }
286287 mTimeFrameGPU ->syncStreams (false );
287288}
@@ -312,7 +313,7 @@ void TrackerTraitsGPU<nLayers>::findRoads(const int iteration)
312313 this ->mTrkParams [0 ].MaxChi2NDF ,
313314 mTimeFrameGPU ->getDevicePropagator (),
314315 this ->mTrkParams [0 ].CorrType ,
315- mTimeFrameGPU ->getExternalDeviceAllocator (),
316+ mTimeFrameGPU ->getFrameworkAllocator (),
316317 conf.nBlocksProcessNeighbours [iteration],
317318 conf.nThreadsProcessNeighbours [iteration]);
318319 }
@@ -386,6 +387,8 @@ void TrackerTraitsGPU<nLayers>::findRoads(const int iteration)
386387 }
387388 mTimeFrameGPU ->loadUsedClustersDevice ();
388389 }
390+ // wipe the artefact memory
391+ mTimeFrameGPU ->popMemoryStack (iteration);
389392};
390393
391394template <int nLayers>
0 commit comments