Skip to content

Commit 2d9a391

Browse files
fweigdavidrohr
authored andcommitted
TPCClusterFinder: Adjust maxCluster size and bucket size.
1 parent 3694994 commit 2d9a391

2 files changed

Lines changed: 8 additions & 6 deletions

File tree

GPU/GPUTracking/Base/GPUMemorySizeScalers.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,17 @@ struct GPUMemorySizeScalers {
3030
static constexpr double offset = 1000.;
3131

3232
// Scaling Factors
33-
static constexpr double tpcClustersPerDigit = 0.2;
33+
static constexpr double tpcPeaksPerDigit = 0.2;
34+
static constexpr double tpcClustersPerPeak = 0.9;
3435
static constexpr double tpcClustersNoiseOffset = 20000;
3536
static constexpr double tpcTrackletsPerHit = 0.08;
3637
static constexpr double tpcSectorTracksPerHit = 0.02;
3738
static constexpr double tpcSectorTrackHitsPerHit = 0.8f;
3839
static constexpr double tpcTracksPerHit = 0.012;
3940
static constexpr double tpcTrackHitsPerHit = 0.7;
4041

41-
double NTPCClusters(double tpcDigits) { return offset + tpcDigits * tpcClustersPerDigit + tpcClustersNoiseOffset; }
42+
double NTPCPeaks(double tpcDigits) { return offset + tpcDigits * tpcPeaksPerDigit + tpcClustersNoiseOffset; }
43+
double NTPCClusters(double tpcDigits) { return tpcClustersPerPeak * NTPCPeaks(tpcDigits); }
4244
double NTPCTracklets(double tpcHits) { return offset + tpcHits * tpcTrackletsPerHit; }
4345
double NTPCSectorTracks(double tpcHits) { return offset + tpcHits * tpcSectorTracksPerHit; }
4446
double NTPCSectorTrackHits(double tpcHits) { return offset + tpcHits * tpcSectorTrackHitsPerHit; }

GPU/GPUTracking/TPCClusterFinder/GPUTPCClusterFinder.cxx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ void* GPUTPCClusterFinder::SetPointersOutput(void* mem)
5959
void* GPUTPCClusterFinder::SetPointersScratch(void* mem)
6060
{
6161
computePointerWithAlignment(mem, mPpeaks, mNMaxPeaks);
62-
computePointerWithAlignment(mem, mPfilteredPeaks, mNMaxPeaks);
62+
computePointerWithAlignment(mem, mPfilteredPeaks, mNMaxClusters);
6363
computePointerWithAlignment(mem, mPisPeak, mNMaxDigits);
6464
computePointerWithAlignment(mem, mPchargeMap, TPC_NUM_OF_PADS * TPC_MAX_TIME_PADDED);
6565
computePointerWithAlignment(mem, mPpeakMap, TPC_NUM_OF_PADS * TPC_MAX_TIME_PADDED);
@@ -84,9 +84,9 @@ void GPUTPCClusterFinder::RegisterMemoryAllocation()
8484

8585
void GPUTPCClusterFinder::SetMaxData(const GPUTrackingInOutPointers& io)
8686
{
87-
mNMaxPeaks = mRec->MemoryScalers()->NTPCClusters(mNMaxDigits);
88-
mNMaxClusters = mNMaxPeaks; // Noise suppression doesn't remove that many peaks, so don't scale this
89-
mNMaxClusterPerRow = 0.01f * mNMaxDigits;
87+
mNMaxPeaks = mRec->MemoryScalers()->NTPCPeaks(mNMaxDigits);
88+
mNMaxClusters = mRec->MemoryScalers()->NTPCClusters(mNMaxDigits);
89+
mNMaxClusterPerRow = 0.01f * mNMaxClusters;
9090
mBufSize = nextMultipleOf<std::max<int>(GPUCA_MEMALIGN, mScanWorkGroupSize)>(mNMaxDigits);
9191
mNBufs = getNSteps(mBufSize);
9292
}

0 commit comments

Comments
 (0)