Skip to content

Commit 554ccda

Browse files
committed
GPU: Remove obsolete option to run TrackletSelector not in pipeline
1 parent 5c6657a commit 554ccda

File tree

7 files changed

+3
-76
lines changed

7 files changed

+3
-76
lines changed

GPU/GPUTracking/Base/GPUReconstruction.cxx

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -273,9 +273,6 @@ int32_t GPUReconstruction::InitPhaseBeforeDevice()
273273
if (mProcessingSettings.trackletConstructorInPipeline < 0) {
274274
mProcessingSettings.trackletConstructorInPipeline = 1;
275275
}
276-
if (mProcessingSettings.trackletSelectorInPipeline < 0) {
277-
mProcessingSettings.trackletSelectorInPipeline = 1;
278-
}
279276
if (mProcessingSettings.trackletSelectorSectors < 0) {
280277
mProcessingSettings.trackletSelectorSectors = 1;
281278
}
@@ -296,9 +293,6 @@ int32_t GPUReconstruction::InitPhaseBeforeDevice()
296293

297294
UpdateAutomaticProcessingSettings();
298295
GPUCA_GPUReconstructionUpdateDefaults();
299-
if (!mProcessingSettings.trackletConstructorInPipeline) {
300-
mProcessingSettings.trackletSelectorInPipeline = false;
301-
}
302296
if (!mProcessingSettings.rtc.enable) {
303297
mProcessingSettings.rtc.optConstexpr = false;
304298
}

GPU/GPUTracking/Base/GPUReconstructionIncludes.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,6 @@
3333
if (mProcessingSettings.trackletConstructorInPipeline < 0) { \
3434
mProcessingSettings.trackletConstructorInPipeline = GPUCA_CONSTRUCTOR_IN_PIPELINE; \
3535
} \
36-
if (mProcessingSettings.trackletSelectorInPipeline < 0) { \
37-
mProcessingSettings.trackletSelectorInPipeline = GPUCA_SELECTOR_IN_PIPELINE; \
38-
} \
3936
if (mProcessingSettings.trackletSelectorSectors < 0) { \
4037
mProcessingSettings.trackletSelectorSectors = GPUCA_TRACKLET_SELECTOR_SECTOR_COUNT; \
4138
} \

GPU/GPUTracking/Definitions/GPUDefGPUParameters.h

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,6 @@
8585
#define GPUCA_NEIGHBOURS_FINDER_MAX_NNEIGHUP 5
8686
#define GPUCA_TRACKLET_SELECTOR_HITS_REG_SIZE 20
8787
#define GPUCA_CONSTRUCTOR_IN_PIPELINE 1
88-
#define GPUCA_SELECTOR_IN_PIPELINE 1
8988
#define GPUCA_ALTERNATE_BORDER_SORT 1
9089
#define GPUCA_SORT_BEFORE_FIT 1
9190
#define GPUCA_MERGER_SPLIT_LOOP_INTERPOLATION 1
@@ -151,7 +150,6 @@
151150
#define GPUCA_NEIGHBOURS_FINDER_MAX_NNEIGHUP 5
152151
#define GPUCA_TRACKLET_SELECTOR_HITS_REG_SIZE 20
153152
#define GPUCA_CONSTRUCTOR_IN_PIPELINE 1
154-
#define GPUCA_SELECTOR_IN_PIPELINE 1
155153
#define GPUCA_ALTERNATE_BORDER_SORT 1
156154
#define GPUCA_SORT_BEFORE_FIT 1
157155
#define GPUCA_MERGER_SPLIT_LOOP_INTERPOLATION 1
@@ -217,7 +215,6 @@
217215
#define GPUCA_NEIGHBOURS_FINDER_MAX_NNEIGHUP 4
218216
#define GPUCA_TRACKLET_SELECTOR_HITS_REG_SIZE 20
219217
#define GPUCA_CONSTRUCTOR_IN_PIPELINE 1
220-
#define GPUCA_SELECTOR_IN_PIPELINE 1
221218
#define GPUCA_ALTERNATE_BORDER_SORT 1
222219
#define GPUCA_SORT_BEFORE_FIT 1
223220
#define GPUCA_MERGER_SPLIT_LOOP_INTERPOLATION 1
@@ -275,7 +272,6 @@
275272
#define GPUCA_NEIGHBOURS_FINDER_MAX_NNEIGHUP 4
276273
#define GPUCA_TRACKLET_SELECTOR_HITS_REG_SIZE 20
277274
#define GPUCA_CONSTRUCTOR_IN_PIPELINE 1
278-
#define GPUCA_SELECTOR_IN_PIPELINE 1
279275
#define GPUCA_ALTERNATE_BORDER_SORT 1
280276
#define GPUCA_SORT_BEFORE_FIT 1
281277
#define GPUCA_MERGER_SPLIT_LOOP_INTERPOLATION 1
@@ -537,9 +533,6 @@
537533
#ifndef GPUCA_CONSTRUCTOR_IN_PIPELINE
538534
#define GPUCA_CONSTRUCTOR_IN_PIPELINE 1
539535
#endif
540-
#ifndef GPUCA_SELECTOR_IN_PIPELINE
541-
#define GPUCA_SELECTOR_IN_PIPELINE 0
542-
#endif
543536
#ifndef GPUCA_ALTERNATE_BORDER_SORT
544537
#define GPUCA_ALTERNATE_BORDER_SORT 0
545538
#endif
@@ -562,7 +555,6 @@
562555
#define GPUCA_NEIGHBOURS_FINDER_MAX_NNEIGHUP 0
563556
#define GPUCA_TRACKLET_SELECTOR_HITS_REG_SIZE 0
564557
#define GPUCA_CONSTRUCTOR_IN_PIPELINE 1
565-
#define GPUCA_SELECTOR_IN_PIPELINE 1
566558
#define GPUCA_ALTERNATE_BORDER_SORT 0
567559
#define GPUCA_SORT_BEFORE_FIT 0
568560
#define GPUCA_MERGER_SPLIT_LOOP_INTERPOLATION 0

GPU/GPUTracking/Definitions/GPUSettingsList.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,6 @@ AddOption(nTPCClustererLanes, int8_t, -1, "", 0, "Number of TPC clusterers that
259259
AddOption(overrideClusterizerFragmentLen, int32_t, -1, "", 0, "Force the cluster max fragment len to a certain value (-1 = autodetect)")
260260
AddOption(trackletSelectorSectors, int8_t, -1, "", 0, "Number of sectors to processes in parallel at max")
261261
AddOption(trackletConstructorInPipeline, int8_t, -1, "", 0, "Run tracklet constructor in the pipeline")
262-
AddOption(trackletSelectorInPipeline, int8_t, -1, "", 0, "Run tracklet selector in the pipeline")
263262
AddOption(delayedOutput, bool, true, "", 0, "Delay output to be parallel to track fit")
264263
AddOption(mergerSortTracks, int8_t, -1, "", 0, "Sort track indizes for GPU track fit")
265264
AddOption(alternateBorderSort, int8_t, -1, "", 0, "Alternative implementation for sorting of border tracks")

GPU/GPUTracking/Global/GPUChainTrackingSectorTracker.cxx

Lines changed: 1 addition & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ int32_t GPUChainTracking::RunTPCTrackingSectors_internal()
226226
}
227227
}
228228

229-
if (!(doGPU || GetProcessingSettings().debugLevel >= 1) || GetProcessingSettings().trackletSelectorInPipeline) {
229+
if (!(doGPU || GetProcessingSettings().debugLevel >= 1) || GetProcessingSettings().trackletConstructorInPipeline) {
230230
runKernel<GPUTPCTrackletSelector>({GetGridAuto(useStream), {iSector}});
231231
runKernel<GPUTPCExtrapolationTrackingCopyNumbers>({{1, -ThreadCount(), useStream}, {iSector}}, 1);
232232
if (GetProcessingSettings().deterministicGPUReconstruction) {
@@ -250,56 +250,6 @@ int32_t GPUChainTracking::RunTPCTrackingSectors_internal()
250250
ReleaseEvent(mEvents->init);
251251
}
252252

253-
if (!GetProcessingSettings().trackletSelectorInPipeline) {
254-
if (GetProcessingSettings().trackletConstructorInPipeline) {
255-
SynchronizeGPU();
256-
} else {
257-
for (int32_t i = 0; i < mRec->NStreams(); i++) {
258-
RecordMarker(&mEvents->stream[i], i);
259-
}
260-
runKernel<GPUTPCTrackletConstructor, 1>({GetGridAuto(0), krnlRunRangeNone, {&mEvents->single, mEvents->stream, mRec->NStreams()}});
261-
for (int32_t i = 0; i < mRec->NStreams(); i++) {
262-
ReleaseEvent(mEvents->stream[i]);
263-
}
264-
SynchronizeEventAndRelease(mEvents->single);
265-
}
266-
267-
if (GetProcessingSettings().debugLevel >= 4) {
268-
for (uint32_t iSector = 0; iSector < NSECTORS; iSector++) {
269-
DoDebugAndDump(RecoStep::TPCSectorTracking, 128, processors()->tpcTrackers[iSector], &GPUTPCTracker::DumpTrackletHits, *mDebugFile);
270-
}
271-
}
272-
273-
int32_t runSectors = 0;
274-
int32_t useStream = 0;
275-
for (uint32_t iSector = 0; iSector < NSECTORS; iSector += runSectors) {
276-
if (runSectors < GetProcessingSettings().trackletSelectorSectors) {
277-
runSectors++;
278-
}
279-
runSectors = CAMath::Min<int32_t>(runSectors, NSECTORS - iSector);
280-
if (getKernelProperties<GPUTPCTrackletSelector>().minBlocks * BlockCount() < (uint32_t)runSectors) {
281-
runSectors = getKernelProperties<GPUTPCTrackletSelector>().minBlocks * BlockCount();
282-
}
283-
284-
if (GetProcessingSettings().debugLevel >= 3) {
285-
GPUInfo("Running TPC Tracklet selector (Stream %d, Sector %d to %d)", useStream, iSector, iSector + runSectors);
286-
}
287-
runKernel<GPUTPCTrackletSelector>({GetGridAuto(useStream), {iSector, runSectors}});
288-
runKernel<GPUTPCExtrapolationTrackingCopyNumbers>({{1, -ThreadCount(), useStream}, {iSector}}, runSectors);
289-
for (uint32_t k = iSector; k < iSector + runSectors; k++) {
290-
if (GetProcessingSettings().deterministicGPUReconstruction) {
291-
runKernel<GPUTPCSectorDebugSortKernels, GPUTPCSectorDebugSortKernels::sectorTracks>({GetGrid(1, 1, useStream), {k}});
292-
}
293-
TransferMemoryResourceLinkToHost(RecoStep::TPCSectorTracking, processors()->tpcTrackers[k].MemoryResCommon(), useStream, &mEvents->sector[k]);
294-
streamMap[k] = useStream;
295-
}
296-
useStream++;
297-
if (useStream >= mRec->NStreams()) {
298-
useStream = 0;
299-
}
300-
}
301-
}
302-
303253
mSectorSelectorReady = 0;
304254

305255
std::array<bool, NSECTORS> transferRunning;
@@ -335,11 +285,6 @@ int32_t GPUChainTracking::RunTPCTrackingSectors_internal()
335285
processors()->tpcTrackers[iSector].DumpHitWeights(*mDebugFile);
336286
}
337287
}
338-
if (!GetProcessingSettings().trackletSelectorInPipeline) {
339-
if (GetProcessingSettings().debugMask & 512) {
340-
processors()->tpcTrackers[iSector].DumpTrackHits(*mDebugFile);
341-
}
342-
}
343288
}
344289

345290
if (transferRunning[iSector]) {

GPU/GPUTracking/SectorTracker/GPUTPCTracker.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ void* GPUTPCTracker::SetPointersCommon(void* mem)
9393
void GPUTPCTracker::RegisterMemoryAllocation()
9494
{
9595
AllocateAndInitializeLate();
96-
bool reuseCondition = !mRec->GetProcessingSettings().keepDisplayMemory && mRec->GetProcessingSettings().trackletSelectorInPipeline && ((mRec->GetRecoStepsGPU() & GPUDataTypes::RecoStep::TPCSectorTracking) || mRec->GetProcessingSettings().inKernelParallel == 1 || mRec->GetProcessingSettings().nHostThreads == 1);
96+
bool reuseCondition = !mRec->GetProcessingSettings().keepDisplayMemory && mRec->GetProcessingSettings().trackletConstructorInPipeline && ((mRec->GetRecoStepsGPU() & GPUDataTypes::RecoStep::TPCSectorTracking) || mRec->GetProcessingSettings().inKernelParallel == 1 || mRec->GetProcessingSettings().nHostThreads == 1);
9797
GPUMemoryReuse reLinks{reuseCondition, GPUMemoryReuse::REUSE_1TO1, GPUMemoryReuse::TrackerDataLinks, (uint16_t)(mISector % mRec->GetProcessingSettings().nStreams)};
9898
mMemoryResLinks = mRec->RegisterMemoryAllocation(this, &GPUTPCTracker::SetPointersDataLinks, GPUMemoryResource::MEMORY_SCRATCH | GPUMemoryResource::MEMORY_STACK, "TPCSectorLinks", reLinks);
9999
mMemoryResSectorScratch = mRec->RegisterMemoryAllocation(this, &GPUTPCTracker::SetPointersDataScratch, GPUMemoryResource::MEMORY_SCRATCH | GPUMemoryResource::MEMORY_STACK | GPUMemoryResource::MEMORY_CUSTOM, "TPCSectorScratch");

GPU/GPUTracking/kernels.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ o2_gpu_add_kernel("GPUTPCStartHitsFinder" "= TPCTRAC
3333
o2_gpu_add_kernel("GPUTPCStartHitsSorter" "= TPCTRACKER" LB single)
3434
o2_gpu_add_kernel("GPUTPCTrackletConstructor, singleSector" "= TPCTRACKER" LB single)
3535
o2_gpu_add_kernel("GPUTPCTrackletConstructor, allSectors" "= TPCTRACKER" LB single)
36-
o2_gpu_add_kernel("GPUTPCTrackletSelector" "= TPCTRACKER" LB both)
36+
o2_gpu_add_kernel("GPUTPCTrackletSelector" "= TPCTRACKER" LB single)
3737
o2_gpu_add_kernel("GPUMemClean16" "GPUGeneralKernels" NO "simple, REG, (GPUCA_THREAD_COUNT, 1)" void* ptr "uint64_t" size)
3838
o2_gpu_add_kernel("GPUitoa" "GPUGeneralKernels" NO "simple, REG, (GPUCA_THREAD_COUNT, 1)" int32_t* ptr "uint64_t" size)
3939
o2_gpu_add_kernel("GPUTPCExtrapolationTrackingCopyNumbers" "GPUTPCExtrapolationTracking TPCTRACKER" NO single int32_t n)

0 commit comments

Comments
 (0)