Skip to content

Commit b719a9a

Browse files
committed
Make HcalDigisSoAProducer to rely on implicit host-to-device copy
1 parent 5e7b948 commit b719a9a

File tree

1 file changed

+6
-22
lines changed

1 file changed

+6
-22
lines changed

EventFilter/HcalRawToDigi/plugins/alpaka/HcalDigisSoAProducer.cc

Lines changed: 6 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
#include "DataFormats/HcalDigi/interface/HcalDigiCollections.h"
2-
#include "DataFormats/HcalDigi/interface/HcalDigiCollections.h"
32
#include "DataFormats/HcalDigi/interface/HcalDigiHostCollection.h"
43
#include "DataFormats/HcalDigi/interface/alpaka/HcalDigiDeviceCollection.h"
54

@@ -35,13 +34,10 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
3534
using HostCollectionPhase1 = hcal::Phase1DigiHostCollection;
3635
using HostCollectionPhase0 = hcal::Phase0DigiHostCollection;
3736

38-
using DeviceCollectionPhase1 = hcal::Phase1DigiDeviceCollection;
39-
using DeviceCollectionPhase0 = hcal::Phase0DigiDeviceCollection;
40-
4137
// output product tokens
42-
device::EDPutToken<DeviceCollectionPhase1> digisF01HEToken_;
43-
device::EDPutToken<DeviceCollectionPhase0> digisF5HBToken_;
44-
device::EDPutToken<DeviceCollectionPhase1> digisF3HBToken_;
38+
edm::EDPutTokenT<HostCollectionPhase1> digisF01HEToken_;
39+
edm::EDPutTokenT<HostCollectionPhase0> digisF5HBToken_;
40+
edm::EDPutTokenT<HostCollectionPhase1> digisF3HBToken_;
4541

4642
struct ConfigParameters {
4743
uint32_t maxChannelsF01HE, maxChannelsF5HB, maxChannelsF3HB;
@@ -87,9 +83,6 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
8783
// stack host memory in the queue
8884
HostCollectionPhase0 hf5_(size, event.queue());
8985

90-
// device product
91-
DeviceCollectionPhase0 df5_(size, event.queue());
92-
9386
// set SoA_Scalar;
9487
hf5_.view().stride() = stride;
9588
hf5_.view().size() = hbheDigis.size();
@@ -112,9 +105,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
112105
hf5_vi.data()[i + 1] = sample;
113106
}
114107
}
115-
// copy hf5 to df5
116-
alpaka::memcpy(event.queue(), df5_.buffer(), hf5_.const_buffer());
117-
event.emplace(digisF5HBToken_, std::move(df5_));
108+
event.emplace(digisF5HBToken_, std::move(hf5_));
118109

119110
if (qie11Digis.empty()) {
120111
event.emplace(digisF01HEToken_, 0, event.queue());
@@ -145,10 +136,6 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
145136
HostCollectionPhase1 hf1_(size_f1, event.queue());
146137
HostCollectionPhase1 hf3_(size_f3, event.queue());
147138

148-
// device product
149-
DeviceCollectionPhase1 df1_(size_f1, event.queue());
150-
DeviceCollectionPhase1 df3_(size_f3, event.queue());
151-
152139
// set SoA_Scalar;
153140
hf1_.view().stride() = stride01;
154141
hf3_.view().stride() = stride01;
@@ -187,11 +174,8 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
187174
hf1_.view().size() = size_f1;
188175
hf3_.view().size() = size_f3;
189176

190-
alpaka::memcpy(event.queue(), df1_.buffer(), hf1_.const_buffer());
191-
alpaka::memcpy(event.queue(), df3_.buffer(), hf3_.const_buffer());
192-
193-
event.emplace(digisF01HEToken_, std::move(df1_));
194-
event.emplace(digisF3HBToken_, std::move(df3_));
177+
event.emplace(digisF01HEToken_, std::move(hf1_));
178+
event.emplace(digisF3HBToken_, std::move(hf3_));
195179
}
196180
}
197181
} // namespace ALPAKA_ACCELERATOR_NAMESPACE

0 commit comments

Comments
 (0)