diff --git a/RecoTracker/LSTCore/src/alpaka/Hit.h b/RecoTracker/LSTCore/src/alpaka/Hit.h index 2e7cc751a54ef..981711daa47f6 100644 --- a/RecoTracker/LSTCore/src/alpaka/Hit.h +++ b/RecoTracker/LSTCore/src/alpaka/Hit.h @@ -59,8 +59,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { } struct ModuleRangesKernel { - template - ALPAKA_FN_ACC void operator()(TAcc const& acc, + ALPAKA_FN_ACC void operator()(Acc1D const& acc, ModulesConst modules, HitsRanges hitsRanges, int nLowerModules) const { @@ -79,8 +78,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { }; struct HitLoopKernel { - template - ALPAKA_FN_ACC void operator()(TAcc const& acc, + ALPAKA_FN_ACC void operator()(Acc1D const& acc, uint16_t Endcap, // Integer corresponding to endcap in module subdets uint16_t TwoS, // Integer corresponding to TwoS in moduleType unsigned int nModules, // Number of modules diff --git a/RecoTracker/LSTCore/src/alpaka/Kernels.h b/RecoTracker/LSTCore/src/alpaka/Kernels.h index 40e9a0c587b3b..4c738259dfd87 100644 --- a/RecoTracker/LSTCore/src/alpaka/Kernels.h +++ b/RecoTracker/LSTCore/src/alpaka/Kernels.h @@ -141,8 +141,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { } struct RemoveDupQuintupletsAfterBuild { - template - ALPAKA_FN_ACC void operator()(TAcc const& acc, + ALPAKA_FN_ACC void operator()(Acc3D const& acc, ModulesConst modules, Quintuplets quintuplets, QuintupletsOccupancyConst quintupletsOccupancy, @@ -188,8 +187,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { }; struct RemoveDupQuintupletsBeforeTC { - template - ALPAKA_FN_ACC void operator()(TAcc const& acc, + ALPAKA_FN_ACC void operator()(Acc2D const& acc, Quintuplets quintuplets, QuintupletsOccupancyConst quintupletsOccupancy, ObjectRangesConst ranges) const { @@ -267,8 +265,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { }; struct RemoveDupPixelTripletsFromMap { - template - ALPAKA_FN_ACC void operator()(TAcc const& acc, PixelTriplets pixelTriplets) const { + ALPAKA_FN_ACC void operator()(Acc2D const& acc, PixelTriplets pixelTriplets) const { for (unsigned int ix : cms::alpakatools::uniform_elements_y(acc, pixelTriplets.nPixelTriplets())) { for (unsigned int jx : cms::alpakatools::uniform_elements_x(acc, pixelTriplets.nPixelTriplets())) { if (ix == jx) @@ -298,8 +295,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { }; struct RemoveDupPixelQuintupletsFromMap { - template - ALPAKA_FN_ACC void operator()(TAcc const& acc, PixelQuintuplets pixelQuintuplets) const { + ALPAKA_FN_ACC void operator()(Acc2D const& acc, PixelQuintuplets pixelQuintuplets) const { unsigned int nPixelQuintuplets = pixelQuintuplets.nPixelQuintuplets(); for (unsigned int ix : cms::alpakatools::uniform_elements_y(acc, nPixelQuintuplets)) { float score1 = __H2F(pixelQuintuplets.score()[ix]); @@ -322,8 +318,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { }; struct CheckHitspLS { - template - ALPAKA_FN_ACC void operator()(TAcc const& acc, + ALPAKA_FN_ACC void operator()(Acc2D const& acc, ModulesConst modules, SegmentsOccupancyConst segmentsOccupancy, SegmentsPixel segmentsPixel, diff --git a/RecoTracker/LSTCore/src/alpaka/MiniDoublet.h b/RecoTracker/LSTCore/src/alpaka/MiniDoublet.h index 73dc7051fd93c..cb9d3e50e955b 100644 --- a/RecoTracker/LSTCore/src/alpaka/MiniDoublet.h +++ b/RecoTracker/LSTCore/src/alpaka/MiniDoublet.h @@ -675,8 +675,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { } struct CreateMiniDoublets { - template - ALPAKA_FN_ACC void operator()(TAcc const& acc, + ALPAKA_FN_ACC void operator()(Acc2D const& acc, ModulesConst modules, HitsConst hits, HitsRangesConst hitsRanges, @@ -802,10 +801,8 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { } struct CreateMDArrayRangesGPU { - template - ALPAKA_FN_ACC void operator()(TAcc const& acc, ModulesConst modules, ObjectRanges ranges, const float ptCut) const { + ALPAKA_FN_ACC void operator()(Acc1D const& acc, ModulesConst modules, ObjectRanges ranges, const float ptCut) const { // implementation is 1D with a single block - static_assert(std::is_same_v, "Should be Acc1D"); ALPAKA_ASSERT_ACC((alpaka::getWorkDiv(acc)[0] == 1)); // Declare variables in shared memory and set to 0 @@ -869,14 +866,12 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { }; struct AddMiniDoubletRangesToEventExplicit { - template - ALPAKA_FN_ACC void operator()(TAcc const& acc, + ALPAKA_FN_ACC void operator()(Acc1D const& acc, ModulesConst modules, MiniDoubletsOccupancy mdsOccupancy, ObjectRanges ranges, HitsRangesConst hitsRanges) const { // implementation is 1D with a single block - static_assert(std::is_same_v, "Should be Acc1D"); ALPAKA_ASSERT_ACC((alpaka::getWorkDiv(acc)[0] == 1)); for (uint16_t i : cms::alpakatools::uniform_elements(acc, modules.nLowerModules())) { diff --git a/RecoTracker/LSTCore/src/alpaka/PixelQuintuplet.h b/RecoTracker/LSTCore/src/alpaka/PixelQuintuplet.h index d186b9d5fbe22..8408fb9ca0bd8 100644 --- a/RecoTracker/LSTCore/src/alpaka/PixelQuintuplet.h +++ b/RecoTracker/LSTCore/src/alpaka/PixelQuintuplet.h @@ -634,8 +634,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { } struct CreatePixelQuintupletsFromMap { - template - ALPAKA_FN_ACC void operator()(TAcc const& acc, + ALPAKA_FN_ACC void operator()(Acc3D const& acc, ModulesConst modules, ModulesPixelConst modulesPixel, MiniDoubletsConst mds, diff --git a/RecoTracker/LSTCore/src/alpaka/PixelTriplet.h b/RecoTracker/LSTCore/src/alpaka/PixelTriplet.h index ef7c4d8629718..c0e132c6ddb5d 100644 --- a/RecoTracker/LSTCore/src/alpaka/PixelTriplet.h +++ b/RecoTracker/LSTCore/src/alpaka/PixelTriplet.h @@ -786,8 +786,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { } struct CreatePixelTripletsFromMap { - template - ALPAKA_FN_ACC void operator()(TAcc const& acc, + ALPAKA_FN_ACC void operator()(Acc3D const& acc, ModulesConst modules, ModulesPixelConst modulesPixel, ObjectRangesConst ranges, diff --git a/RecoTracker/LSTCore/src/alpaka/Quintuplet.h b/RecoTracker/LSTCore/src/alpaka/Quintuplet.h index 336a1b4380789..ef14d8fd92a8e 100644 --- a/RecoTracker/LSTCore/src/alpaka/Quintuplet.h +++ b/RecoTracker/LSTCore/src/alpaka/Quintuplet.h @@ -1642,8 +1642,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { } struct CreateQuintuplets { - template - ALPAKA_FN_ACC void operator()(TAcc const& acc, + ALPAKA_FN_ACC void operator()(Acc3D const& acc, ModulesConst modules, MiniDoubletsConst mds, SegmentsConst segments, @@ -1773,14 +1772,12 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { }; struct CreateEligibleModulesListForQuintuplets { - template - ALPAKA_FN_ACC void operator()(TAcc const& acc, + ALPAKA_FN_ACC void operator()(Acc1D const& acc, ModulesConst modules, TripletsOccupancyConst tripletsOccupancy, ObjectRanges ranges, const float ptCut) const { // implementation is 1D with a single block - static_assert(std::is_same_v, "Should be Acc1D"); ALPAKA_ASSERT_ACC((alpaka::getWorkDiv(acc)[0] == 1)); // Initialize variables in shared memory and set to 0 @@ -1857,13 +1854,11 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { }; struct AddQuintupletRangesToEventExplicit { - template - ALPAKA_FN_ACC void operator()(TAcc const& acc, + ALPAKA_FN_ACC void operator()(Acc1D const& acc, ModulesConst modules, QuintupletsOccupancyConst quintupletsOccupancy, ObjectRanges ranges) const { // implementation is 1D with a single block - static_assert(std::is_same_v, "Should be Acc1D"); ALPAKA_ASSERT_ACC((alpaka::getWorkDiv(acc)[0] == 1)); for (uint16_t i : cms::alpakatools::uniform_elements(acc, modules.nLowerModules())) { diff --git a/RecoTracker/LSTCore/src/alpaka/Segment.h b/RecoTracker/LSTCore/src/alpaka/Segment.h index 92ed042a77d65..3309100529900 100644 --- a/RecoTracker/LSTCore/src/alpaka/Segment.h +++ b/RecoTracker/LSTCore/src/alpaka/Segment.h @@ -525,8 +525,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { } struct CreateSegments { - template - ALPAKA_FN_ACC void operator()(TAcc const& acc, + ALPAKA_FN_ACC void operator()(Acc3D const& acc, ModulesConst modules, MiniDoubletsConst mds, MiniDoubletsOccupancyConst mdsOccupancy, @@ -620,11 +619,9 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { }; struct CreateSegmentArrayRanges { - template ALPAKA_FN_ACC void operator()( - TAcc const& acc, ModulesConst modules, ObjectRanges ranges, MiniDoubletsConst mds, const float ptCut) const { + Acc1D const& acc, ModulesConst modules, ObjectRanges ranges, MiniDoubletsConst mds, const float ptCut) const { // implementation is 1D with a single block - static_assert(std::is_same_v, "Should be Acc1D"); ALPAKA_ASSERT_ACC((alpaka::getWorkDiv(acc)[0] == 1)); // Initialize variables in shared memory and set to 0 @@ -693,13 +690,11 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { }; struct AddSegmentRangesToEventExplicit { - template - ALPAKA_FN_ACC void operator()(TAcc const& acc, + ALPAKA_FN_ACC void operator()(Acc1D const& acc, ModulesConst modules, SegmentsOccupancyConst segmentsOccupancy, ObjectRanges ranges) const { // implementation is 1D with a single block - static_assert(std::is_same_v, "Should be Acc1D"); ALPAKA_ASSERT_ACC((alpaka::getWorkDiv(acc)[0] == 1)); for (uint16_t i : cms::alpakatools::uniform_elements(acc, modules.nLowerModules())) { @@ -715,8 +710,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { }; struct AddPixelSegmentToEventKernel { - template - ALPAKA_FN_ACC void operator()(TAcc const& acc, + ALPAKA_FN_ACC void operator()(Acc1D const& acc, ModulesConst modules, ObjectRangesConst ranges, HitsConst hits, diff --git a/RecoTracker/LSTCore/src/alpaka/TrackCandidate.h b/RecoTracker/LSTCore/src/alpaka/TrackCandidate.h index 50589910f46e9..7f016af17199c 100644 --- a/RecoTracker/LSTCore/src/alpaka/TrackCandidate.h +++ b/RecoTracker/LSTCore/src/alpaka/TrackCandidate.h @@ -108,8 +108,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { } struct CrossCleanpT3 { - template - ALPAKA_FN_ACC void operator()(TAcc const& acc, + ALPAKA_FN_ACC void operator()(Acc2D const& acc, ModulesConst modules, ObjectRangesConst ranges, PixelTriplets pixelTriplets, @@ -144,8 +143,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { }; struct CrossCleanT5 { - template - ALPAKA_FN_ACC void operator()(TAcc const& acc, + ALPAKA_FN_ACC void operator()(Acc3D const& acc, ModulesConst modules, Quintuplets quintuplets, QuintupletsOccupancyConst quintupletsOccupancy, @@ -193,8 +191,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { }; struct CrossCleanpLS { - template - ALPAKA_FN_ACC void operator()(TAcc const& acc, + ALPAKA_FN_ACC void operator()(Acc2D const& acc, ModulesConst modules, ObjectRangesConst ranges, PixelTripletsConst pixelTriplets, @@ -268,15 +265,13 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { }; struct AddpT3asTrackCandidates { - template - ALPAKA_FN_ACC void operator()(TAcc const& acc, + ALPAKA_FN_ACC void operator()(Acc1D const& acc, uint16_t nLowerModules, PixelTripletsConst pixelTriplets, TrackCandidates cands, SegmentsPixelConst segmentsPixel, ObjectRangesConst ranges) const { // implementation is 1D with a single block - static_assert(std::is_same_v, "Should be Acc1D"); ALPAKA_ASSERT_ACC((alpaka::getWorkDiv(acc)[0] == 1)); unsigned int nPixelTriplets = pixelTriplets.nPixelTriplets(); @@ -320,8 +315,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { }; struct AddT5asTrackCandidate { - template - ALPAKA_FN_ACC void operator()(TAcc const& acc, + ALPAKA_FN_ACC void operator()(Acc2D const& acc, uint16_t nLowerModules, QuintupletsConst quintuplets, QuintupletsOccupancyConst quintupletsOccupancy, @@ -371,8 +365,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { }; struct AddpLSasTrackCandidate { - template - ALPAKA_FN_ACC void operator()(TAcc const& acc, + ALPAKA_FN_ACC void operator()(Acc1D const& acc, uint16_t nLowerModules, TrackCandidates cands, SegmentsOccupancyConst segmentsOccupancy, @@ -408,15 +401,13 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { }; struct AddpT5asTrackCandidate { - template - ALPAKA_FN_ACC void operator()(TAcc const& acc, + ALPAKA_FN_ACC void operator()(Acc1D const& acc, uint16_t nLowerModules, PixelQuintupletsConst pixelQuintuplets, TrackCandidates cands, SegmentsPixelConst segmentsPixel, ObjectRangesConst ranges) const { // implementation is 1D with a single block - static_assert(std::is_same_v, "Should be Acc1D"); ALPAKA_ASSERT_ACC((alpaka::getWorkDiv(acc)[0] == 1)); int nPixelQuintuplets = pixelQuintuplets.nPixelQuintuplets(); diff --git a/RecoTracker/LSTCore/src/alpaka/Triplet.h b/RecoTracker/LSTCore/src/alpaka/Triplet.h index ec3e6935a85c5..e84fa06a2372c 100644 --- a/RecoTracker/LSTCore/src/alpaka/Triplet.h +++ b/RecoTracker/LSTCore/src/alpaka/Triplet.h @@ -734,8 +734,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { } struct CreateTriplets { - template - ALPAKA_FN_ACC void operator()(TAcc const& acc, + ALPAKA_FN_ACC void operator()(Acc3D const& acc, ModulesConst modules, MiniDoubletsConst mds, SegmentsConst segments, @@ -835,14 +834,12 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { }; struct CreateTripletArrayRanges { - template - ALPAKA_FN_ACC void operator()(TAcc const& acc, + ALPAKA_FN_ACC void operator()(Acc1D const& acc, ModulesConst modules, ObjectRanges ranges, SegmentsOccupancyConst segmentsOccupancy, const float ptCut) const { // implementation is 1D with a single block - static_assert(std::is_same_v, "Should be Acc1D"); ALPAKA_ASSERT_ACC((alpaka::getWorkDiv(acc)[0] == 1)); // Initialize variables in shared memory and set to 0 @@ -910,13 +907,11 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst { }; struct AddTripletRangesToEventExplicit { - template - ALPAKA_FN_ACC void operator()(TAcc const& acc, + ALPAKA_FN_ACC void operator()(Acc1D const& acc, ModulesConst modules, TripletsOccupancyConst tripletsOccupancy, ObjectRanges ranges) const { // implementation is 1D with a single block - static_assert(std::is_same_v, "Should be Acc1D"); ALPAKA_ASSERT_ACC((alpaka::getWorkDiv(acc)[0] == 1)); for (uint16_t i : cms::alpakatools::uniform_elements(acc, modules.nLowerModules())) {