Skip to content

Commit 7929700

Browse files
committed
Added concrete dimensions to kernels
1 parent 8e46424 commit 7929700

File tree

9 files changed

+29
-68
lines changed

9 files changed

+29
-68
lines changed

RecoTracker/LSTCore/src/alpaka/Hit.h

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
5959
}
6060

6161
struct ModuleRangesKernel {
62-
template <typename TAcc>
63-
ALPAKA_FN_ACC void operator()(TAcc const& acc,
62+
ALPAKA_FN_ACC void operator()(Acc1D const& acc,
6463
ModulesConst modules,
6564
HitsRanges hitsRanges,
6665
int nLowerModules) const {
@@ -79,8 +78,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
7978
};
8079

8180
struct HitLoopKernel {
82-
template <typename TAcc>
83-
ALPAKA_FN_ACC void operator()(TAcc const& acc,
81+
ALPAKA_FN_ACC void operator()(Acc1D const& acc,
8482
uint16_t Endcap, // Integer corresponding to endcap in module subdets
8583
uint16_t TwoS, // Integer corresponding to TwoS in moduleType
8684
unsigned int nModules, // Number of modules

RecoTracker/LSTCore/src/alpaka/Kernels.h

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
141141
}
142142

143143
struct RemoveDupQuintupletsAfterBuild {
144-
template <typename TAcc>
145-
ALPAKA_FN_ACC void operator()(TAcc const& acc,
144+
ALPAKA_FN_ACC void operator()(Acc3D const& acc,
146145
ModulesConst modules,
147146
Quintuplets quintuplets,
148147
QuintupletsOccupancyConst quintupletsOccupancy,
@@ -188,8 +187,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
188187
};
189188

190189
struct RemoveDupQuintupletsBeforeTC {
191-
template <typename TAcc>
192-
ALPAKA_FN_ACC void operator()(TAcc const& acc,
190+
ALPAKA_FN_ACC void operator()(Acc2D const& acc,
193191
Quintuplets quintuplets,
194192
QuintupletsOccupancyConst quintupletsOccupancy,
195193
ObjectRangesConst ranges) const {
@@ -267,8 +265,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
267265
};
268266

269267
struct RemoveDupPixelTripletsFromMap {
270-
template <typename TAcc>
271-
ALPAKA_FN_ACC void operator()(TAcc const& acc, PixelTriplets pixelTriplets) const {
268+
ALPAKA_FN_ACC void operator()(Acc2D const& acc, PixelTriplets pixelTriplets) const {
272269
for (unsigned int ix : cms::alpakatools::uniform_elements_y(acc, pixelTriplets.nPixelTriplets())) {
273270
for (unsigned int jx : cms::alpakatools::uniform_elements_x(acc, pixelTriplets.nPixelTriplets())) {
274271
if (ix == jx)
@@ -298,8 +295,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
298295
};
299296

300297
struct RemoveDupPixelQuintupletsFromMap {
301-
template <typename TAcc>
302-
ALPAKA_FN_ACC void operator()(TAcc const& acc, PixelQuintuplets pixelQuintuplets) const {
298+
ALPAKA_FN_ACC void operator()(Acc2D const& acc, PixelQuintuplets pixelQuintuplets) const {
303299
unsigned int nPixelQuintuplets = pixelQuintuplets.nPixelQuintuplets();
304300
for (unsigned int ix : cms::alpakatools::uniform_elements_y(acc, nPixelQuintuplets)) {
305301
float score1 = __H2F(pixelQuintuplets.score()[ix]);
@@ -322,8 +318,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
322318
};
323319

324320
struct CheckHitspLS {
325-
template <typename TAcc>
326-
ALPAKA_FN_ACC void operator()(TAcc const& acc,
321+
ALPAKA_FN_ACC void operator()(Acc2D const& acc,
327322
ModulesConst modules,
328323
SegmentsOccupancyConst segmentsOccupancy,
329324
SegmentsPixel segmentsPixel,

RecoTracker/LSTCore/src/alpaka/MiniDoublet.h

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -675,8 +675,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
675675
}
676676

677677
struct CreateMiniDoublets {
678-
template <typename TAcc>
679-
ALPAKA_FN_ACC void operator()(TAcc const& acc,
678+
ALPAKA_FN_ACC void operator()(Acc2D const& acc,
680679
ModulesConst modules,
681680
HitsConst hits,
682681
HitsRangesConst hitsRanges,
@@ -802,10 +801,8 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
802801
}
803802

804803
struct CreateMDArrayRangesGPU {
805-
template <typename TAcc>
806-
ALPAKA_FN_ACC void operator()(TAcc const& acc, ModulesConst modules, ObjectRanges ranges, const float ptCut) const {
804+
ALPAKA_FN_ACC void operator()(Acc1D const& acc, ModulesConst modules, ObjectRanges ranges, const float ptCut) const {
807805
// implementation is 1D with a single block
808-
static_assert(std::is_same_v<TAcc, ALPAKA_ACCELERATOR_NAMESPACE::Acc1D>, "Should be Acc1D");
809806
ALPAKA_ASSERT_ACC((alpaka::getWorkDiv<alpaka::Grid, alpaka::Blocks>(acc)[0] == 1));
810807

811808
// Declare variables in shared memory and set to 0
@@ -869,14 +866,12 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
869866
};
870867

871868
struct AddMiniDoubletRangesToEventExplicit {
872-
template <typename TAcc>
873-
ALPAKA_FN_ACC void operator()(TAcc const& acc,
869+
ALPAKA_FN_ACC void operator()(Acc1D const& acc,
874870
ModulesConst modules,
875871
MiniDoubletsOccupancy mdsOccupancy,
876872
ObjectRanges ranges,
877873
HitsRangesConst hitsRanges) const {
878874
// implementation is 1D with a single block
879-
static_assert(std::is_same_v<TAcc, ALPAKA_ACCELERATOR_NAMESPACE::Acc1D>, "Should be Acc1D");
880875
ALPAKA_ASSERT_ACC((alpaka::getWorkDiv<alpaka::Grid, alpaka::Blocks>(acc)[0] == 1));
881876

882877
for (uint16_t i : cms::alpakatools::uniform_elements(acc, modules.nLowerModules())) {

RecoTracker/LSTCore/src/alpaka/PixelQuintuplet.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -634,8 +634,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
634634
}
635635

636636
struct CreatePixelQuintupletsFromMap {
637-
template <typename TAcc>
638-
ALPAKA_FN_ACC void operator()(TAcc const& acc,
637+
ALPAKA_FN_ACC void operator()(Acc3D const& acc,
639638
ModulesConst modules,
640639
ModulesPixelConst modulesPixel,
641640
MiniDoubletsConst mds,

RecoTracker/LSTCore/src/alpaka/PixelTriplet.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -786,8 +786,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
786786
}
787787

788788
struct CreatePixelTripletsFromMap {
789-
template <typename TAcc>
790-
ALPAKA_FN_ACC void operator()(TAcc const& acc,
789+
ALPAKA_FN_ACC void operator()(Acc3D const& acc,
791790
ModulesConst modules,
792791
ModulesPixelConst modulesPixel,
793792
ObjectRangesConst ranges,

RecoTracker/LSTCore/src/alpaka/Quintuplet.h

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1642,8 +1642,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
16421642
}
16431643

16441644
struct CreateQuintuplets {
1645-
template <typename TAcc>
1646-
ALPAKA_FN_ACC void operator()(TAcc const& acc,
1645+
ALPAKA_FN_ACC void operator()(Acc3D const& acc,
16471646
ModulesConst modules,
16481647
MiniDoubletsConst mds,
16491648
SegmentsConst segments,
@@ -1773,14 +1772,12 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
17731772
};
17741773

17751774
struct CreateEligibleModulesListForQuintuplets {
1776-
template <typename TAcc>
1777-
ALPAKA_FN_ACC void operator()(TAcc const& acc,
1775+
ALPAKA_FN_ACC void operator()(Acc1D const& acc,
17781776
ModulesConst modules,
17791777
TripletsOccupancyConst tripletsOccupancy,
17801778
ObjectRanges ranges,
17811779
const float ptCut) const {
17821780
// implementation is 1D with a single block
1783-
static_assert(std::is_same_v<TAcc, ALPAKA_ACCELERATOR_NAMESPACE::Acc1D>, "Should be Acc1D");
17841781
ALPAKA_ASSERT_ACC((alpaka::getWorkDiv<alpaka::Grid, alpaka::Blocks>(acc)[0] == 1));
17851782

17861783
// Initialize variables in shared memory and set to 0
@@ -1857,13 +1854,11 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
18571854
};
18581855

18591856
struct AddQuintupletRangesToEventExplicit {
1860-
template <typename TAcc>
1861-
ALPAKA_FN_ACC void operator()(TAcc const& acc,
1857+
ALPAKA_FN_ACC void operator()(Acc1D const& acc,
18621858
ModulesConst modules,
18631859
QuintupletsOccupancyConst quintupletsOccupancy,
18641860
ObjectRanges ranges) const {
18651861
// implementation is 1D with a single block
1866-
static_assert(std::is_same_v<TAcc, ALPAKA_ACCELERATOR_NAMESPACE::Acc1D>, "Should be Acc1D");
18671862
ALPAKA_ASSERT_ACC((alpaka::getWorkDiv<alpaka::Grid, alpaka::Blocks>(acc)[0] == 1));
18681863

18691864
for (uint16_t i : cms::alpakatools::uniform_elements(acc, modules.nLowerModules())) {

RecoTracker/LSTCore/src/alpaka/Segment.h

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -525,8 +525,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
525525
}
526526

527527
struct CreateSegments {
528-
template <typename TAcc>
529-
ALPAKA_FN_ACC void operator()(TAcc const& acc,
528+
ALPAKA_FN_ACC void operator()(Acc3D const& acc,
530529
ModulesConst modules,
531530
MiniDoubletsConst mds,
532531
MiniDoubletsOccupancyConst mdsOccupancy,
@@ -620,11 +619,9 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
620619
};
621620

622621
struct CreateSegmentArrayRanges {
623-
template <typename TAcc>
624622
ALPAKA_FN_ACC void operator()(
625-
TAcc const& acc, ModulesConst modules, ObjectRanges ranges, MiniDoubletsConst mds, const float ptCut) const {
623+
Acc1D const& acc, ModulesConst modules, ObjectRanges ranges, MiniDoubletsConst mds, const float ptCut) const {
626624
// implementation is 1D with a single block
627-
static_assert(std::is_same_v<TAcc, ALPAKA_ACCELERATOR_NAMESPACE::Acc1D>, "Should be Acc1D");
628625
ALPAKA_ASSERT_ACC((alpaka::getWorkDiv<alpaka::Grid, alpaka::Blocks>(acc)[0] == 1));
629626

630627
// Initialize variables in shared memory and set to 0
@@ -693,13 +690,11 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
693690
};
694691

695692
struct AddSegmentRangesToEventExplicit {
696-
template <typename TAcc>
697-
ALPAKA_FN_ACC void operator()(TAcc const& acc,
693+
ALPAKA_FN_ACC void operator()(Acc1D const& acc,
698694
ModulesConst modules,
699695
SegmentsOccupancyConst segmentsOccupancy,
700696
ObjectRanges ranges) const {
701697
// implementation is 1D with a single block
702-
static_assert(std::is_same_v<TAcc, ALPAKA_ACCELERATOR_NAMESPACE::Acc1D>, "Should be Acc1D");
703698
ALPAKA_ASSERT_ACC((alpaka::getWorkDiv<alpaka::Grid, alpaka::Blocks>(acc)[0] == 1));
704699

705700
for (uint16_t i : cms::alpakatools::uniform_elements(acc, modules.nLowerModules())) {
@@ -715,8 +710,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
715710
};
716711

717712
struct AddPixelSegmentToEventKernel {
718-
template <typename TAcc>
719-
ALPAKA_FN_ACC void operator()(TAcc const& acc,
713+
ALPAKA_FN_ACC void operator()(Acc1D const& acc,
720714
ModulesConst modules,
721715
ObjectRangesConst ranges,
722716
HitsConst hits,

RecoTracker/LSTCore/src/alpaka/TrackCandidate.h

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -108,8 +108,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
108108
}
109109

110110
struct CrossCleanpT3 {
111-
template <typename TAcc>
112-
ALPAKA_FN_ACC void operator()(TAcc const& acc,
111+
ALPAKA_FN_ACC void operator()(Acc2D const& acc,
113112
ModulesConst modules,
114113
ObjectRangesConst ranges,
115114
PixelTriplets pixelTriplets,
@@ -144,8 +143,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
144143
};
145144

146145
struct CrossCleanT5 {
147-
template <typename TAcc>
148-
ALPAKA_FN_ACC void operator()(TAcc const& acc,
146+
ALPAKA_FN_ACC void operator()(Acc3D const& acc,
149147
ModulesConst modules,
150148
Quintuplets quintuplets,
151149
QuintupletsOccupancyConst quintupletsOccupancy,
@@ -193,8 +191,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
193191
};
194192

195193
struct CrossCleanpLS {
196-
template <typename TAcc>
197-
ALPAKA_FN_ACC void operator()(TAcc const& acc,
194+
ALPAKA_FN_ACC void operator()(Acc2D const& acc,
198195
ModulesConst modules,
199196
ObjectRangesConst ranges,
200197
PixelTripletsConst pixelTriplets,
@@ -268,15 +265,13 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
268265
};
269266

270267
struct AddpT3asTrackCandidates {
271-
template <typename TAcc>
272-
ALPAKA_FN_ACC void operator()(TAcc const& acc,
268+
ALPAKA_FN_ACC void operator()(Acc1D const& acc,
273269
uint16_t nLowerModules,
274270
PixelTripletsConst pixelTriplets,
275271
TrackCandidates cands,
276272
SegmentsPixelConst segmentsPixel,
277273
ObjectRangesConst ranges) const {
278274
// implementation is 1D with a single block
279-
static_assert(std::is_same_v<TAcc, ALPAKA_ACCELERATOR_NAMESPACE::Acc1D>, "Should be Acc1D");
280275
ALPAKA_ASSERT_ACC((alpaka::getWorkDiv<alpaka::Grid, alpaka::Blocks>(acc)[0] == 1));
281276

282277
unsigned int nPixelTriplets = pixelTriplets.nPixelTriplets();
@@ -320,8 +315,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
320315
};
321316

322317
struct AddT5asTrackCandidate {
323-
template <typename TAcc>
324-
ALPAKA_FN_ACC void operator()(TAcc const& acc,
318+
ALPAKA_FN_ACC void operator()(Acc2D const& acc,
325319
uint16_t nLowerModules,
326320
QuintupletsConst quintuplets,
327321
QuintupletsOccupancyConst quintupletsOccupancy,
@@ -371,8 +365,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
371365
};
372366

373367
struct AddpLSasTrackCandidate {
374-
template <typename TAcc>
375-
ALPAKA_FN_ACC void operator()(TAcc const& acc,
368+
ALPAKA_FN_ACC void operator()(Acc1D const& acc,
376369
uint16_t nLowerModules,
377370
TrackCandidates cands,
378371
SegmentsOccupancyConst segmentsOccupancy,
@@ -408,15 +401,13 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
408401
};
409402

410403
struct AddpT5asTrackCandidate {
411-
template <typename TAcc>
412-
ALPAKA_FN_ACC void operator()(TAcc const& acc,
404+
ALPAKA_FN_ACC void operator()(Acc1D const& acc,
413405
uint16_t nLowerModules,
414406
PixelQuintupletsConst pixelQuintuplets,
415407
TrackCandidates cands,
416408
SegmentsPixelConst segmentsPixel,
417409
ObjectRangesConst ranges) const {
418410
// implementation is 1D with a single block
419-
static_assert(std::is_same_v<TAcc, ALPAKA_ACCELERATOR_NAMESPACE::Acc1D>, "Should be Acc1D");
420411
ALPAKA_ASSERT_ACC((alpaka::getWorkDiv<alpaka::Grid, alpaka::Blocks>(acc)[0] == 1));
421412

422413
int nPixelQuintuplets = pixelQuintuplets.nPixelQuintuplets();

RecoTracker/LSTCore/src/alpaka/Triplet.h

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -734,8 +734,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
734734
}
735735

736736
struct CreateTriplets {
737-
template <typename TAcc>
738-
ALPAKA_FN_ACC void operator()(TAcc const& acc,
737+
ALPAKA_FN_ACC void operator()(Acc3D const& acc,
739738
ModulesConst modules,
740739
MiniDoubletsConst mds,
741740
SegmentsConst segments,
@@ -835,14 +834,12 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
835834
};
836835

837836
struct CreateTripletArrayRanges {
838-
template <typename TAcc>
839-
ALPAKA_FN_ACC void operator()(TAcc const& acc,
837+
ALPAKA_FN_ACC void operator()(Acc1D const& acc,
840838
ModulesConst modules,
841839
ObjectRanges ranges,
842840
SegmentsOccupancyConst segmentsOccupancy,
843841
const float ptCut) const {
844842
// implementation is 1D with a single block
845-
static_assert(std::is_same_v<TAcc, ALPAKA_ACCELERATOR_NAMESPACE::Acc1D>, "Should be Acc1D");
846843
ALPAKA_ASSERT_ACC((alpaka::getWorkDiv<alpaka::Grid, alpaka::Blocks>(acc)[0] == 1));
847844

848845
// Initialize variables in shared memory and set to 0
@@ -910,13 +907,11 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE::lst {
910907
};
911908

912909
struct AddTripletRangesToEventExplicit {
913-
template <typename TAcc>
914-
ALPAKA_FN_ACC void operator()(TAcc const& acc,
910+
ALPAKA_FN_ACC void operator()(Acc1D const& acc,
915911
ModulesConst modules,
916912
TripletsOccupancyConst tripletsOccupancy,
917913
ObjectRanges ranges) const {
918914
// implementation is 1D with a single block
919-
static_assert(std::is_same_v<TAcc, ALPAKA_ACCELERATOR_NAMESPACE::Acc1D>, "Should be Acc1D");
920915
ALPAKA_ASSERT_ACC((alpaka::getWorkDiv<alpaka::Grid, alpaka::Blocks>(acc)[0] == 1));
921916

922917
for (uint16_t i : cms::alpakatools::uniform_elements(acc, modules.nLowerModules())) {

0 commit comments

Comments
 (0)