Skip to content

Commit b8cacf6

Browse files
committed
GPU TPC Merger: Clarify more variable names
1 parent 81b7a64 commit b8cacf6

File tree

6 files changed

+32
-35
lines changed

6 files changed

+32
-35
lines changed

GPU/GPUTracking/DataCompression/GPUTPCCompression.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ void GPUTPCCompression::SetMaxData(const GPUTrackingInOutPointers& io)
124124
mMaxClusters = io.clustersNative->nClustersTotal;
125125
mMaxClusterFactorBase1024 = mMaxClusters > 100000000 ? mRec->MemoryScalers()->NTPCUnattachedHitsBase1024(mRec->GetParam().rec.tpc.rejectionStrategy) : 1024;
126126
mMaxClustersInCache = mMaxClusters * mMaxClusterFactorBase1024 / 1024;
127-
mMaxTrackClusters = mRec->GetConstantMem().tpcMerger.NOutputTrackClusters(); // TODO: Why is this not using ioPtrs? Could remove GPUConstantMem.h include
127+
mMaxTrackClusters = mRec->GetConstantMem().tpcMerger.NMergedTrackClusters(); // TODO: Why is this not using ioPtrs? Could remove GPUConstantMem.h include
128128
mMaxTracks = mRec->GetConstantMem().tpcMerger.NMergedTracks();
129129
if (mMaxClusters % 16) {
130130
mMaxClusters += 16 - (mMaxClusters % 16);

GPU/GPUTracking/Global/GPUChainTrackingDebugAndProfiling.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ void GPUChainTracking::PrintMemoryStatistics()
154154
}
155155
addToMap("TPC Clusterer Clusters", usageMap, mRec->MemoryScalers()->nTPCHits, mRec->MemoryScalers()->NTPCClusters(mRec->MemoryScalers()->nTPCdigits));
156156
addToMap("TPC Tracks", usageMap, processors()->tpcMerger.NMergedTracks(), processors()->tpcMerger.NMaxTracks());
157-
addToMap("TPC TrackHits", usageMap, processors()->tpcMerger.NOutputTrackClusters(), processors()->tpcMerger.NMaxOutputTrackClusters());
157+
addToMap("TPC TrackHits", usageMap, processors()->tpcMerger.NMergedTrackClusters(), processors()->tpcMerger.NMaxMergedTrackClusters());
158158

159159
if (mRec->GetProcessingSettings().createO2Output) {
160160
addToMap("TPC O2 Tracks", usageMap, processors()->tpcMerger.NOutputTracksTPCO2(), processors()->tpcMerger.NOutputTracksTPCO2());
@@ -182,7 +182,7 @@ void GPUChainTracking::PrintMemoryRelations()
182182
GPUInfo("MEMREL SectorTrackHits NCl %d NTrkH %d", processors()->tpcTrackers[i].NHitsTotal(), *processors()->tpcTrackers[i].NTrackHits());
183183
}
184184
GPUInfo("MEMREL Tracks NCl %d NTrk %d", processors()->tpcMerger.NMaxClusters(), processors()->tpcMerger.NMergedTracks());
185-
GPUInfo("MEMREL TrackHitss NCl %d NTrkH %d", processors()->tpcMerger.NMaxClusters(), processors()->tpcMerger.NOutputTrackClusters());
185+
GPUInfo("MEMREL TrackHitss NCl %d NTrkH %d", processors()->tpcMerger.NMaxClusters(), processors()->tpcMerger.NMergedTrackClusters());
186186
}
187187

188188
void GPUChainTracking::PrepareKernelDebugOutput()

GPU/GPUTracking/Global/GPUChainTrackingMerger.cxx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -261,9 +261,9 @@ int32_t GPUChainTracking::RunTPCTrackingMerger(bool synchronizeOutput)
261261
if (param().dodEdxEnabled) {
262262
GPUMemCpy(RecoStep::TPCMerging, Merger.MergedTracksdEdx(), MergerShadowAll.MergedTracksdEdx(), Merger.NMergedTracks() * sizeof(*Merger.MergedTracksdEdx()), outputStream, 0);
263263
}
264-
GPUMemCpy(RecoStep::TPCMerging, Merger.Clusters(), MergerShadowAll.Clusters(), Merger.NOutputTrackClusters() * sizeof(*Merger.Clusters()), outputStream, 0);
264+
GPUMemCpy(RecoStep::TPCMerging, Merger.Clusters(), MergerShadowAll.Clusters(), Merger.NMergedTrackClusters() * sizeof(*Merger.Clusters()), outputStream, 0);
265265
if (param().par.earlyTpcTransform) {
266-
GPUMemCpy(RecoStep::TPCMerging, Merger.ClustersXYZ(), MergerShadowAll.ClustersXYZ(), Merger.NOutputTrackClusters() * sizeof(*Merger.ClustersXYZ()), outputStream, 0);
266+
GPUMemCpy(RecoStep::TPCMerging, Merger.ClustersXYZ(), MergerShadowAll.ClustersXYZ(), Merger.NMergedTrackClusters() * sizeof(*Merger.ClustersXYZ()), outputStream, 0);
267267
}
268268
GPUMemCpy(RecoStep::TPCMerging, Merger.ClusterAttachment(), MergerShadowAll.ClusterAttachment(), Merger.NMaxClusters() * sizeof(*Merger.ClusterAttachment()), outputStream, 0);
269269
}
@@ -330,7 +330,7 @@ int32_t GPUChainTracking::RunTPCTrackingMerger(bool synchronizeOutput)
330330
mIOPtrs.nMergedTracks = Merger.NMergedTracks();
331331
mIOPtrs.mergedTrackHits = Merger.Clusters();
332332
mIOPtrs.mergedTrackHitsXYZ = Merger.ClustersXYZ();
333-
mIOPtrs.nMergedTrackHits = Merger.NOutputTrackClusters();
333+
mIOPtrs.nMergedTrackHits = Merger.NMergedTrackClusters();
334334
mIOPtrs.mergedTrackHitAttachment = Merger.ClusterAttachment();
335335
mIOPtrs.mergedTrackHitStates = Merger.ClusterStateExt();
336336
mIOPtrs.outputTracksTPCO2 = Merger.OutputTracksTPCO2();
@@ -344,7 +344,7 @@ int32_t GPUChainTracking::RunTPCTrackingMerger(bool synchronizeOutput)
344344
processorsShadow()->ioPtrs.nMergedTracks = Merger.NMergedTracks();
345345
processorsShadow()->ioPtrs.mergedTrackHits = MergerShadow.Clusters();
346346
processorsShadow()->ioPtrs.mergedTrackHitsXYZ = MergerShadow.ClustersXYZ();
347-
processorsShadow()->ioPtrs.nMergedTrackHits = Merger.NOutputTrackClusters();
347+
processorsShadow()->ioPtrs.nMergedTrackHits = Merger.NMergedTrackClusters();
348348
processorsShadow()->ioPtrs.mergedTrackHitAttachment = MergerShadow.ClusterAttachment();
349349
processorsShadow()->ioPtrs.mergedTrackHitStates = MergerShadow.ClusterStateExt();
350350
processorsShadow()->ioPtrs.outputTracksTPCO2 = MergerShadow.OutputTracksTPCO2();
@@ -355,7 +355,7 @@ int32_t GPUChainTracking::RunTPCTrackingMerger(bool synchronizeOutput)
355355
}
356356

357357
if (GetProcessingSettings().debugLevel >= 2) {
358-
GPUInfo("TPC Merger Finished (output clusters %d / input clusters %d)", Merger.NOutputTrackClusters(), Merger.NClusters());
358+
GPUInfo("TPC Merger Finished (output clusters %d / input clusters %d)", Merger.NMergedTrackClusters(), Merger.NClusters());
359359
}
360360
return 0;
361361
}

GPU/GPUTracking/Merger/GPUTPCGMMerger.cxx

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -372,9 +372,9 @@ void* GPUTPCGMMerger::SetPointersOutput(void* mem)
372372
computePointerWithAlignment(mem, mMergedTracksdEdxAlt, mNMaxTracks);
373373
}
374374
}
375-
computePointerWithAlignment(mem, mClusters, mNMaxOutputTrackClusters);
375+
computePointerWithAlignment(mem, mClusters, mNMaxMergedTrackClusters);
376376
if (mRec->GetParam().par.earlyTpcTransform) {
377-
computePointerWithAlignment(mem, mClustersXYZ, mNMaxOutputTrackClusters);
377+
computePointerWithAlignment(mem, mClustersXYZ, mNMaxMergedTrackClusters);
378378
}
379379
computePointerWithAlignment(mem, mClusterAttachment, mNMaxClusters);
380380
return mem;
@@ -446,7 +446,7 @@ void GPUTPCGMMerger::SetMaxData(const GPUTrackingInOutPointers& io)
446446
mNMaxSingleSectorTracks = ntrk;
447447
}
448448
}
449-
mNMaxOutputTrackClusters = mRec->MemoryScalers()->NTPCMergedTrackHits(mNClusters);
449+
mNMaxMergedTrackClusters = mRec->MemoryScalers()->NTPCMergedTrackHits(mNClusters);
450450
if (CAMath::Abs(Param().polynomialField.GetNominalBz()) < (gpu_common_constants::kZeroFieldCut * gpu_common_constants::kCLight)) {
451451
mNMaxTracks = mRec->MemoryScalers()->getValue(mNTotalSectorTracks, mNTotalSectorTracks); // 0 magnetic field
452452
} else {
@@ -1354,14 +1354,14 @@ GPUd() void GPUTPCGMMerger::MergeCE(int32_t nBlocks, int32_t nThreads, int32_t i
13541354
continue;
13551355
}
13561356

1357-
uint32_t newRef = CAMath::AtomicAdd(&mMemory->nOutputTrackClusters, trk[0]->NClusters() + trk[1]->NClusters());
1358-
if (newRef + trk[0]->NClusters() + trk[1]->NClusters() >= mNMaxOutputTrackClusters) {
1359-
raiseError(GPUErrors::ERROR_MERGER_CE_HIT_OVERFLOW, newRef + trk[0]->NClusters() + trk[1]->NClusters(), mNMaxOutputTrackClusters);
1360-
for (uint32_t k = newRef; k < mNMaxOutputTrackClusters; k++) {
1357+
uint32_t newRef = CAMath::AtomicAdd(&mMemory->nMergedTrackClusters, trk[0]->NClusters() + trk[1]->NClusters());
1358+
if (newRef + trk[0]->NClusters() + trk[1]->NClusters() >= mNMaxMergedTrackClusters) {
1359+
raiseError(GPUErrors::ERROR_MERGER_CE_HIT_OVERFLOW, newRef + trk[0]->NClusters() + trk[1]->NClusters(), mNMaxMergedTrackClusters);
1360+
for (uint32_t k = newRef; k < mNMaxMergedTrackClusters; k++) {
13611361
mClusters[k].num = 0;
13621362
mClusters[k].state = 0;
13631363
}
1364-
CAMath::AtomicExch(&mMemory->nOutputTrackClusters, mNMaxOutputTrackClusters);
1364+
CAMath::AtomicExch(&mMemory->nMergedTrackClusters, mNMaxMergedTrackClusters);
13651365
return;
13661366
}
13671367

@@ -1711,20 +1711,20 @@ GPUd() void GPUTPCGMMerger::CollectMergedTracks(int32_t nBlocks, int32_t nThread
17111711
nHits = nFilteredHits;
17121712
}
17131713

1714-
const uint32_t iOutTrackFirstCluster = CAMath::AtomicAdd(&mMemory->nOutputTrackClusters, (uint32_t)nHits);
1715-
if (iOutTrackFirstCluster >= mNMaxOutputTrackClusters) {
1716-
raiseError(GPUErrors::ERROR_MERGER_HIT_OVERFLOW, iOutTrackFirstCluster, mNMaxOutputTrackClusters);
1717-
CAMath::AtomicExch(&mMemory->nOutputTrackClusters, mNMaxOutputTrackClusters);
1714+
const uint32_t iMergedTrackFirstCluster = CAMath::AtomicAdd(&mMemory->nMergedTrackClusters, (uint32_t)nHits);
1715+
if (iMergedTrackFirstCluster >= mNMaxMergedTrackClusters) {
1716+
raiseError(GPUErrors::ERROR_MERGER_HIT_OVERFLOW, iMergedTrackFirstCluster, mNMaxMergedTrackClusters);
1717+
CAMath::AtomicExch(&mMemory->nMergedTrackClusters, mNMaxMergedTrackClusters);
17181718
continue;
17191719
}
17201720

1721-
GPUTPCGMMergedTrackHit* const cl = mClusters + iOutTrackFirstCluster;
1721+
GPUTPCGMMergedTrackHit* const cl = mClusters + iMergedTrackFirstCluster;
17221722

17231723
for (int32_t i = 0; i < nHits; i++) {
17241724
uint8_t state;
17251725
if (Param().par.earlyTpcTransform) {
17261726
const GPUTPCClusterData& c = GetConstantMem()->tpcTrackers[trackClusters[i].sector].ClusterData()[trackClusters[i].id - GetConstantMem()->tpcTrackers[trackClusters[i].sector].Data().ClusterIdOffset()];
1727-
GPUTPCGMMergedTrackHitXYZ* const clXYZ = mClustersXYZ + iOutTrackFirstCluster;
1727+
GPUTPCGMMergedTrackHitXYZ* const clXYZ = mClustersXYZ + iMergedTrackFirstCluster;
17281728
clXYZ[i].x = c.x;
17291729
clXYZ[i].y = c.y;
17301730
clXYZ[i].z = c.z;
@@ -1759,13 +1759,13 @@ GPUd() void GPUTPCGMMerger::CollectMergedTracks(int32_t nBlocks, int32_t nThread
17591759
mergedTrack.SetLooper(leg > 0);
17601760
mergedTrack.SetLegs(leg);
17611761
mergedTrack.SetNClusters(nHits);
1762-
mergedTrack.SetFirstClusterRef(iOutTrackFirstCluster);
1762+
mergedTrack.SetFirstClusterRef(iMergedTrackFirstCluster);
17631763
GPUTPCGMTrackParam& p1 = mergedTrack.Param();
17641764
const GPUTPCGMSectorTrack& p2 = *trackParts[firstTrackIndex];
17651765
mergedTrack.SetCSide(p2.CSide());
17661766

17671767
GPUTPCGMBorderTrack b;
1768-
const float toX = Param().par.earlyTpcTransform ? mClustersXYZ[iOutTrackFirstCluster].x : GPUTPCGeometry::Row2X(cl[0].row);
1768+
const float toX = Param().par.earlyTpcTransform ? mClustersXYZ[iMergedTrackFirstCluster].x : GPUTPCGeometry::Row2X(cl[0].row);
17691769
if (p2.TransportToX(this, toX, Param().bzCLight, b, GPUCA_MAX_SIN_PHI, false)) {
17701770
p1.X() = toX;
17711771
p1.Y() = b.Par()[0];
@@ -1796,13 +1796,13 @@ GPUd() void GPUTPCGMMerger::CollectMergedTracks(int32_t nBlocks, int32_t nThread
17961796
if (Param().rec.tpc.mergeCE) {
17971797
bool CEside;
17981798
if (Param().par.earlyTpcTransform) {
1799-
const GPUTPCGMMergedTrackHitXYZ* const clXYZ = mClustersXYZ + iOutTrackFirstCluster;
1799+
const GPUTPCGMMergedTrackHitXYZ* const clXYZ = mClustersXYZ + iMergedTrackFirstCluster;
18001800
CEside = (mergedTrack.CSide() != 0) ^ (clXYZ[0].z > clXYZ[nHits - 1].z);
18011801
} else {
18021802
auto& cls = mConstantMem->ioPtrs.clustersNative->clustersLinear;
18031803
CEside = cls[cl[0].num].getTime() < cls[cl[nHits - 1].num].getTime();
18041804
}
1805-
MergeCEFill(trackParts[CEside ? lastTrackIndex : firstTrackIndex], cl[CEside ? (nHits - 1) : 0], Param().par.earlyTpcTransform ? &(mClustersXYZ + iOutTrackFirstCluster)[CEside ? (nHits - 1) : 0] : nullptr, iOutputTrack);
1805+
MergeCEFill(trackParts[CEside ? lastTrackIndex : firstTrackIndex], cl[CEside ? (nHits - 1) : 0], Param().par.earlyTpcTransform ? &(mClustersXYZ + iMergedTrackFirstCluster)[CEside ? (nHits - 1) : 0] : nullptr, iOutputTrack);
18061806
}
18071807
} // itr
18081808
}
@@ -1855,7 +1855,7 @@ GPUd() void GPUTPCGMMerger::PrepareClustersForFit1(int32_t nBlocks, int32_t nThr
18551855

18561856
GPUd() void GPUTPCGMMerger::PrepareClustersForFit2(int32_t nBlocks, int32_t nThreads, int32_t iBlock, int32_t iThread)
18571857
{
1858-
for (uint32_t i = iBlock * nThreads + iThread; i < mMemory->nOutputTrackClusters; i += nBlocks * nThreads) {
1858+
for (uint32_t i = iBlock * nThreads + iThread; i < mMemory->nMergedTrackClusters; i += nBlocks * nThreads) {
18591859
if (mSharedCount[mClusters[i].num] > 1) {
18601860
mClusters[i].state |= GPUTPCGMMergedTrackHit::flagShared;
18611861
}
@@ -1876,7 +1876,7 @@ GPUd() void GPUTPCGMMerger::Finalize0(int32_t nBlocks, int32_t nThreads, int32_t
18761876
for (uint32_t i = iBlock * nThreads + iThread; i < mMemory->nMergedTracks; i += nThreads * nBlocks) {
18771877
mTrackSort[mTrackOrderAttach[i]] = i;
18781878
}
1879-
for (uint32_t i = iBlock * nThreads + iThread; i < mMemory->nOutputTrackClusters; i += nThreads * nBlocks) {
1879+
for (uint32_t i = iBlock * nThreads + iThread; i < mMemory->nMergedTrackClusters; i += nThreads * nBlocks) {
18801880
mClusterAttachment[mClusters[i].num] = 0; // Reset adjacent attachment for attached clusters, set correctly below
18811881
}
18821882
}

GPU/GPUTracking/Merger/GPUTPCGMMerger.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ class GPUTPCGMMerger : public GPUProcessor
7070
GPUAtomic(uint32_t) nLoopData;
7171
GPUAtomic(uint32_t) nUnpackedTracks;
7272
GPUAtomic(uint32_t) nMergedTracks;
73-
GPUAtomic(uint32_t) nOutputTrackClusters;
73+
GPUAtomic(uint32_t) nMergedTrackClusters;
7474
GPUAtomic(uint32_t) nO2Tracks;
7575
GPUAtomic(uint32_t) nO2ClusRefs;
7676
const GPUTPCTrack* firstExtrapolatedTracks[NSECTORS];
@@ -113,8 +113,8 @@ class GPUTPCGMMerger : public GPUProcessor
113113
GPUhdi() uint32_t NClusters() const { return mNClusters; }
114114
GPUhdi() uint32_t NMaxClusters() const { return mNMaxClusters; }
115115
GPUhdi() uint32_t NMaxTracks() const { return mNMaxTracks; }
116-
GPUhdi() uint32_t NMaxOutputTrackClusters() const { return mNMaxOutputTrackClusters; }
117-
GPUhdi() uint32_t NOutputTrackClusters() const { return mMemory->nOutputTrackClusters; }
116+
GPUhdi() uint32_t NMaxMergedTrackClusters() const { return mNMaxMergedTrackClusters; }
117+
GPUhdi() uint32_t NMergedTrackClusters() const { return mMemory->nMergedTrackClusters; }
118118
GPUhdi() const GPUTPCGMMergedTrackHit* Clusters() const { return mClusters; }
119119
GPUhdi() GPUTPCGMMergedTrackHit* Clusters() { return (mClusters); }
120120
GPUhdi() const GPUTPCGMMergedTrackHitXYZ* ClustersXYZ() const { return mClustersXYZ; }
@@ -249,7 +249,7 @@ class GPUTPCGMMerger : public GPUProcessor
249249
uint32_t mNTotalSectorTracks = 0; // maximum number of incoming sector tracks
250250
uint32_t mNMaxTracks = 0; // maximum number of output tracks
251251
uint32_t mNMaxSingleSectorTracks = 0; // max N tracks in one sector
252-
uint32_t mNMaxOutputTrackClusters = 0; // max number of clusters in output tracks (double-counting shared clusters)
252+
uint32_t mNMaxMergedTrackClusters = 0; // max number of clusters in output tracks (double-counting shared clusters)
253253
uint32_t mNMaxClusters = 0; // max total unique clusters (in event)
254254
uint32_t mNMaxLooperMatches = 0; // Maximum number of candidate pairs for looper matching
255255

GPU/GPUTracking/SectorTracker/GPUTPCTrack.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,6 @@ class GPUTPCTrack
5353
GPUhd() static int32_t GetSize(int32_t nClust) { return sizeof(GPUTPCTrack) + nClust * sizeof(GPUTPCSectorOutCluster); }
5454
GPUhd() const GPUTPCTrack* GetNextTrack() const { return (const GPUTPCTrack*)(((char*)this) + GetSize(mNHits)); }
5555
GPUhd() GPUTPCTrack* NextTrack() { return (GPUTPCTrack*)(((char*)this) + GetSize(mNHits)); }
56-
GPUhd() void SetOutTrackCluster(int32_t i, const GPUTPCSectorOutCluster& v) { ((GPUTPCSectorOutCluster*)((char*)this + sizeof(*this)))[i] = v; }
57-
GPUhd() const GPUTPCSectorOutCluster* OutTrackClusters() const { return (const GPUTPCSectorOutCluster*)((char*)this + sizeof(*this)); }
58-
GPUhd() const GPUTPCSectorOutCluster& OutTrackCluster(int32_t i) const { return OutTrackClusters()[i]; }
5956

6057
private:
6158
int32_t mFirstHitID; // index of the first track cell in the track->cell pointer array

0 commit comments

Comments
 (0)