Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GPU: More cleanup #13943

Open
wants to merge 2 commits into
base: dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion GPU/GPUTracking/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ set(SRCS
SliceTracker/GPUTPCGrid.cxx
SliceTracker/GPUTPCTrackletSelector.cxx
SliceTracker/GPUTPCRow.cxx
SliceTracker/GPUTPCGlobalTracking.cxx
SliceTracker/GPUTPCExtrapolationTracking.cxx
SliceTracker/GPUTPCCreateSliceData.cxx
Merger/GPUTPCGMMerger.cxx
Merger/GPUTPCGMSliceTrack.cxx
Expand Down
24 changes: 12 additions & 12 deletions GPU/GPUTracking/Definitions/GPUDefGPUParameters.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
#define GPUCA_LB_GPUTPCTrackletSelector 192, 3
#define GPUCA_LB_GPUTPCNeighboursFinder 1024, 1
#define GPUCA_LB_GPUTPCNeighboursCleaner 896
#define GPUCA_LB_GPUTPCGlobalTracking 256
#define GPUCA_LB_GPUTPCExtrapolationTracking 256
#define GPUCA_LB_GPUTPCCFDecodeZS 64, 4
#define GPUCA_LB_GPUTPCCFDecodeZSLink GPUCA_WARP_SIZE
#define GPUCA_LB_GPUTPCCFDecodeZSDenseLink GPUCA_WARP_SIZE
Expand All @@ -60,7 +60,7 @@
#define GPUCA_LB_GPUTPCGMMergerMergeBorders_step0 512
#define GPUCA_LB_GPUTPCGMMergerMergeBorders_step2 512
#define GPUCA_LB_GPUTPCGMMergerMergeCE 512
#define GPUCA_LB_GPUTPCGMMergerLinkGlobalTracks 256
#define GPUCA_LB_GPUTPCGMMergerLinkExtrapolatedTracks 256
#define GPUCA_LB_GPUTPCGMMergerCollect 512
#define GPUCA_LB_GPUTPCGMMergerSortTracksPrepare 256
#define GPUCA_LB_GPUTPCGMMergerPrepareClusters_step0 256
Expand Down Expand Up @@ -105,7 +105,7 @@
#define GPUCA_LB_GPUTPCTrackletSelector 256, 8
#define GPUCA_LB_GPUTPCNeighboursFinder 1024, 1
#define GPUCA_LB_GPUTPCNeighboursCleaner 896
#define GPUCA_LB_GPUTPCGlobalTracking 256
#define GPUCA_LB_GPUTPCExtrapolationTracking 256
#define GPUCA_LB_GPUTPCCFDecodeZS 64, 4
#define GPUCA_LB_GPUTPCCFDecodeZSLink GPUCA_WARP_SIZE
#define GPUCA_LB_GPUTPCCFDecodeZSDenseLink GPUCA_WARP_SIZE
Expand All @@ -126,7 +126,7 @@
#define GPUCA_LB_GPUTPCGMMergerMergeBorders_step0 256
#define GPUCA_LB_GPUTPCGMMergerMergeBorders_step2 256
#define GPUCA_LB_GPUTPCGMMergerMergeCE 256
#define GPUCA_LB_GPUTPCGMMergerLinkGlobalTracks 256
#define GPUCA_LB_GPUTPCGMMergerLinkExtrapolatedTracks 256
#define GPUCA_LB_GPUTPCGMMergerCollect 512
#define GPUCA_LB_GPUTPCGMMergerSortTracksPrepare 256
#define GPUCA_LB_GPUTPCGMMergerPrepareClusters_step0 256
Expand Down Expand Up @@ -171,7 +171,7 @@
#define GPUCA_LB_GPUTPCTrackletSelector 192, 3 // best single-kernel: 128, 4
#define GPUCA_LB_GPUTPCNeighboursFinder 640, 1 // best single-kernel: 768, 1
#define GPUCA_LB_GPUTPCNeighboursCleaner 512
#define GPUCA_LB_GPUTPCGlobalTracking 128, 4
#define GPUCA_LB_GPUTPCExtrapolationTracking 128, 4
#define GPUCA_LB_GPUTPCCFDecodeZS 64, 10
#define GPUCA_LB_GPUTPCCFDecodeZSLink GPUCA_WARP_SIZE
#define GPUCA_LB_GPUTPCCFDecodeZSDenseLink GPUCA_WARP_SIZE
Expand All @@ -192,7 +192,7 @@
#define GPUCA_LB_GPUTPCGMMergerMergeBorders_step0 192
#define GPUCA_LB_GPUTPCGMMergerMergeBorders_step2 64, 2
#define GPUCA_LB_GPUTPCGMMergerMergeCE 256
#define GPUCA_LB_GPUTPCGMMergerLinkGlobalTracks 256
#define GPUCA_LB_GPUTPCGMMergerLinkExtrapolatedTracks 256
#define GPUCA_LB_GPUTPCGMMergerCollect 256, 2
#define GPUCA_LB_GPUTPCGMMergerSortTracksPrepare 256
#define GPUCA_LB_GPUTPCGMMergerPrepareClusters_step0 256
Expand Down Expand Up @@ -237,7 +237,7 @@
#define GPUCA_LB_GPUTPCTrackletSelector 192, 3
#define GPUCA_LB_GPUTPCNeighboursFinder 640, 1
#define GPUCA_LB_GPUTPCNeighboursCleaner 512
#define GPUCA_LB_GPUTPCGlobalTracking 192, 2
#define GPUCA_LB_GPUTPCExtrapolationTracking 192, 2
#define GPUCA_LB_GPUTPCCFDecodeZS 64, 8
#define GPUCA_LB_GPUTPCCFDecodeZSLink GPUCA_WARP_SIZE
#define GPUCA_LB_GPUTPCCFDecodeZSDenseLink GPUCA_WARP_SIZE
Expand All @@ -258,7 +258,7 @@
#define GPUCA_LB_GPUTPCGMMergerMergeBorders_step0 192
#define GPUCA_LB_GPUTPCGMMergerMergeBorders_step2 256
#define GPUCA_LB_GPUTPCGMMergerMergeCE 256
#define GPUCA_LB_GPUTPCGMMergerLinkGlobalTracks 256
#define GPUCA_LB_GPUTPCGMMergerLinkExtrapolatedTracks 256
#define GPUCA_LB_GPUTPCGMMergerCollect 128, 2
#define GPUCA_LB_GPUTPCGMMergerSortTracksPrepare 256
#define GPUCA_LB_GPUTPCGMMergerPrepareClusters_step0 256
Expand Down Expand Up @@ -312,8 +312,8 @@
#ifndef GPUCA_LB_GPUTPCNeighboursCleaner
#define GPUCA_LB_GPUTPCNeighboursCleaner 256
#endif
#ifndef GPUCA_LB_GPUTPCGlobalTracking
#define GPUCA_LB_GPUTPCGlobalTracking 256
#ifndef GPUCA_LB_GPUTPCExtrapolationTracking
#define GPUCA_LB_GPUTPCExtrapolationTracking 256
#endif
#ifndef GPUCA_LB_GPUTRDTrackerKernels_gpuVersion
#define GPUCA_LB_GPUTRDTrackerKernels_gpuVersion 512
Expand Down Expand Up @@ -414,8 +414,8 @@
#ifndef GPUCA_LB_GPUTPCGMMergerMergeCE
#define GPUCA_LB_GPUTPCGMMergerMergeCE 256
#endif
#ifndef GPUCA_LB_GPUTPCGMMergerLinkGlobalTracks
#define GPUCA_LB_GPUTPCGMMergerLinkGlobalTracks 256
#ifndef GPUCA_LB_GPUTPCGMMergerLinkExtrapolatedTracks
#define GPUCA_LB_GPUTPCGMMergerLinkExtrapolatedTracks 256
#endif
#ifndef GPUCA_LB_GPUTPCGMMergerCollect
#define GPUCA_LB_GPUTPCGMMergerCollect 256
Expand Down
16 changes: 8 additions & 8 deletions GPU/GPUTracking/Definitions/GPUSettingsList.h
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,8 @@ AddOptionRTC(extraClusterErrorFactorSplitPadSharedSingleY2, float, 3.0f, "", 0,
AddOptionRTC(extraClusterErrorSplitTimeSharedSingleZ2, float, 0.03f, "", 0, "Additive extra cluster error for Z2 if splittime, shared, or single set")
AddOptionRTC(extraClusterErrorFactorSplitTimeSharedSingleZ2, float, 3.0f, "", 0, "Multiplicative extra cluster error for Z2 if splittime, shared, or single set")
AddOptionArray(errorsCECrossing, float, 5, (0.f, 0.f, 0.f, 0.f, 0.f), "", 0, "Extra errors to add to track when crossing CE, depending on addErrorsCECrossing") // BUG: CUDA cannot yet handle AddOptionArrayRTC
AddOptionRTC(globalTrackingYRangeUpper, float, 0.85f, "", 0, "Inner portion of y-range in slice that is not used in searching for global track candidates")
AddOptionRTC(globalTrackingYRangeLower, float, 0.85f, "", 0, "Inner portion of y-range in slice that is not used in searching for global track candidates")
AddOptionRTC(extrapolationTrackingYRangeUpper, float, 0.85f, "", 0, "Inner portion of y-range in slice that is not used in searching for extrapolated track candidates")
AddOptionRTC(extrapolationTrackingYRangeLower, float, 0.85f, "", 0, "Inner portion of y-range in slice that is not used in searching for extrapolated track candidates")
AddOptionRTC(trackFollowingYFactor, float, 4.f, "", 0, "Weight of y residual vs z residual in tracklet constructor")
AddOptionRTC(trackMergerFactor2YS, float, 1.5f * 1.5f, "", 0, "factor2YS for track merging")
AddOptionRTC(trackMergerFactor2ZT, float, 1.5f * 1.5f, "", 0, "factor2ZT for track merging")
Expand All @@ -116,9 +116,9 @@ AddOptionRTC(mergerLooperSecondHorizontalQPtB5Limit, uint8_t, 2, "", 0, "Min Q/P
AddOptionRTC(trackFollowingMaxRowGap, uint8_t, 4, "", 0, "Maximum number of consecutive rows without hit in track following")
AddOptionRTC(trackFollowingMaxRowGapSeed, uint8_t, 2, "", 0, "Maximum number of consecutive rows without hit in track following during fit of seed")
AddOptionRTC(trackFitMaxRowMissedHard, uint8_t, 10, "", 0, "Hard limit for number of missed rows in fit / propagation")
AddOptionRTC(globalTrackingRowRange, uint8_t, 45, "", 0, "Number of rows from the upped/lower limit to search for global track candidates in for")
AddOptionRTC(globalTrackingMinRows, uint8_t, 10, "", 0, "Min num of rows an additional global track must span over")
AddOptionRTC(globalTrackingMinHits, uint8_t, 8, "", 0, "Min num of hits for an additional global track")
AddOptionRTC(extrapolationTrackingRowRange, uint8_t, 45, "", 0, "Number of rows from the upped/lower limit to search for extrapolated track candidates in for")
AddOptionRTC(extrapolationTrackingMinRows, uint8_t, 10, "", 0, "Min num of rows an additional extrapolated track must span over")
AddOptionRTC(extrapolationTrackingMinHits, uint8_t, 8, "", 0, "Min num of hits for an additional extrapolated track")
AddOptionRTC(noisyPadsQuickCheck, uint8_t, 1, "", 0, "Only check first fragment for noisy pads instead of all fragments (when test is enabled).")
AddOptionRTC(cfQMaxCutoff, uint8_t, 3, "", 0, "Cluster Finder rejects cluster with qmax below or equal to this threshold")
AddOptionRTC(cfQTotCutoff, uint8_t, 5, "", 0, "Cluster Finder rejects cluster with qtot below or equal to this threshold")
Expand All @@ -134,7 +134,7 @@ AddOptionRTC(trackFitRejectMode, int8_t, 5, "", 0, "0: no limit on rejection or
AddOptionRTC(rejectIFCLowRadiusCluster, uint8_t, 0, "", 0, "Reject clusters that get the IFC mask error during refit")
AddOptionRTC(dEdxTruncLow, uint8_t, 2, "", 0, "Low truncation threshold, fraction of 128")
AddOptionRTC(dEdxTruncHigh, uint8_t, 77, "", 0, "High truncation threshold, fraction of 128")
AddOptionRTC(globalTracking, int8_t, 1, "", 0, "Enable Global Tracking (prolong tracks to adjacent sectors to find short segments)")
AddOptionRTC(extrapolationTracking, int8_t, 1, "", 0, "Enable Extrapolation Tracking (prolong tracks to adjacent sectors to find short segments)")
AddOptionRTC(disableRefitAttachment, uint8_t, 0, "", 0, "Bitmask to disable certain attachment steps during refit (1: attachment, 2: propagation, 4: loop following, 8: mirroring)")
AddOptionRTC(rejectionStrategy, uint8_t, o2::gpu::GPUSettings::RejectionStrategyA, "", 0, "Enable rejection of TPC clusters for compression (0 = no, 1 = strategy A, 2 = strategy B)")
AddOptionRTC(mergeLoopersAfterburner, uint8_t, 1, "", 0, "Run afterburner for additional looper merging")
Expand Down Expand Up @@ -315,7 +315,7 @@ AddOption(drawInitLinks, bool, false, "", 0, "Highlight cleaned-up links")
AddOption(drawSeeds, bool, false, "", 0, "Highlight seeds")
AddOption(drawTracklets, bool, false, "", 0, "Highlight tracklets")
AddOption(drawTracks, bool, false, "", 0, "Highlight sector tracks")
AddOption(drawGlobalTracks, bool, false, "", 0, "Highlight global sector tracks prolonged into adjacent sector")
AddOption(drawExtrapolatedTracks, bool, false, "", 0, "Highlight global sector tracks prolonged into adjacent sector")
AddOption(drawFinal, bool, false, "", 0, "Highlight final tracks")
AddOption(excludeClusters, int32_t, 0, "", 0, "Exclude clusters from selected draw objects from display, (2 = exclude clusters but still show tracks)")
AddOption(drawSlice, int32_t, -1, "", 0, "Show individual slice")
Expand Down Expand Up @@ -349,7 +349,7 @@ AddOption(drawTracksAndFilter, bool, false, "", 0, "Use AND filter instead of OR
AddOption(propagateLoopers, bool, false, "", 0, "Enabale propagation of loopers")
AddOption(clustersOnly, bool, false, "", 0, "Visualize clusters only")
AddOption(clustersOnNominalRow, bool, false, "", 0, "Show clusters at nominal x of pad row for early-transformed data")
AddOption(separateGlobalTracks, bool, false, "", 0, "Draw track segments propagated to adjacent sectors separately")
AddOption(separateExtrapolatedTracks, bool, false, "", 0, "Draw track segments propagated to adjacent sectors separately")
AddOption(splitCETracks, int8_t, -1, "", 0, "Split CE tracks when they cross the central electrode (-1 = for triggered data)")
AddOption(markClusters, int32_t, 0, "", 0, "Mark clusters")
AddOption(markFakeClusters, int32_t, 0, "", 0, "Mark fake clusters")
Expand Down
2 changes: 1 addition & 1 deletion GPU/GPUTracking/Global/GPUChainTracking.h
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@ class GPUChainTracking : public GPUChain

int32_t ReadEvent(uint32_t iSlice, int32_t threadId);
void WriteOutput(int32_t iSlice, int32_t threadId);
int32_t GlobalTracking(uint32_t iSlice, int32_t threadId, bool synchronizeOutput = true);
int32_t ExtrapolationTracking(uint32_t iSlice, int32_t threadId, bool synchronizeOutput = true);

int32_t PrepareProfile();
int32_t DoProfile();
Expand Down
6 changes: 3 additions & 3 deletions GPU/GPUTracking/Global/GPUChainTrackingMerger.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -161,11 +161,11 @@ int32_t GPUChainTracking::RunTPCTrackingMerger(bool synchronizeOutput)

runKernel<GPUMemClean16>({{1, -WarpSize(), 0, deviceType, RecoStep::TPCMerging}}, MergerShadowAll.TmpCounter(), 2 * NSLICES * sizeof(*MergerShadowAll.TmpCounter()));

runKernel<GPUTPCGMMergerLinkGlobalTracks>(GetGridAuto(0, deviceType));
runKernel<GPUTPCGMMergerLinkExtrapolatedTracks>(GetGridAuto(0, deviceType));
runKernel<GPUTPCGMMergerCollect>(GetGridAuto(0, deviceType));
if (GetProcessingSettings().deterministicGPUReconstruction) {
runKernel<GPUTPCGlobalDebugSortKernels, GPUTPCGlobalDebugSortKernels::globalTracks1>({{1, -WarpSize(), 0, deviceType}}, 1);
runKernel<GPUTPCGlobalDebugSortKernels, GPUTPCGlobalDebugSortKernels::globalTracks2>({{1, -WarpSize(), 0, deviceType}}, 1);
runKernel<GPUTPCGlobalDebugSortKernels, GPUTPCGlobalDebugSortKernels::extrapolatedTracks1>({{1, -WarpSize(), 0, deviceType}}, 1);
runKernel<GPUTPCGlobalDebugSortKernels, GPUTPCGlobalDebugSortKernels::extrapolatedTracks2>({{1, -WarpSize(), 0, deviceType}}, 1);
}
DoDebugAndDump(RecoStep::TPCMerging, 2048, doGPU, Merger, &GPUTPCGMMerger::DumpCollected, *mDebugFile);

Expand Down
Loading
Loading