Skip to content

Commit cdedfc6

Browse files
committed
Rename variables and adjust allocation syntax
Adjust formatting Rename data member and remove unnecessary include
1 parent 231b4f0 commit cdedfc6

File tree

3 files changed

+63
-62
lines changed

3 files changed

+63
-62
lines changed

RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFClusterSoAProducer.cc

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
2424
inputPFRecHitSoA_Token_{consumes(config.getParameter<edm::InputTag>("pfRecHits"))},
2525
outputPFClusterSoA_Token_{produces()},
2626
outputPFRHFractionSoA_Token_{produces()},
27-
num_rhf_{cms::alpakatools::make_host_buffer<uint32_t, Platform>()},
27+
numRHF_{cms::alpakatools::make_host_buffer<uint32_t, Platform>()},
2828
synchronise_(config.getParameter<bool>("synchronise")) {}
2929

3030
void acquire(device::Event const& event, device::EventSetup const& setup) override {
@@ -35,22 +35,22 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
3535
if (pfRecHits->metadata().size() != 0)
3636
nRH = pfRecHits->size();
3737

38-
pfClusteringVars_ = std::make_optional<reco::PFClusteringVarsDeviceCollection>(nRH, event.queue());
39-
pfClusteringEdgeVars_ = std::make_optional<reco::PFClusteringEdgeVarsDeviceCollection>(nRH * 8, event.queue());
40-
pfClusters_ = std::make_optional<reco::PFClusterDeviceCollection>(nRH, event.queue());
38+
pfClusteringVars_.emplace(nRH, event.queue());
39+
pfClusteringEdgeVars_.emplace(nRH * 8, event.queue());
40+
pfClusters_.emplace(nRH, event.queue());
4141

42-
*num_rhf_ = 0;
42+
*numRHF_ = 0;
4343

4444
if (nRH != 0) {
4545
PFClusterProducerKernel kernel(event.queue(), pfRecHits);
46-
kernel.step1(event.queue(),
47-
params,
48-
topology,
49-
*pfClusteringVars_,
50-
*pfClusteringEdgeVars_,
51-
pfRecHits,
52-
*pfClusters_,
53-
num_rhf_.data());
46+
kernel.seedTopoAndContract(event.queue(),
47+
params,
48+
topology,
49+
*pfClusteringVars_,
50+
*pfClusteringEdgeVars_,
51+
pfRecHits,
52+
*pfClusters_,
53+
numRHF_.data());
5454
}
5555
}
5656

@@ -59,29 +59,32 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
5959
const reco::PFRecHitHCALTopologyDeviceCollection& topology = setup.getData(topologyToken_);
6060
const reco::PFRecHitHostCollection& pfRecHits = event.get(inputPFRecHitSoA_Token_);
6161
int nRH = 0;
62+
63+
std::optional<reco::PFRecHitFractionDeviceCollection> pfrhFractions;
64+
6265
if (pfRecHits->metadata().size() != 0)
6366
nRH = pfRecHits->size();
6467

6568
if (nRH != 0) {
66-
pfrhFractions_ = std::make_optional<reco::PFRecHitFractionDeviceCollection>(*num_rhf_.data(), event.queue());
69+
pfrhFractions.emplace(*numRHF_.data(), event.queue());
6770
PFClusterProducerKernel kernel(event.queue(), pfRecHits);
68-
kernel.step2(event.queue(),
69-
params,
70-
topology,
71-
*pfClusteringVars_,
72-
*pfClusteringEdgeVars_,
73-
pfRecHits,
74-
*pfClusters_,
75-
*pfrhFractions_);
71+
kernel.cluster(event.queue(),
72+
params,
73+
topology,
74+
*pfClusteringVars_,
75+
*pfClusteringEdgeVars_,
76+
pfRecHits,
77+
*pfClusters_,
78+
*pfrhFractions);
7679
} else {
77-
pfrhFractions_ = std::make_optional<reco::PFRecHitFractionDeviceCollection>(0, event.queue());
80+
pfrhFractions.emplace(0, event.queue());
7881
}
7982

8083
if (synchronise_)
8184
alpaka::wait(event.queue());
8285

8386
event.emplace(outputPFClusterSoA_Token_, std::move(*pfClusters_));
84-
event.emplace(outputPFRHFractionSoA_Token_, std::move(*pfrhFractions_));
87+
event.emplace(outputPFRHFractionSoA_Token_, std::move(*pfrhFractions));
8588
}
8689

8790
static void fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
@@ -99,11 +102,10 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
99102
const edm::EDGetTokenT<reco::PFRecHitHostCollection> inputPFRecHitSoA_Token_;
100103
const device::EDPutToken<reco::PFClusterDeviceCollection> outputPFClusterSoA_Token_;
101104
const device::EDPutToken<reco::PFRecHitFractionDeviceCollection> outputPFRHFractionSoA_Token_;
102-
cms::alpakatools::host_buffer<uint32_t> num_rhf_;
105+
cms::alpakatools::host_buffer<uint32_t> numRHF_;
103106
std::optional<reco::PFClusteringVarsDeviceCollection> pfClusteringVars_;
104107
std::optional<reco::PFClusteringEdgeVarsDeviceCollection> pfClusteringEdgeVars_;
105108
std::optional<reco::PFClusterDeviceCollection> pfClusters_;
106-
std::optional<reco::PFRecHitFractionDeviceCollection> pfrhFractions_;
107109
const bool synchronise_;
108110
};
109111

RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFClusterSoAProducerKernel.dev.cc

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1199,7 +1199,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
11991199
reco::PFClusteringVarsDeviceCollection::View pfClusteringVars,
12001200
reco::PFClusterDeviceCollection::View clusterView,
12011201
uint32_t* __restrict__ nSeeds,
1202-
uint32_t* __restrict__ num_rhf_) const {
1202+
uint32_t* __restrict__ nRHF) const {
12031203
const int nRH = pfRecHits.size();
12041204
int& totalSeedOffset = alpaka::declareSharedVar<int, __COUNTER__>(acc);
12051205
int& totalSeedFracOffset = alpaka::declareSharedVar<int, __COUNTER__>(acc);
@@ -1302,7 +1302,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
13021302
pfClusteringVars.pcrhFracSize() = totalSeedFracOffset;
13031303
pfClusteringVars.nRHFracs() = totalSeedFracOffset;
13041304
clusterView.nRHFracs() = totalSeedFracOffset;
1305-
*num_rhf_ = totalSeedFracOffset;
1305+
*nRHF = totalSeedFracOffset;
13061306
clusterView.nSeeds() = *nSeeds;
13071307
clusterView.nTopos() = pfClusteringVars.nTopos();
13081308

@@ -1468,14 +1468,14 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
14681468
alpaka::memset(queue, nSeeds, 0x00); // Reset nSeeds
14691469
}
14701470

1471-
void PFClusterProducerKernel::step1(Queue& queue,
1472-
const reco::PFClusterParamsDeviceCollection& params,
1473-
const reco::PFRecHitHCALTopologyDeviceCollection& topology,
1474-
reco::PFClusteringVarsDeviceCollection& pfClusteringVars,
1475-
reco::PFClusteringEdgeVarsDeviceCollection& pfClusteringEdgeVars,
1476-
const reco::PFRecHitHostCollection& pfRecHits,
1477-
reco::PFClusterDeviceCollection& pfClusters,
1478-
uint32_t* __restrict__ num_rhf_) {
1471+
void PFClusterProducerKernel::seedTopoAndContract(Queue& queue,
1472+
const reco::PFClusterParamsDeviceCollection& params,
1473+
const reco::PFRecHitHCALTopologyDeviceCollection& topology,
1474+
reco::PFClusteringVarsDeviceCollection& pfClusteringVars,
1475+
reco::PFClusteringEdgeVarsDeviceCollection& pfClusteringEdgeVars,
1476+
const reco::PFRecHitHostCollection& pfRecHits,
1477+
reco::PFClusterDeviceCollection& pfClusters,
1478+
uint32_t* __restrict__ nRHF) {
14791479
const int nRH = pfRecHits->size();
14801480
const int threadsPerBlock = 256;
14811481
const int blocks = divide_up_by(nRH, threadsPerBlock);
@@ -1525,17 +1525,17 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
15251525
pfClusteringVars.view(),
15261526
pfClusters.view(),
15271527
nSeeds.data(),
1528-
num_rhf_);
1528+
nRHF);
15291529
}
15301530

1531-
void PFClusterProducerKernel::step2(Queue& queue,
1532-
const reco::PFClusterParamsDeviceCollection& params,
1533-
const reco::PFRecHitHCALTopologyDeviceCollection& topology,
1534-
reco::PFClusteringVarsDeviceCollection& pfClusteringVars,
1535-
reco::PFClusteringEdgeVarsDeviceCollection& pfClusteringEdgeVars,
1536-
const reco::PFRecHitHostCollection& pfRecHits,
1537-
reco::PFClusterDeviceCollection& pfClusters,
1538-
reco::PFRecHitFractionDeviceCollection& pfrhFractions) {
1531+
void PFClusterProducerKernel::cluster(Queue& queue,
1532+
const reco::PFClusterParamsDeviceCollection& params,
1533+
const reco::PFRecHitHCALTopologyDeviceCollection& topology,
1534+
reco::PFClusteringVarsDeviceCollection& pfClusteringVars,
1535+
reco::PFClusteringEdgeVarsDeviceCollection& pfClusteringEdgeVars,
1536+
const reco::PFRecHitHostCollection& pfRecHits,
1537+
reco::PFClusterDeviceCollection& pfClusters,
1538+
reco::PFRecHitFractionDeviceCollection& pfrhFractions) {
15391539
const int nRH = pfRecHits->size();
15401540

15411541
// fillRhfIndex

RecoParticleFlow/PFClusterProducer/plugins/alpaka/PFClusterSoAProducerKernel.h

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
#include "DataFormats/ParticleFlowReco/interface/alpaka/PFRecHitDeviceCollection.h"
55
#include "DataFormats/ParticleFlowReco/interface/PFRecHitHostCollection.h"
66
#include "DataFormats/ParticleFlowReco/interface/alpaka/PFClusterDeviceCollection.h"
7-
#include "DataFormats/ParticleFlowReco/interface/PFClusterHostCollection.h"
87
#include "DataFormats/ParticleFlowReco/interface/alpaka/PFRecHitFractionDeviceCollection.h"
98
#include "RecoParticleFlow/PFClusterProducer/interface/alpaka/PFClusterParamsDeviceCollection.h"
109
#include "RecoParticleFlow/PFClusterProducer/interface/alpaka/PFClusteringVarsDeviceCollection.h"
@@ -40,23 +39,23 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
4039
public:
4140
PFClusterProducerKernel(Queue& queue, const reco::PFRecHitHostCollection& pfRecHits);
4241

43-
void step1(Queue& queue,
44-
const reco::PFClusterParamsDeviceCollection& params,
45-
const reco::PFRecHitHCALTopologyDeviceCollection& topology,
46-
reco::PFClusteringVarsDeviceCollection& pfClusteringVars,
47-
reco::PFClusteringEdgeVarsDeviceCollection& pfClusteringEdgeVars,
48-
const reco::PFRecHitHostCollection& pfRecHits,
49-
reco::PFClusterDeviceCollection& pfClusters,
50-
uint32_t* __restrict__ num_rhf_);
42+
void seedTopoAndContract(Queue& queue,
43+
const reco::PFClusterParamsDeviceCollection& params,
44+
const reco::PFRecHitHCALTopologyDeviceCollection& topology,
45+
reco::PFClusteringVarsDeviceCollection& pfClusteringVars,
46+
reco::PFClusteringEdgeVarsDeviceCollection& pfClusteringEdgeVars,
47+
const reco::PFRecHitHostCollection& pfRecHits,
48+
reco::PFClusterDeviceCollection& pfClusters,
49+
uint32_t* __restrict__ nRHF);
5150

52-
void step2(Queue& queue,
53-
const reco::PFClusterParamsDeviceCollection& params,
54-
const reco::PFRecHitHCALTopologyDeviceCollection& topology,
55-
reco::PFClusteringVarsDeviceCollection& pfClusteringVars,
56-
reco::PFClusteringEdgeVarsDeviceCollection& pfClusteringEdgeVars,
57-
const reco::PFRecHitHostCollection& pfRecHits,
58-
reco::PFClusterDeviceCollection& pfClusters,
59-
reco::PFRecHitFractionDeviceCollection& pfrhFractions);
51+
void cluster(Queue& queue,
52+
const reco::PFClusterParamsDeviceCollection& params,
53+
const reco::PFRecHitHCALTopologyDeviceCollection& topology,
54+
reco::PFClusteringVarsDeviceCollection& pfClusteringVars,
55+
reco::PFClusteringEdgeVarsDeviceCollection& pfClusteringEdgeVars,
56+
const reco::PFRecHitHostCollection& pfRecHits,
57+
reco::PFClusterDeviceCollection& pfClusters,
58+
reco::PFRecHitFractionDeviceCollection& pfrhFractions);
6059

6160
private:
6261
cms::alpakatools::device_buffer<Device, uint32_t> nSeeds;

0 commit comments

Comments
 (0)