From 9701b1f36c8cb1b0fd3aed24811e3c1641617786 Mon Sep 17 00:00:00 2001 From: adriano Date: Sun, 2 Nov 2025 09:59:18 +0100 Subject: [PATCH] Proper clamping for CA doublets --- .../plugins/alpaka/CAHitNtupletGeneratorKernels.dev.cc | 4 ++-- .../PixelSeeding/plugins/alpaka/CAPixelDoubletsAlgos.h | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/RecoTracker/PixelSeeding/plugins/alpaka/CAHitNtupletGeneratorKernels.dev.cc b/RecoTracker/PixelSeeding/plugins/alpaka/CAHitNtupletGeneratorKernels.dev.cc index c7558009fe5b2..e9e5b71523ff9 100644 --- a/RecoTracker/PixelSeeding/plugins/alpaka/CAHitNtupletGeneratorKernels.dev.cc +++ b/RecoTracker/PixelSeeding/plugins/alpaka/CAHitNtupletGeneratorKernels.dev.cc @@ -57,8 +57,8 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE { #ifdef GPU_DEBUG std::cout << "Allocation for tuple building with: " << std::endl; std::cout << "- nHits = " << nHits << std::endl; - std::cout << "- maxDoublets = " << maxTuples << std::endl; - std::cout << "- maxTracks = " << maxDoublets << std::endl; + std::cout << "- maxDoublets = " << maxDoublets << std::endl; + std::cout << "- maxTracks = " << maxTuples << std::endl; std::cout << "- nCellsToCells = " << nCellsToCells << std::endl; std::cout << "- nHitsToCells = " << nHitsToCells << std::endl; diff --git a/RecoTracker/PixelSeeding/plugins/alpaka/CAPixelDoubletsAlgos.h b/RecoTracker/PixelSeeding/plugins/alpaka/CAPixelDoubletsAlgos.h index 26b38ca1aa9fb..fd05f692e3c64 100644 --- a/RecoTracker/PixelSeeding/plugins/alpaka/CAPixelDoubletsAlgos.h +++ b/RecoTracker/PixelSeeding/plugins/alpaka/CAPixelDoubletsAlgos.h @@ -314,9 +314,11 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets { continue; auto ind = alpaka::atomicAdd(acc, nCells, 1u, alpaka::hierarchy::Blocks{}); - if (ind >= maxNumOfDoublets) { + if (ind >= maxNumOfDoublets or ind >= uint32_t(outerHitHisto->capacity())) { #ifdef CA_WARNINGS - printf("Warning!!!! Too many cells (limit = %d)!\n", maxNumOfDoublets); + printf("Warning!!!! Too many cells (maxNumOfDoublets = %d - nHitsToCell = %d)!\n", + maxNumOfDoublets, + outerHitHisto->capacity()); #endif alpaka::atomicSub(acc, nCells, 1u, alpaka::hierarchy::Blocks{}); break;