Skip to content

Commit 3df7d03

Browse files
committed
ITSMFT: decouple capacity estimator from slab sink statistics
1 parent 79f32e0 commit 3df7d03

3 files changed

Lines changed: 8 additions & 14 deletions

File tree

Detectors/ITSMFT/ITS/tracking/src/TrackerTraits.cxx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,8 @@ void TrackerTraits<NLayers>::computeLayerTracklets(const int iteration, int iVer
205205
});
206206
const auto st = sink.stats();
207207
sink.finalizeUnordered(tracklets);
208-
mTimeFrame->getCapacityEstimator().update(key, scale, st);
208+
mTimeFrame->getCapacityEstimator().update(key, scale, st.requested, st.capacity, st.emitted, st.spilled,
209+
st.overflowed, st.memoryLimited);
209210
});
210211
}
211212

@@ -404,7 +405,8 @@ void TrackerTraits<NLayers>::computeLayerCells(const int iteration)
404405
});
405406
const auto st = sink.stats();
406407
sink.finalizeGrouped(size_t(currentLayerTrackletsNum), lut, layerCells);
407-
mTimeFrame->getCapacityEstimator().update(key, scale, st);
408+
mTimeFrame->getCapacityEstimator().update(key, scale, st.requested, st.capacity, st.emitted, st.spilled,
409+
st.overflowed, st.memoryLimited);
408410
} else {
409411
lut.resize(currentLayerTrackletsNum + 1);
410412
for (int iTracklet{0}; iTracklet < currentLayerTrackletsNum; ++iTracklet) {
@@ -554,7 +556,8 @@ void TrackerTraits<NLayers>::findCellsNeighbours(const int iteration)
554556
});
555557
const auto st = sink.stats();
556558
sink.finalizeUnordered(waveNeighbours);
557-
mTimeFrame->getCapacityEstimator().update(key, scale, st);
559+
mTimeFrame->getCapacityEstimator().update(key, scale, st.requested, st.capacity, st.emitted, st.spilled,
560+
st.overflowed, st.memoryLimited);
558561
tbb::parallel_sort(waveNeighbours.begin(), waveNeighbours.end(), neighbourLess);
559562
} else {
560563
for (const int cellTopologyId : activeTopologies) {
@@ -755,7 +758,8 @@ void TrackerTraits<NLayers>::processNeighbours(int iteration, int defaultCellTop
755758
});
756759
const auto st = sink.stats();
757760
sink.finalizeUnordered(updatedSeeds);
758-
mTimeFrame->getCapacityEstimator().update(capacityKey, scale, st);
761+
mTimeFrame->getCapacityEstimator().update(capacityKey, scale, st.requested, st.capacity, st.emitted, st.spilled,
762+
st.overflowed, st.memoryLimited);
759763
}
760764
});
761765
}

Detectors/ITSMFT/common/tracking/include/ITSMFTTracking/CapacityEstimator.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,6 @@ enum SlabSite : uint8_t {
3838
};
3939
constexpr const char* const SlabSiteNames[SlabSite::NSlabSite]{"Tracklets", "Cells", "Neighbours", "RoadCandidates", "Roads", "TrackSeeds", "TracksExtended", "Tracks"};
4040

41-
struct SlabSinkStats;
42-
4341
class CapacityEstimator
4442
{
4543
public:
@@ -125,7 +123,6 @@ class CapacityEstimator
125123
void update(uint64_t key, double scale, size_t emitted, size_t capacityUsed, bool overflowed, bool memoryLimited);
126124
void update(uint64_t key, double scale, size_t requested, size_t granted, size_t emitted,
127125
size_t spilled, bool overflowed, bool memoryLimited);
128-
void update(uint64_t key, double scale, const SlabSinkStats& stats);
129126
void print() const;
130127

131128
private:

Detectors/ITSMFT/common/tracking/src/CapacityEstimator.cxx

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
#include <vector>
2323

2424
#include "Framework/Logger.h"
25-
#include "ITSMFTTracking/SlabBumpAllocator.h"
2625

2726
namespace o2::itsmft::tracking
2827
{
@@ -246,12 +245,6 @@ void CapacityEstimator::update(uint64_t key, double scale, size_t requested, siz
246245
mImpl->observe(key, scale, requested, granted, emitted, spilled, overflowed, memoryLimited);
247246
}
248247

249-
void CapacityEstimator::update(uint64_t key, double scale, const SlabSinkStats& stats)
250-
{
251-
update(key, scale, stats.requested, stats.capacity, stats.emitted, stats.spilled,
252-
stats.overflowed, stats.memoryLimited);
253-
}
254-
255248
void CapacityEstimator::print() const
256249
{
257250
std::lock_guard lock{mImpl->mutex};

0 commit comments

Comments
 (0)