Skip to content

Commit 79f32e0

Browse files
committed
Address ITSMFT tracking review feedback
1 parent 9f24e0b commit 79f32e0

27 files changed

Lines changed: 326 additions & 302 deletions

Detectors/ITSMFT/ITS/tracking/GPU/ITStrackingGPU/TimeFrameGPU.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -250,8 +250,8 @@ class TimeFrameGPU : public TimeFrame<NLayers>
250250
std::bitset<NLayers + 1> mPinnedTrackingFrameInfo{0};
251251

252252
// Temporary buffer for storing output tracks from GPU tracking
253-
o2::itsmft::tracking::bounded_vector<TrackITSExt> mTrackITSExt;
254-
o2::itsmft::tracking::bounded_vector<int> mTrackIndices;
253+
bounded_vector<TrackITSExt> mTrackITSExt;
254+
bounded_vector<int> mTrackIndices;
255255
};
256256

257257
template <int NLayers>

Detectors/ITSMFT/ITS/tracking/GPU/ITStrackingGPU/TrackingKernels.h

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@
2626

2727
namespace o2::its
2828
{
29+
using o2::itsmft::tracking::bounded_vector;
30+
using o2::itsmft::tracking::CapacityEstimator;
31+
2932
class CellSeed;
3033
struct CellNeighbour;
3134
template <int>
@@ -62,13 +65,13 @@ struct TrackingKernels {
6265
const bool selectUPCVertices,
6366
const float NSigmaCut,
6467
const typename TrackingTopology<NLayers>::View topology,
65-
o2::itsmft::tracking::bounded_vector<float>& linkPhiCuts,
68+
bounded_vector<float>& linkPhiCuts,
6669
const float resolutionPV,
6770
std::array<float, NLayers>& minR,
6871
std::array<float, NLayers>& maxR,
69-
o2::itsmft::tracking::bounded_vector<float>& resolutions,
72+
bounded_vector<float>& resolutions,
7073
std::vector<float>& radii,
71-
o2::itsmft::tracking::bounded_vector<float>& linkMSAngles,
74+
bounded_vector<float>& linkMSAngles,
7275
o2::its::ExternalAllocator* alloc,
7376
gpu::Streams& streams);
7477

@@ -118,7 +121,7 @@ struct TrackingKernels {
118121
TrackSeed<NLayers>* seedsDevice,
119122
const int seedsCapacity,
120123
int& seedsCursor,
121-
o2::itsmft::tracking::CapacityEstimator& estimator,
124+
CapacityEstimator& estimator,
122125
const int iteration,
123126
const float bz,
124127
const float MaxChi2ClusterAttachment,

Detectors/ITSMFT/ITS/tracking/GPU/cuda/TimeFrameGPU.cu

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -491,8 +491,8 @@ void TimeFrameGPU<NLayers>::createTrackITSExtHost(const size_t nTracks)
491491
{
492492
GPUTimer timer("reserving host tracks");
493493
mNTracks = nTracks;
494-
mTrackITSExt = o2::itsmft::tracking::bounded_vector<TrackITSExt>(nTracks, {}, this->getMemoryPool().get());
495-
mTrackIndices = o2::itsmft::tracking::bounded_vector<int>(nTracks, 0, this->getMemoryPool().get());
494+
mTrackITSExt = bounded_vector<TrackITSExt>(nTracks, {}, this->getMemoryPool().get());
495+
mTrackIndices = bounded_vector<int>(nTracks, 0, this->getMemoryPool().get());
496496
std::iota(mTrackIndices.begin(), mTrackIndices.end(), 0);
497497
}
498498

Detectors/ITSMFT/ITS/tracking/GPU/cuda/TrackerTraitsGPU.cxx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
namespace o2::its
2121
{
2222

23-
using o2::itsmft::tracking::CapacityEstimator;
2423
using o2::itsmft::tracking::runOnSlab;
2524
using o2::itsmft::tracking::SlabSite;
2625

@@ -199,7 +198,7 @@ template <int NLayers>
199198
void TrackerTraitsGPU<NLayers>::findCellsNeighbours(const int iteration)
200199
{
201200
const auto hostTopology = mTimeFrameGPU->getTrackingTopologyView();
202-
o2::itsmft::tracking::bounded_vector<int> sourceTopologies(this->getMemoryPool().get());
201+
bounded_vector<int> sourceTopologies(this->getMemoryPool().get());
203202
sourceTopologies.reserve(hostTopology.nCells);
204203
for (int outerLayer{0}; outerLayer < NLayers; ++outerLayer) {
205204
for (int targetCellTopologyId{0}; targetCellTopologyId < hostTopology.nCells; ++targetCellTopologyId) {
@@ -266,7 +265,7 @@ void TrackerTraitsGPU<NLayers>::findCellsNeighbours(const int iteration)
266265
template <int NLayers>
267266
void TrackerTraitsGPU<NLayers>::findRoads(const int iteration)
268267
{
269-
o2::itsmft::tracking::bounded_vector<o2::itsmft::tracking::bounded_vector<int>> firstClusters(this->mTrkParams[iteration].NLayers, o2::itsmft::tracking::bounded_vector<int>(this->getMemoryPool().get()), this->getMemoryPool().get());
268+
bounded_vector<bounded_vector<int>> firstClusters(this->mTrkParams[iteration].NLayers, bounded_vector<int>(this->getMemoryPool().get()), this->getMemoryPool().get());
270269
firstClusters.resize(this->mTrkParams[iteration].NLayers);
271270
const auto hostTopology = mTimeFrameGPU->getTrackingTopologyView();
272271
const bool extendTop = this->mTrkParams[iteration].PassFlags[IterationStep::TrackFollowerTop];

Detectors/ITSMFT/ITS/tracking/GPU/cuda/TrackingKernels.cu

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ using namespace o2::track;
5353
namespace o2::its
5454
{
5555

56-
using o2::itsmft::tracking::CapacityEstimator;
5756
using o2::itsmft::tracking::runOnSlab;
5857
using o2::itsmft::tracking::SlabSite;
5958
namespace gpu
@@ -789,13 +788,13 @@ int TrackingKernels<NLayers>::computeTrackletsInROFsHandler(const IndexTableUtil
789788
const bool selectUPCVertices,
790789
const float NSigmaCut,
791790
const typename TrackingTopology<NLayers>::View topology,
792-
o2::itsmft::tracking::bounded_vector<float>& linkPhiCuts,
791+
bounded_vector<float>& linkPhiCuts,
793792
const float resolutionPV,
794793
std::array<float, NLayers>& minRs,
795794
std::array<float, NLayers>& maxRs,
796-
o2::itsmft::tracking::bounded_vector<float>& resolutions,
795+
bounded_vector<float>& resolutions,
797796
std::vector<float>& radii,
798-
o2::itsmft::tracking::bounded_vector<float>& linkMSAngles,
797+
bounded_vector<float>& linkMSAngles,
799798
o2::its::ExternalAllocator* alloc,
800799
gpu::Streams& streams)
801800
{

Detectors/ITSMFT/ITS/tracking/include/ITStracking/LineVertexerHelpers.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@
2121
namespace o2::its::line_vertexer
2222
{
2323

24+
using o2::itsmft::tracking::bounded_vector;
25+
using o2::itsmft::tracking::BoundedMemoryResource;
26+
2427
struct Settings {
2528
float beamX = 0.f;
2629
float beamY = 0.f;
@@ -36,10 +39,10 @@ struct Settings {
3639
float maxZ = 0.f;
3740
int seedMemberRadiusTime = 1;
3841
int seedMemberRadiusZ = 2;
39-
std::shared_ptr<o2::itsmft::tracking::BoundedMemoryResource> memoryPool;
42+
std::shared_ptr<BoundedMemoryResource> memoryPool;
4043
};
4144

42-
o2::itsmft::tracking::bounded_vector<ClusterLines> buildClusters(std::span<const Line> lines, const Settings& settings);
45+
bounded_vector<ClusterLines> buildClusters(std::span<const Line> lines, const Settings& settings);
4346

4447
} // namespace o2::its::line_vertexer
4548

Detectors/ITSMFT/ITS/tracking/include/ITStracking/TimeFrame.h

Lines changed: 46 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,10 @@ class ROFRecord;
5757
namespace its
5858
{
5959

60+
using o2::itsmft::tracking::bounded_vector;
61+
using o2::itsmft::tracking::BoundedMemoryResource;
62+
using o2::itsmft::tracking::CapacityEstimator;
63+
6064
namespace gpu
6165
{
6266
template <int>
@@ -179,7 +183,7 @@ struct TimeFrame {
179183
gsl::span<const MCCompLabel> getClusterLabels(int layerId, const int clId) const { return mClusterLabels[((mIsStaggered) ? layerId : 0)]->getLabels(mClusterExternalIndices[layerId][clId]); }
180184
int getClusterExternalIndex(int layerId, const int clId) const { return mClusterExternalIndices[layerId][clId]; }
181185
int getClusterSize(int layer, int clusterId) const { return mClusterSize[layer][clusterId]; }
182-
void setClusterSize(int layer, o2::itsmft::tracking::bounded_vector<uint8_t>& v) { mClusterSize[layer] = std::move(v); }
186+
void setClusterSize(int layer, bounded_vector<uint8_t>& v) { mClusterSize[layer] = std::move(v); }
183187

184188
auto& getTrackletsLabel(int layer) { return mTrackletLabels[layer]; }
185189
auto& getCellsLabel(int layer) { return mCellLabels[layer]; }
@@ -222,7 +226,7 @@ struct TimeFrame {
222226
size_t getNExtendedClusters() const { return mNExtendedClusters; }
223227

224228
/// memory management
225-
void setMemoryPool(std::shared_ptr<o2::itsmft::tracking::BoundedMemoryResource> pool);
229+
void setMemoryPool(std::shared_ptr<BoundedMemoryResource> pool);
226230
auto& getMemoryPool() const noexcept { return mMemoryPool; }
227231
bool checkMemory(unsigned long max) { return getArtefactsMemory() < max; }
228232
unsigned long getArtefactsMemory() const;
@@ -231,8 +235,8 @@ struct TimeFrame {
231235
/// staggering
232236
void setIsStaggered(bool b) noexcept { mIsStaggered = b; }
233237

234-
o2::itsmft::tracking::CapacityEstimator& getCapacityEstimator() noexcept { return mCapacityEstimator; }
235-
const o2::itsmft::tracking::CapacityEstimator& getCapacityEstimator() const noexcept { return mCapacityEstimator; }
238+
CapacityEstimator& getCapacityEstimator() noexcept { return mCapacityEstimator; }
239+
const CapacityEstimator& getCapacityEstimator() const noexcept { return mCapacityEstimator; }
236240

237241
// Vertexer
238242
void computeTrackletsPerROFScans();
@@ -258,7 +262,7 @@ struct TimeFrame {
258262

259263
/// State if memory will be externally managed by the GPU framework
260264
ExternalAllocator* mExternalAllocator{nullptr};
261-
std::shared_ptr<o2::itsmft::tracking::BoundedMemoryResource> mExtMemoryPool; // host memory pool managed by the framework
265+
std::shared_ptr<BoundedMemoryResource> mExtMemoryPool; // host memory pool managed by the framework
262266
auto getFrameworkAllocator() { return mExternalAllocator; };
263267
void setFrameworkAllocator(ExternalAllocator* ext);
264268
bool hasFrameworkAllocator() const noexcept { return mExternalAllocator != nullptr; }
@@ -274,28 +278,28 @@ struct TimeFrame {
274278
void addTrackingFrameInfoToLayer(int layer, T&&... args);
275279
void addClusterExternalIndexToLayer(int layer, const int idx) { mClusterExternalIndices[layer].push_back(idx); }
276280

277-
std::array<o2::itsmft::tracking::bounded_vector<Cluster>, NLayers> mClusters;
278-
std::array<o2::itsmft::tracking::bounded_vector<TrackingFrameInfo>, NLayers> mTrackingFrameInfo;
279-
std::array<o2::itsmft::tracking::bounded_vector<int>, NLayers> mClusterExternalIndices;
280-
std::array<o2::itsmft::tracking::bounded_vector<int>, NLayers> mROFramesClusters;
281+
std::array<bounded_vector<Cluster>, NLayers> mClusters;
282+
std::array<bounded_vector<TrackingFrameInfo>, NLayers> mTrackingFrameInfo;
283+
std::array<bounded_vector<int>, NLayers> mClusterExternalIndices;
284+
std::array<bounded_vector<int>, NLayers> mROFramesClusters;
281285
std::array<const dataformats::MCTruthContainer<MCCompLabel>*, NLayers> mClusterLabels{nullptr};
282-
std::array<o2::itsmft::tracking::bounded_vector<int>, 2> mNTrackletsPerCluster;
283-
std::array<o2::itsmft::tracking::bounded_vector<int>, 2> mNTrackletsPerClusterSum;
284-
std::array<o2::itsmft::tracking::bounded_vector<int>, NLayers> mNClustersPerROF;
285-
std::array<o2::itsmft::tracking::bounded_vector<int>, NLayers> mIndexTables;
286-
std::vector<o2::itsmft::tracking::bounded_vector<int>> mTrackletsLookupTable;
287-
std::array<o2::itsmft::tracking::bounded_vector<uint8_t>, NLayers> mUsedClusters;
288-
289-
std::array<o2::itsmft::tracking::bounded_vector<Cluster>, NLayers> mUnsortedClusters;
290-
std::vector<o2::itsmft::tracking::bounded_vector<Tracklet>> mTracklets;
291-
std::vector<o2::itsmft::tracking::bounded_vector<CellSeed>> mCells;
292-
o2::itsmft::tracking::bounded_vector<TrackITSExt> mTracks;
293-
o2::itsmft::tracking::bounded_vector<MCCompLabel> mTracksLabel;
286+
std::array<bounded_vector<int>, 2> mNTrackletsPerCluster;
287+
std::array<bounded_vector<int>, 2> mNTrackletsPerClusterSum;
288+
std::array<bounded_vector<int>, NLayers> mNClustersPerROF;
289+
std::array<bounded_vector<int>, NLayers> mIndexTables;
290+
std::vector<bounded_vector<int>> mTrackletsLookupTable;
291+
std::array<bounded_vector<uint8_t>, NLayers> mUsedClusters;
292+
293+
std::array<bounded_vector<Cluster>, NLayers> mUnsortedClusters;
294+
std::vector<bounded_vector<Tracklet>> mTracklets;
295+
std::vector<bounded_vector<CellSeed>> mCells;
296+
bounded_vector<TrackITSExt> mTracks;
297+
bounded_vector<MCCompLabel> mTracksLabel;
294298
size_t mNExtendedTracks = 0;
295299
size_t mNExtendedClusters = 0;
296-
std::vector<o2::itsmft::tracking::bounded_vector<int>> mCellsNeighbours;
297-
std::vector<o2::itsmft::tracking::bounded_vector<int>> mCellsNeighboursTopology;
298-
std::vector<o2::itsmft::tracking::bounded_vector<int>> mCellsLookupTable;
300+
std::vector<bounded_vector<int>> mCellsNeighbours;
301+
std::vector<bounded_vector<int>> mCellsNeighboursTopology;
302+
std::vector<bounded_vector<int>> mCellsLookupTable;
299303

300304
const o2::base::PropagatorImpl<float>* mPropagatorDevice = nullptr; // Needed only for GPU
301305

@@ -314,27 +318,27 @@ struct TimeFrame {
314318
bool isBeamPositionOverridden = false;
315319
std::array<float, NLayers> mMinR;
316320
std::array<float, NLayers> mMaxR;
317-
o2::itsmft::tracking::bounded_vector<float> mLinkPhiCuts;
318-
o2::itsmft::tracking::bounded_vector<float> mLinkMSAngles;
319-
o2::itsmft::tracking::bounded_vector<float> mPositionResolution;
320-
std::array<o2::itsmft::tracking::bounded_vector<uint8_t>, NLayers> mClusterSize;
321+
bounded_vector<float> mLinkPhiCuts;
322+
bounded_vector<float> mLinkMSAngles;
323+
bounded_vector<float> mPositionResolution;
324+
std::array<bounded_vector<uint8_t>, NLayers> mClusterSize;
321325

322-
o2::itsmft::tracking::bounded_vector<std::array<float, 2>> mPValphaX; /// PV x and alpha for track propagation
323-
std::vector<o2::itsmft::tracking::bounded_vector<MCCompLabel>> mTrackletLabels;
324-
std::vector<o2::itsmft::tracking::bounded_vector<MCCompLabel>> mCellLabels;
325-
std::vector<o2::itsmft::tracking::bounded_vector<int>> mCellsNeighboursLUT;
326-
o2::itsmft::tracking::bounded_vector<int> mBogusClusters; /// keep track of clusters with wild coordinates
326+
bounded_vector<std::array<float, 2>> mPValphaX; /// PV x and alpha for track propagation
327+
std::vector<bounded_vector<MCCompLabel>> mTrackletLabels;
328+
std::vector<bounded_vector<MCCompLabel>> mCellLabels;
329+
std::vector<bounded_vector<int>> mCellsNeighboursLUT;
330+
bounded_vector<int> mBogusClusters; /// keep track of clusters with wild coordinates
327331

328-
o2::itsmft::tracking::CapacityEstimator mCapacityEstimator;
332+
CapacityEstimator mCapacityEstimator;
329333

330334
// Vertexer
331-
o2::itsmft::tracking::bounded_vector<Vertex> mPrimaryVertices;
332-
o2::itsmft::tracking::bounded_vector<VertexLabel> mPrimaryVerticesLabels;
333-
std::vector<o2::itsmft::tracking::bounded_vector<int>> mNTrackletsPerROF;
334-
std::vector<o2::itsmft::tracking::bounded_vector<Line>> mLines;
335-
std::vector<o2::itsmft::tracking::bounded_vector<ClusterLines>> mTrackletClusters;
336-
std::array<o2::itsmft::tracking::bounded_vector<int>, 2> mTrackletsIndexROF;
337-
std::vector<o2::itsmft::tracking::bounded_vector<MCCompLabel>> mLinesLabels;
335+
bounded_vector<Vertex> mPrimaryVertices;
336+
bounded_vector<VertexLabel> mPrimaryVerticesLabels;
337+
std::vector<bounded_vector<int>> mNTrackletsPerROF;
338+
std::vector<bounded_vector<Line>> mLines;
339+
std::vector<bounded_vector<ClusterLines>> mTrackletClusters;
340+
std::array<bounded_vector<int>, 2> mTrackletsIndexROF;
341+
std::vector<bounded_vector<MCCompLabel>> mLinesLabels;
338342
std::array<uint32_t, 2> mTotalTracklets = {0, 0};
339343
uint32_t mTotalLines = 0;
340344
// \Vertexer
@@ -356,7 +360,7 @@ struct TimeFrame {
356360

357361
bool mIsStaggered{false};
358362

359-
std::shared_ptr<o2::itsmft::tracking::BoundedMemoryResource> mMemoryPool;
363+
std::shared_ptr<BoundedMemoryResource> mMemoryPool;
360364
};
361365

362366
template <int NLayers>

Detectors/ITSMFT/ITS/tracking/include/ITStracking/Tracker.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ class Tracker
6060
const LogFunc& = [](const std::string& s) { std::cerr << s << '\n'; });
6161

6262
void setParameters(const std::vector<TrackingParameters>& p) { mTrkParams = p; }
63-
void setMemoryPool(std::shared_ptr<o2::itsmft::tracking::BoundedMemoryResource> pool) { mMemoryPool = pool; }
63+
void setMemoryPool(std::shared_ptr<BoundedMemoryResource> pool) { mMemoryPool = pool; }
6464
std::vector<TrackingParameters>& getParameters() { return mTrkParams; }
6565
void setBz(float bz) { mTraits->setBz(bz); }
6666
void setTimeSlice(size_t slice) noexcept { mTimeSlice = slice; }
@@ -91,7 +91,7 @@ class Tracker
9191
unsigned int mNumberOfDroppedTFs{0};
9292
unsigned int mTimeFrameCounter{0};
9393
double mTotalTime{0};
94-
std::shared_ptr<o2::itsmft::tracking::BoundedMemoryResource> mMemoryPool;
94+
std::shared_ptr<BoundedMemoryResource> mMemoryPool;
9595

9696
enum Steps {
9797
TFInit = 0,

Detectors/ITSMFT/ITS/tracking/include/ITStracking/TrackerTraits.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,9 @@ class TrackerTraits
7272
virtual void findRoads(const int iteration);
7373

7474
template <typename InputSeed>
75-
void processNeighbours(int iteration, int defaultCellTopologyId, int iLevel, uint64_t capacityKey, const o2::itsmft::tracking::bounded_vector<InputSeed>& currentSeeds, o2::itsmft::tracking::bounded_vector<RoadSeedN>& updatedSeeds);
75+
void processNeighbours(int iteration, int defaultCellTopologyId, int iLevel, uint64_t capacityKey, const bounded_vector<InputSeed>& currentSeeds, bounded_vector<RoadSeedN>& updatedSeeds);
7676

77-
void acceptTracks(int iteration, o2::itsmft::tracking::bounded_vector<TrackITSExt>& tracks, const o2::itsmft::tracking::bounded_vector<int>& trackIndices, o2::itsmft::tracking::bounded_vector<o2::itsmft::tracking::bounded_vector<int>>& firstClusters);
77+
void acceptTracks(int iteration, bounded_vector<TrackITSExt>& tracks, const bounded_vector<int>& trackIndices, bounded_vector<bounded_vector<int>>& firstClusters);
7878
void markTracks(int iteration);
7979

8080
void updateTrackingParameters(const std::vector<TrackingParameters>& trkPars)
@@ -86,7 +86,7 @@ class TrackerTraits
8686
float getBz() const { return mBz; }
8787
virtual const char* getName() const noexcept { return "CPU"; }
8888
virtual bool isGPU() const noexcept { return false; }
89-
void setMemoryPool(std::shared_ptr<o2::itsmft::tracking::BoundedMemoryResource> pool) noexcept { mMemoryPool = pool; }
89+
void setMemoryPool(std::shared_ptr<BoundedMemoryResource> pool) noexcept { mMemoryPool = pool; }
9090
auto getMemoryPool() const noexcept { return mMemoryPool; }
9191

9292
// Others
@@ -99,7 +99,7 @@ class TrackerTraits
9999
virtual int getTFNumberOfCells() const { return mTimeFrame->getNumberOfCells(); }
100100

101101
private:
102-
std::shared_ptr<o2::itsmft::tracking::BoundedMemoryResource> mMemoryPool;
102+
std::shared_ptr<BoundedMemoryResource> mMemoryPool;
103103

104104
protected:
105105
std::shared_ptr<tbb::task_arena> mTaskArena;
@@ -110,8 +110,8 @@ class TrackerTraits
110110
{
111111
}
112112

113-
o2::itsmft::tracking::bounded_vector<TrackExtensionHypothesis<NLayers>> activeHypotheses;
114-
o2::itsmft::tracking::bounded_vector<TrackExtensionHypothesis<NLayers>> nextHypotheses;
113+
bounded_vector<TrackExtensionHypothesis<NLayers>> activeHypotheses;
114+
bounded_vector<TrackExtensionHypothesis<NLayers>> nextHypotheses;
115115
};
116116

117117
bool finaliseTrackSeed(const TrackSeedN& seed,

Detectors/ITSMFT/ITS/tracking/include/ITStracking/TrackingInterface.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ class ITSTrackingInterface
101101
std::unique_ptr<TrackerN> mTracker = nullptr;
102102
std::unique_ptr<VertexerN> mVertexer = nullptr;
103103
const o2::dataformats::MeanVertexObject* mMeanVertex{};
104-
std::shared_ptr<o2::itsmft::tracking::BoundedMemoryResource> mMemoryPool;
104+
std::shared_ptr<BoundedMemoryResource> mMemoryPool;
105105
std::shared_ptr<tbb::task_arena> mTaskArena;
106106
};
107107

0 commit comments

Comments
 (0)