Skip to content

Commit edef89d

Browse files
committed
GPU: Use automatic grid size estimation for resolve kernel
1 parent 7d2603a commit edef89d

2 files changed

Lines changed: 5 additions & 6 deletions

File tree

GPU/Common/GPUDefGPUParameters.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@
9696
#define GPUCA_LB_GPUTPCGMMergerResolve_step0 256
9797
#define GPUCA_LB_GPUTPCGMMergerResolve_step1 256
9898
#define GPUCA_LB_GPUTPCGMMergerResolve_step2 256
99-
#define GPUCA_LB_GPUTPCGMMergerResolve_step3 256
99+
#define GPUCA_LB_GPUTPCGMMergerResolve_step3 256, 4
100100
#define GPUCA_LB_GPUTPCGMMergerClearLinks 256
101101
#define GPUCA_LB_GPUTPCGMMergerMergeWithinPrepare 256
102102
#define GPUCA_LB_GPUTPCGMMergerMergeSlicesPrepare 256, 2

GPU/GPUTracking/Global/GPUChainTracking.cxx

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1645,11 +1645,10 @@ void GPUChainTracking::RunTPCTrackingMerger_MergeBorderTracks(char withinSlice,
16451645

16461646
void GPUChainTracking::RunTPCTrackingMerger_Resolve(char useOrigTrackParam, char mergeAll, GPUReconstruction::krnlDeviceType deviceType)
16471647
{
1648-
runKernel<GPUTPCGMMergerResolve, 0>(GetGridBlk(BlockCount(), 0, deviceType), krnlRunRangeNone, krnlEventNone);
1649-
runKernel<GPUTPCGMMergerResolve, 1>(GetGridBlk(BlockCount(), 0, deviceType), krnlRunRangeNone, krnlEventNone);
1650-
runKernel<GPUTPCGMMergerResolve, 2>(GetGridBlk(BlockCount(), 0, deviceType), krnlRunRangeNone, krnlEventNone);
1651-
// TODO: Determine number of blocks from block size to fully occupy gpu
1652-
runKernel<GPUTPCGMMergerResolve, 3>(GetGridBlk(BlockCount() * 4, 0, deviceType), krnlRunRangeNone, krnlEventNone, useOrigTrackParam, mergeAll);
1648+
runKernel<GPUTPCGMMergerResolve, 0>(GetGridAuto(0, deviceType), krnlRunRangeNone, krnlEventNone);
1649+
runKernel<GPUTPCGMMergerResolve, 1>(GetGridAuto(0, deviceType), krnlRunRangeNone, krnlEventNone);
1650+
runKernel<GPUTPCGMMergerResolve, 2>(GetGridAuto(0, deviceType), krnlRunRangeNone, krnlEventNone);
1651+
runKernel<GPUTPCGMMergerResolve, 3>(GetGridAuto(0, deviceType), krnlRunRangeNone, krnlEventNone, useOrigTrackParam, mergeAll);
16531652
}
16541653

16551654
int GPUChainTracking::RunTPCTrackingMerger(bool synchronizeOutput)

0 commit comments

Comments
 (0)