Skip to content

Commit 4e6c964

Browse files
committed
Adjust cluster compression
1 parent ddd6a88 commit 4e6c964

3 files changed

Lines changed: 13 additions & 7 deletions

File tree

GPU/GPUTracking/DataCompression/GPUTPCClusterStatistics.cxx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,9 +128,11 @@ void GPUTPCClusterStatistics::RunStatistics(const o2::tpc::ClusterNativeAccess*
128128
tmpClusters[k] = clustersNative->clusters[i][j][k];
129129
if (param.rec.tpc.compressionTypeMask & GPUSettings::CompressionTruncate) {
130130
GPUTPCCompression::truncateSignificantBitsChargeMax(tmpClusters[k].qMax, param);
131-
GPUTPCCompression::truncateSignificantBitsCharge(tmpClusters[k].qTot, param);
132131
GPUTPCCompression::truncateSignificantBitsWidth(tmpClusters[k].sigmaPadPacked, param);
133-
GPUTPCCompression::truncateSignificantBitsWidth(tmpClusters[k].sigmaTimePacked, param);
132+
if (!tmpClusters[k].isSaturated()) {
133+
GPUTPCCompression::truncateSignificantBitsCharge(tmpClusters[k].qTot, param);
134+
GPUTPCCompression::truncateSignificantBitsWidth(tmpClusters[k].sigmaTimePacked, param);
135+
}
134136
}
135137
}
136138
std::sort(tmpClusters.begin(), tmpClusters.end());

GPU/GPUTracking/DataCompression/GPUTPCCompression.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ class GPUTPCCompression : public GPUProcessor
4747
#endif
4848

4949
static constexpr uint32_t P_MAX_QMAX = 1 << 10;
50-
static constexpr uint32_t P_MAX_QTOT = 5 * 5 * P_MAX_QMAX;
50+
static constexpr uint32_t P_MAX_QTOT = 1 << 16;
5151
static constexpr uint32_t P_MAX_TIME = 1 << 24;
5252
static constexpr uint32_t P_MAX_PAD = 1 << 16;
5353
static constexpr uint32_t P_MAX_SIGMA = 1 << 8;

GPU/GPUTracking/DataCompression/GPUTPCCompressionKernels.cxx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,9 +121,11 @@ GPUdii() void GPUTPCCompressionKernels::Thread<GPUTPCCompressionKernels::step0at
121121
uint8_t sigmapad = orgCl.sigmaPadPacked, sigmatime = orgCl.sigmaTimePacked;
122122
if (param.rec.tpc.compressionTypeMask & GPUSettings::CompressionTruncate) {
123123
compressor.truncateSignificantBitsChargeMax(qmax, param);
124-
compressor.truncateSignificantBitsCharge(qtot, param);
125124
compressor.truncateSignificantBitsWidth(sigmapad, param);
126-
compressor.truncateSignificantBitsWidth(sigmatime, param);
125+
if (!orgCl.isSaturated()) {
126+
compressor.truncateSignificantBitsCharge(qtot, param);
127+
compressor.truncateSignificantBitsWidth(sigmatime, param);
128+
}
127129
}
128130
c.qTotA[cidx] = qtot;
129131
c.qMaxA[cidx] = qmax;
@@ -298,9 +300,11 @@ GPUdii() void GPUTPCCompressionKernels::Thread<GPUTPCCompressionKernels::step1un
298300
uint8_t sigmapad = orgCl.sigmaPadPacked, sigmatime = orgCl.sigmaTimePacked;
299301
if (param.rec.tpc.compressionTypeMask & GPUSettings::CompressionTruncate) {
300302
compressor.truncateSignificantBitsChargeMax(qmax, param);
301-
compressor.truncateSignificantBitsCharge(qtot, param);
302303
compressor.truncateSignificantBitsWidth(sigmapad, param);
303-
compressor.truncateSignificantBitsWidth(sigmatime, param);
304+
if (!orgCl.isSaturated()) {
305+
compressor.truncateSignificantBitsCharge(qtot, param);
306+
compressor.truncateSignificantBitsWidth(sigmatime, param);
307+
}
304308
}
305309
c.qTotU[outidx] = qtot;
306310
c.qMaxU[outidx] = qmax;

0 commit comments

Comments
 (0)