Skip to content

Commit e7893f2

Browse files
committed
TrackingRecHitsSoACollection: early return hostData when there aren't hits
1 parent 1ccd187 commit e7893f2

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

DataFormats/TrackingRecHitSoA/interface/alpaka/TrackingRecHitsSoACollection.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,16 @@ namespace cms::alpakatools {
3434
template <typename TQueue>
3535
static auto copyAsync(TQueue& queue, TrackingRecHitDevice<TrackerTraits, TDevice> const& deviceData) {
3636
TrackingRecHitHost<TrackerTraits> hostData(queue, deviceData.view().metadata().size());
37+
38+
// Don't bother if zero hits
39+
if (deviceData.view().metadata().size() == 0) {
40+
std::memset(hostData.buffer().data(),
41+
0,
42+
alpaka::getExtentProduct(hostData.buffer()) *
43+
sizeof(alpaka::Elem<typename TrackingRecHitHost<TrackerTraits>::Buffer>));
44+
return hostData;
45+
}
46+
3747
alpaka::memcpy(queue, hostData.buffer(), deviceData.buffer());
3848
#ifdef GPU_DEBUG
3949
printf("TrackingRecHitsSoACollection: I'm copying to host.\n");

RecoTracker/PixelSeeding/plugins/alpaka/CAHitNtupletGenerator.cc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -299,6 +299,10 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
299299

300300
TrackSoA tracks(queue);
301301

302+
// Don't bother if less than 2 this
303+
if (hits_d.view().metadata().size() < 2)
304+
return tracks;
305+
302306
GPUKernels kernels(m_params, hits_d.view().metadata().size(), hits_d.offsetBPIX2(), queue);
303307

304308
kernels.buildDoublets(hits_d.view(), hits_d.offsetBPIX2(), queue);

0 commit comments

Comments
 (0)