Skip to content
Merged
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
8 changes: 4 additions & 4 deletions GPU/GPUTracking/Definitions/Parameters/GPUParameters.csv
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@ GPUTPCGMO2Output_output,256,,,,,,,,,,,,,,,256
GPUTPCStartHitsFinder,256,,"[1024, 2]","[1024, 7]",256,256,256,256,256,512,512,512,,,,608
GPUTPCStartHitsSorter,256,,"[1024, 5]","[512, 7]",256,256,256,256,256,"[512, 1]","[512, 1]","[512, 1]",,,,608
GPUTPCCFCheckPadBaseline,576,,"[576, 2]","[576, 2]",,,,,,"[576, 2]",,,,,,"[576, 2]"
GPUTPCCFHIPTailConnector,256,,256,256,,,,,,256,
GPUTPCCFHIPClusterizer,256,,256,256,,,,,,256,
GPUTPCCFHIPTailConnector,256,,256,256,,,,,,256,,,,,,
GPUTPCCFHIPClusterizer,256,,256,256,,,,,,256,,,,,,
GPUTPCCFChargeMapFiller_fillIndexMap,512,,512,512,,,,,,448,,,,,,448
GPUTPCCFChargeMapFiller_fillFromDigits,512,,512,512,,,,,,448,,,,,,448
GPUTPCCFChargeMapFiller_findFragmentStart,512,,512,512,,,,,,448,,,,,,448
Expand Down Expand Up @@ -108,8 +108,8 @@ TRACKLET_SELECTOR_HITS_REG_SIZE,12,0,9,27,,,,,,20,20,20,,,,2
ALTERNATE_BORDER_SORT,1,0,1,1,,,,,,1,1,1,,,,1
SORT_BEFORE_FIT,1,0,1,1,,,,,,1,1,1,,,,1
NO_ATOMIC_PRECHECK,0,0,1,1,,,,,,1,1,1,,,,1
DEDX_STORAGE_TYPE,"""uint16_t""","""float""","""uint16_t""","""uint16_t""",,,,,,"""uint16_t""","""uint16_t""","""uint16_t""",,,,"""uint16_t"""
MERGER_INTERPOLATION_ERROR_TYPE,"""half""","""float""","""half""","""half""",,,,,,"""half""","""half""","""half""",,,,"""half"""
DEDX_STORAGE_TYPE,"""half""","""float""",,,,,,,,,,,,,,
MERGER_INTERPOLATION_ERROR_TYPE,"""half""","""float""",,,,,,,,,,,,,,
COMP_GATHER_KERNEL,4,0,4,4,,,,,,4,4,4,,,,4
COMP_GATHER_MODE,3,0,3,3,,,,,,3,3,3,,,,3
CF_SCAN_WORKGROUP_SIZE,512,0,,,,,,,,,,,,,,
2 changes: 1 addition & 1 deletion GPU/GPUTracking/dEdx/GPUdEdx.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ GPUd() float GPUdEdx::GetSortTruncMean(GPUCA_PAR_DEDX_STORAGE_TYPE_A* GPUrestric
CAAlgo::sort(array, array + count);
float mean = 0;
for (int32_t i = trunclow; i < trunchigh; i++) {
mean += (float)array[i] * (1.f / scalingFactor<GPUCA_PAR_DEDX_STORAGE_TYPE_A>::factor);
mean += (float)array[i];
}
return (mean / (trunchigh - trunclow));
}
28 changes: 4 additions & 24 deletions GPU/GPUTracking/dEdx/GPUdEdx.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,26 +43,6 @@ class GPUdEdx
GPUd() float GetSortTruncMean(GPUCA_PAR_DEDX_STORAGE_TYPE_A* array, int32_t count, int32_t trunclow, int32_t trunchigh);
GPUd() void checkSubThresh(int32_t roc);

template <typename T, typename fake = void>
struct scalingFactor;
template <typename fake>
struct scalingFactor<uint16_t, fake> {
static constexpr float factor = 4.f;
static constexpr float round = 0.5f;
};
template <typename fake>
struct scalingFactor<float, fake> {
static constexpr float factor = 1.f;
static constexpr float round = 0.f;
};
#if defined(__CUDACC__) || defined(__HIPCC__)
template <typename fake>
struct scalingFactor<half, fake> {
static constexpr float factor = 1.f;
static constexpr float round = 0.f;
};
#endif

GPUCA_PAR_DEDX_STORAGE_TYPE_A mChargeTot[MAX_NCL]; // No need for default, just some memory
GPUCA_PAR_DEDX_STORAGE_TYPE_A mChargeMax[MAX_NCL]; // No need for default, just some memory
float mSubThreshMinTot = 0.f;
Expand All @@ -79,8 +59,8 @@ GPUdi() void GPUdEdx::checkSubThresh(int32_t roc)
if (roc != mLastROC) {
if (mNSubThresh && mCount + mNSubThresh < MAX_NCL) {
for (int32_t i = 0; i < mNSubThresh; i++) {
mChargeTot[mCount] = (GPUCA_PAR_DEDX_STORAGE_TYPE_A)(mSubThreshMinTot * scalingFactor<GPUCA_PAR_DEDX_STORAGE_TYPE_A>::factor + scalingFactor<GPUCA_PAR_DEDX_STORAGE_TYPE_A>::round);
mChargeMax[mCount++] = (GPUCA_PAR_DEDX_STORAGE_TYPE_A)(mSubThreshMinMax * scalingFactor<GPUCA_PAR_DEDX_STORAGE_TYPE_A>::factor + scalingFactor<GPUCA_PAR_DEDX_STORAGE_TYPE_A>::round);
mChargeTot[mCount] = (GPUCA_PAR_DEDX_STORAGE_TYPE_A)mSubThreshMinTot;
mChargeMax[mCount++] = (GPUCA_PAR_DEDX_STORAGE_TYPE_A)mSubThreshMinMax;
}
mNClsROC[mLastROC] += mNSubThresh;
mNClsROCSubThresh[mLastROC] += mNSubThresh;
Expand Down Expand Up @@ -151,8 +131,8 @@ GPUdnii() void GPUdEdx::fillCluster(float qtot, float qmax, int32_t padRow, uint
qmax /= residualGainMapGain;
qtot /= residualGainMapGain;

mChargeTot[mCount] = (GPUCA_PAR_DEDX_STORAGE_TYPE_A)(qtot * scalingFactor<GPUCA_PAR_DEDX_STORAGE_TYPE_A>::factor + scalingFactor<GPUCA_PAR_DEDX_STORAGE_TYPE_A>::round);
mChargeMax[mCount++] = (GPUCA_PAR_DEDX_STORAGE_TYPE_A)(qmax * scalingFactor<GPUCA_PAR_DEDX_STORAGE_TYPE_A>::factor + scalingFactor<GPUCA_PAR_DEDX_STORAGE_TYPE_A>::round);
mChargeTot[mCount] = (GPUCA_PAR_DEDX_STORAGE_TYPE_A)qtot;
mChargeMax[mCount++] = (GPUCA_PAR_DEDX_STORAGE_TYPE_A)qmax;
mNClsROC[roc]++;
if (qtot < mSubThreshMinTot) {
mSubThreshMinTot = qtot;
Expand Down