Skip to content

Commit 4f35cf5

Browse files
committed
GPU TPC: Make buffer size estimation more robust and improve error message in GPUWorkflow
1 parent aca5f47 commit 4f35cf5

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

GPU/GPUTracking/SectorTracker/GPUTPCTracker.cxx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,15 @@ void GPUTPCTracker::SetMaxData(const GPUTrackingInOutPointers& io)
143143
mNMaxTracklets = mRec->MemoryScalers()->NTPCTracklets(mData.NumberOfHits());
144144
mNMaxRowHits = mRec->MemoryScalers()->NTPCTrackletHits(mData.NumberOfHits());
145145
mNMaxTracks = mRec->MemoryScalers()->NTPCSectorTracks(mData.NumberOfHits());
146+
if (io.clustersNative) {
147+
uint32_t sectorOffset = mISector >= GPUCA_NSECTORS / 2 ? GPUCA_NSECTORS / 2 : 0;
148+
uint32_t nextSector = (mISector + 1) % (GPUCA_NSECTORS / 2) + sectorOffset;
149+
uint32_t prevSector = (mISector + GPUCA_NSECTORS - 1) % (GPUCA_NSECTORS / 2) + sectorOffset;
150+
uint32_t nExtrapolationTracks = mRec->MemoryScalers()->NTPCSectorTracks((io.clustersNative->nClustersSector[nextSector] + io.clustersNative->nClustersSector[prevSector]) / 2) / 2;
151+
if (nExtrapolationTracks > mNMaxTracks) {
152+
mNMaxTracks = nExtrapolationTracks;
153+
}
154+
}
146155
mNMaxTrackHits = mRec->MemoryScalers()->NTPCSectorTrackHits(mData.NumberOfHits(), mRec->GetProcessingSettings().tpcInputWithClusterRejection);
147156

148157
if (mRec->getGPUParameters(mRec->GetRecoStepsGPU() & GPUDataTypes::RecoStep::TPCSectorTracking).par_SORT_STARTHITS) {

GPU/Workflow/src/GPUWorkflowSpec.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -900,7 +900,7 @@ void GPURecoWorkflowSpec::run(ProcessingContext& pc)
900900
}
901901
createEmptyOutput = !mConfParam->partialOutputForNonFatalErrors;
902902
} else {
903-
throw std::runtime_error("GPU Reconstruction error: error code " + std::to_string(retVal));
903+
LOG(fatal) << "GPU Reconstruction aborted with error code " << retVal << " - errors are not ignored - terminating";
904904
}
905905
}
906906

0 commit comments

Comments
 (0)