ITS: Fix GPU deterministic mode + refactoring#14200
ITS: Fix GPU deterministic mode + refactoring#14200mconcas merged 6 commits intoAliceO2Group:devfrom
Conversation
|
REQUEST FOR PRODUCTION RELEASES: This will add The following labels are available |
|
Error while checking build/O2/fullCI_slc9 for 8be3ee5 at 2025-04-17 22:43: Full log here. |
|
Error while checking build/O2/fullCI_slc9 for 55f819d at 2025-04-18 12:04: Full log here. |
|
Hi, thanks for looking into this. As per usual it would be better to separate code refactoring from small fixes. Can you split it in two? |
0f2af3b to
9287962
Compare
|
Sure, now first commit is the actual fix, second the refactoring work done in GPU kernel code, the third is the refactoring of the hybrid/cpu call chain. |
- compute-sanitizer reveal malicious write past allocated table - ZBins for map lookup was not taken from params
- Removes unused headers - adds two new functions for ex/in-clusive scan via cub - inlines square - applies deterministc mode blocks=1,threads=1 to all kernels

Fixes two things for ITS GPU to be deterministic again.
AliceO2/Detectors/ITSMFT/ITS/tracking/GPU/cuda/TrackingKernels.cu
Line 87 in 8c94458
Takes ZBin which is constexpr 256 but should be taken from params which set it to 64.
AliceO2/Detectors/ITSMFT/ITS/tracking/GPU/cuda/TrackingKernels.cu
Line 1285 in 8c94458
Should be
foundSeedsTable.size(), since we can find more seeds thannCells.with this I get (although there still are some bins with ~0.01% difference in 10 pp TFs. Any idea why?
The rest is mostly a refactoring which mostly happened on-the-fly especially the
clusterToTracksImplsince I wanted to be sure that both algorithms do not diverge at any point.