diff --git a/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFCheckPadBaseline.cxx b/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFCheckPadBaseline.cxx index 2228d043b3e2d..3503a70b4b24e 100644 --- a/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFCheckPadBaseline.cxx +++ b/GPU/GPUTracking/TPCClusterFinder/GPUTPCCFCheckPadBaseline.cxx @@ -458,20 +458,20 @@ GPUd() void GPUTPCCFHIPTailConnector::Thread<0>(int32_t nBlocks, int32_t nThread // HIP TAILS: indexing starts at 1, so 0 index indicates no connection HIPTailDescriptor* tails = GetHIPTails(clusterer, row); - #ifdef GPUCA_DETERMINISTIC_MODE - // Races in tail comparisons and atomic swap can lead to slightly different clusters. - // So need a sequential fallback for deterministic mode - if (iThread > 0) { - return; +#ifdef GPUCA_DETERMINISTIC_MODE + // Races in tail comparisons and atomic swap can lead to slightly different clusters. + // So need a sequential fallback for deterministic mode + if (iThread > 0) { + return; + } + nThreads = 1; + GPUCommonAlgorithm::sortInBlock(tails + 1, tails + nTails + 1, [](auto&& t1, auto&& t2) { + if (t1.pad != t2.pad) { + return t1.pad < t2.pad; } - nThreads = 1; - GPUCommonAlgorithm::sortInBlock(tails + 1, tails + nTails + 1, [](auto &&t1, auto &&t2) { - if (t1.pad != t2.pad) { - return t1.pad < t2.pad; - } - return t1.tailStart < t2.tailStart; - }); - #endif + return t1.tailStart < t2.tailStart; + }); +#endif for (uint32_t iTail = iThread + 1; iTail <= nTails; iTail += nThreads) { auto* tail = &tails[iTail];