CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
HGCalLayerClustersAlgoWrapper.dev.cc
Go to the documentation of this file.
1 // Check that ALPAKA_HOST_ONLY is not defined during device compilation:
2 #ifdef ALPAKA_HOST_ONLY
3 #error ALPAKA_HOST_ONLY defined in device compilation
4 #endif
5 
7 
9 #include "ConstantsForClusters.h"
10 
11 #include "CLUEAlgoAlpaka.h"
12 
14 
15  using namespace cms::alpakatools;
16  using namespace hgcal::constants;
17 
19  const unsigned int size,
20  const float dc,
21  const float kappa,
22  const float outlierDeltaFactor,
23  const HGCalSoARecHitsDeviceCollection::ConstView inputs,
25  CLUEAlgoAlpaka<ALPAKA_ACCELERATOR_NAMESPACE::Acc1D, Queue, HGCalSiliconTilesConstants, kHGCalLayers> algoStandalone(
26  queue, dc, kappa, outlierDeltaFactor, false);
27 
28  // Initialize output memory to 0
29  auto delta = cms::alpakatools::make_device_view<float>(queue, outputs.delta(), size);
30  alpaka::memset(queue, delta, 0x0);
31  auto rho = cms::alpakatools::make_device_view<float>(queue, outputs.rho(), size);
32  alpaka::memset(queue, rho, 0x0);
33  auto nearestHigher = cms::alpakatools::make_device_view<unsigned int>(queue, outputs.nearestHigher(), size);
34  alpaka::memset(queue, nearestHigher, 0x0);
35  auto clusterIndex = cms::alpakatools::make_device_view<int>(queue, outputs.clusterIndex(), size);
36  alpaka::memset(queue, clusterIndex, kInvalidClusterByte);
37  auto isSeed = cms::alpakatools::make_device_view<uint8_t>(queue, outputs.isSeed(), size);
38  alpaka::memset(queue, isSeed, 0x0);
39 
40  algoStandalone.makeClustersCMSSW(size,
41  inputs.dim1(),
42  inputs.dim2(),
43  inputs.layer(),
44  inputs.weight(),
45  inputs.sigmaNoise(),
46  inputs.detid(),
47  outputs.rho(),
48  outputs.delta(),
49  outputs.nearestHigher(),
50  outputs.clusterIndex(),
51  outputs.isSeed(),
52  &outputs.numberOfClustersScalar());
53  }
54 
55 } // namespace ALPAKA_ACCELERATOR_NAMESPACE
void run(Queue &queue, const unsigned int size, const float dc, const float kappa, const float outlierDeltaFactor, const HGCalSoARecHitsDeviceCollection::ConstView inputs, HGCalSoARecHitsExtraDeviceCollection::View outputs) const
static constexpr uint8_t kInvalidClusterByte