11#include < alpaka/alpaka.hpp>
22
3+ #include " DataFormats/ParticleFlowReco/interface/PFLayer.h"
34#include " FWCore/Utilities/interface/bit_cast.h"
5+ #include " HeterogeneousCore/AlpakaInterface/interface/atomicMaxF.h"
46#include " HeterogeneousCore/AlpakaInterface/interface/config.h"
57#include " HeterogeneousCore/AlpakaInterface/interface/workdivision.h"
6- #include " HeterogeneousCore/AlpakaInterface/interface/atomicMaxF.h"
7-
8- #include " DataFormats/ParticleFlowReco/interface/PFLayer.h"
9- #include " RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFClusterSoAProducerKernel.h"
108#include " RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFClusterECLCC.h"
9+ #include " RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFClusterSoAProducerKernel.h"
1110
1211namespace ALPAKA_ACCELERATOR_NAMESPACE {
1312
@@ -1088,7 +1087,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
10881087 reco::PFClusteringVarsDeviceCollection::View pfClusteringVars,
10891088 const reco::PFClusterParamsDeviceCollection::ConstView pfClusParams,
10901089 const reco::PFRecHitHCALTopologyDeviceCollection::ConstView topology,
1091- const reco::PFRecHitHostCollection ::ConstView pfRecHits,
1090+ const reco::PFRecHitDeviceCollection ::ConstView pfRecHits,
10921091 reco::PFClusterDeviceCollection::View clusterView,
10931092 uint32_t * __restrict__ nSeeds) const {
10941093 const int nRH = pfRecHits.size ();
@@ -1165,7 +1164,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
11651164 public:
11661165 template <typename TAcc, typename = std::enable_if_t <alpaka::isAccelerator<TAcc>>>
11671166 ALPAKA_FN_ACC void operator ()(const TAcc& acc,
1168- const reco::PFRecHitHostCollection ::ConstView pfRecHits,
1167+ const reco::PFRecHitDeviceCollection ::ConstView pfRecHits,
11691168 reco::PFClusteringVarsDeviceCollection::View pfClusteringVars,
11701169 reco::PFClusteringEdgeVarsDeviceCollection::View pfClusteringEdgeVars,
11711170 uint32_t * __restrict__ nSeeds) const {
@@ -1195,7 +1194,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
11951194 public:
11961195 template <typename TAcc, typename = std::enable_if_t <alpaka::isAccelerator<TAcc>>>
11971196 ALPAKA_FN_ACC void operator ()(const TAcc& acc,
1198- const reco::PFRecHitHostCollection ::ConstView pfRecHits,
1197+ const reco::PFRecHitDeviceCollection ::ConstView pfRecHits,
11991198 reco::PFClusteringVarsDeviceCollection::View pfClusteringVars,
12001199 reco::PFClusterDeviceCollection::View clusterView,
12011200 uint32_t * __restrict__ nSeeds,
@@ -1319,7 +1318,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
13191318 public:
13201319 template <typename TAcc, typename = std::enable_if_t <alpaka::isAccelerator<TAcc>>>
13211320 ALPAKA_FN_ACC void operator ()(const TAcc& acc,
1322- const reco::PFRecHitHostCollection ::ConstView pfRecHits,
1321+ const reco::PFRecHitDeviceCollection ::ConstView pfRecHits,
13231322 reco::PFClusteringVarsDeviceCollection::View pfClusteringVars,
13241323 reco::PFRecHitFractionDeviceCollection::View fracView) const {
13251324 const int nRH = pfRecHits.size ();
@@ -1350,7 +1349,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
13501349 public:
13511350 template <bool debug = false , typename TAcc, typename = std::enable_if<!std::is_same_v<Device, alpaka::DevCpu>>>
13521351 ALPAKA_FN_ACC void operator ()(const TAcc& acc,
1353- const reco::PFRecHitHostCollection ::ConstView pfRecHits,
1352+ const reco::PFRecHitDeviceCollection ::ConstView pfRecHits,
13541353 const reco::PFClusterParamsDeviceCollection::ConstView pfClusParams,
13551354 const reco::PFRecHitHCALTopologyDeviceCollection::ConstView topology,
13561355 reco::PFClusteringVarsDeviceCollection::View pfClusteringVars,
@@ -1412,7 +1411,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
14121411 public:
14131412 template <typename TAcc, typename = std::enable_if_t <alpaka::isAccelerator<TAcc>>>
14141413 ALPAKA_FN_ACC void operator ()(const TAcc& acc,
1415- const reco::PFRecHitHostCollection ::ConstView pfRecHits,
1414+ const reco::PFRecHitDeviceCollection ::ConstView pfRecHits,
14161415 const reco::PFClusterParamsDeviceCollection::ConstView pfClusParams,
14171416 const reco::PFRecHitHCALTopologyDeviceCollection::ConstView topology,
14181417 reco::PFClusteringVarsDeviceCollection::View pfClusteringVars,
@@ -1454,7 +1453,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
14541453 }
14551454 };
14561455
1457- PFClusterProducerKernel::PFClusterProducerKernel (Queue& queue, const reco::PFRecHitHostCollection& pfRecHits )
1456+ PFClusterProducerKernel::PFClusterProducerKernel (Queue& queue)
14581457 : nSeeds(cms::alpakatools::make_device_buffer<uint32_t >(queue)),
14591458 globalClusterPos (
14601459 cms::alpakatools::make_device_buffer<Position4[]>(queue, blocksForExoticClusters * maxTopoInput)),
@@ -1473,10 +1472,10 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
14731472 const reco::PFRecHitHCALTopologyDeviceCollection& topology,
14741473 reco::PFClusteringVarsDeviceCollection& pfClusteringVars,
14751474 reco::PFClusteringEdgeVarsDeviceCollection& pfClusteringEdgeVars,
1476- const reco::PFRecHitHostCollection& pfRecHits,
1475+ const reco::PFRecHitDeviceCollection& pfRecHits,
1476+ int nRH,
14771477 reco::PFClusterDeviceCollection& pfClusters,
14781478 uint32_t * __restrict__ nRHF) {
1479- const int nRH = pfRecHits->size ();
14801479 const int threadsPerBlock = 256 ;
14811480 const int blocks = divide_up_by (nRH, threadsPerBlock);
14821481
@@ -1533,11 +1532,10 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
15331532 const reco::PFRecHitHCALTopologyDeviceCollection& topology,
15341533 reco::PFClusteringVarsDeviceCollection& pfClusteringVars,
15351534 reco::PFClusteringEdgeVarsDeviceCollection& pfClusteringEdgeVars,
1536- const reco::PFRecHitHostCollection& pfRecHits,
1535+ const reco::PFRecHitDeviceCollection& pfRecHits,
1536+ int nRH,
15371537 reco::PFClusterDeviceCollection& pfClusters,
15381538 reco::PFRecHitFractionDeviceCollection& pfrhFractions) {
1539- const int nRH = pfRecHits->size ();
1540-
15411539 // fillRhfIndex
15421540 alpaka::exec<Acc2D>(queue,
15431541 make_workdiv<Acc2D>({divide_up_by (nRH, 32 ), divide_up_by (nRH, 32 )}, {32 , 32 }),
0 commit comments