Skip to content

Commit ed459ea

Browse files
committed
Simplifying computations + bug-fixes
1 parent 290ba0e commit ed459ea

File tree

3 files changed

+8
-8
lines changed

3 files changed

+8
-8
lines changed

GPU/GPUTracking/TPCClusterFinder/GPUTPCNNClusterizerHost.cxx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,9 +132,10 @@ void GPUTPCNNClusterizerHost::createBoundary(GPUTPCNNClusterizer& clustererNN) {
132132
int32_t i = r * clustererNN.mBoundaryMapSizePerRow + p;
133133
clustererNN.mIsBoundary[i] = 1;
134134
if (p >= clustererNN.mNnClusterizerSizeInputPad || r >= clustererNN.mNnClusterizerSizeInputRow) {
135-
if ((r < (GPUTPCGeometry::EndIROC() + clustererNN.mNnClusterizerSizeInputRow)) ||
136-
(r >= (GPUTPCGeometry::EndIROC() + 2*clustererNN.mNnClusterizerSizeInputRow) && r < (o2::tpc::constants::MAXGLOBALPADROW + 2*clustererNN.mNnClusterizerSizeInputRow))) {
135+
if (r < (GPUTPCGeometry::EndIROC() + clustererNN.mNnClusterizerSizeInputRow)) {
137136
clustererNN.mIsBoundary[i] = (int32_t)((p - clustererNN.mNnClusterizerSizeInputPad) >= static_cast<int>(GPUTPCGeometry::NPads(r - clustererNN.mNnClusterizerSizeInputRow)));
137+
} else if (r >= (GPUTPCGeometry::EndIROC() + 2*clustererNN.mNnClusterizerSizeInputRow) && r < (o2::tpc::constants::MAXGLOBALPADROW + 2*clustererNN.mNnClusterizerSizeInputRow)) {
138+
clustererNN.mIsBoundary[i] = (int32_t)((p - clustererNN.mNnClusterizerSizeInputPad) >= static_cast<int>(GPUTPCGeometry::NPads(r - 2*clustererNN.mNnClusterizerSizeInputRow)));
138139
}
139140
if (clustererNN.mIsBoundary[i] == 1) {
140141
break; // No need to check further pads in this row

GPU/GPUTracking/TPCClusterFinder/GPUTPCNNClusterizerKernels.cxx

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -156,15 +156,14 @@ GPUdii() void GPUTPCNNClusterizerKernels::Thread<GPUTPCNNClusterizerKernels::fil
156156
} else if ((int32_t)transient_index < (clustererNN.mNnClusterizerElementSize - 3)) {
157157
int32_t time = static_cast<int>(peak.time());
158158
int32_t idxLookup = 3*transient_index;
159-
int32_t r = clustererNN.mIndexLookup[idxLookup], p = clustererNN.mIndexLookup[idxLookup + 1], t = clustererNN.mIndexLookup[idxLookup + 2] + time;
160-
int32_t current_row = row + r, current_pad = pad + p;
159+
int32_t r = clustererNN.mIndexLookup[idxLookup] + row, p = clustererNN.mIndexLookup[idxLookup + 1] + pad, t = clustererNN.mIndexLookup[idxLookup + 2] + time;
161160
int32_t row_offset = GPUTPCNNClusterizerKernels::rowOffset(row, clustererNN.mNnClusterizerSizeInputRow);
162-
int32_t pad_offset = GPUTPCNNClusterizerKernels::padOffset(row, current_row);
163-
int32_t isBoundaryIndex = (current_row + row_offset + clustererNN.mNnClusterizerSizeInputRow) * clustererNN.mBoundaryMapSizePerRow + current_pad + clustererNN.mNnClusterizerSizeInputPad;
161+
int32_t isBoundaryIndex = (r + row_offset + clustererNN.mNnClusterizerSizeInputRow) * clustererNN.mBoundaryMapSizePerRow + p + clustererNN.mNnClusterizerSizeInputPad;
164162

165163
if (!clustererNN.mIsBoundary[isBoundaryIndex] && (t >= 0) && (t < TPC_MAX_FRAGMENT_LEN_GPU)) {
164+
int32_t pad_offset = GPUTPCNNClusterizerKernels::padOffset(row, r);
166165
float central_charge = static_cast<float>(chargeMap[peak].unpack());
167-
CfChargePos tmp_pos(current_row, current_pad + pad_offset, t);
166+
CfChargePos tmp_pos(r, p + pad_offset, t);
168167
if (dtype == 0) {
169168
clustererNN.mInputData_16[glo_idx] = (OrtDataType::Float16_t)(static_cast<float>(chargeMap[tmp_pos].unpack()) / central_charge);
170169
} else if (dtype == 1) {

prodtests/full-system-test/dpl-workflow.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ fi
7474
GPU_INPUT=zsraw
7575
GPU_OUTPUT=tracks,clusters
7676
GPU_CONFIG=
77-
#GPU_CONFIG_KEY=
77+
GPU_CONFIG_KEY=
7878
TOF_CONFIG=
7979
TOF_INPUT=raw
8080
TOF_OUTPUT=clusters

0 commit comments

Comments
 (0)