Skip to content

Commit

Permalink
HcalRecHit SoA dataFormat
Browse files Browse the repository at this point in the history
  • Loading branch information
Martin authored and fwyzard committed Jun 20, 2024
1 parent 94a8581 commit 9e90e2b
Show file tree
Hide file tree
Showing 11 changed files with 88 additions and 1 deletion.
4 changes: 4 additions & 0 deletions DataFormats/HcalRecHit/BuildFile.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
<use name="DataFormats/Common"/>
<use name="DataFormats/HcalDetId"/>
<use name="DataFormats/HcalDigi"/>
<use name="DataFormats/Portable"/>
<use name="DataFormats/SoATemplate"/>
<use name="HeterogeneousCore/AlpakaInterface"/>
<flags ALPAKA_BACKENDS="!serial"/>
<export>
<lib name="1"/>
</export>
13 changes: 13 additions & 0 deletions DataFormats/HcalRecHit/interface/HcalRecHitHostCollection.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#ifndef DataFormats_HcalRecHit_HcalRecHitHostCollection_h
#define DataFormats_HcalRecHit_HcalRecHitHostCollection_h

#include "DataFormats/Portable/interface/PortableHostCollection.h"
#include "DataFormats/HcalRecHit/interface/HcalRecHitSoA.h"

namespace hcal {

// HcalRecHitSoA in host memory
using RecHitHostCollection = PortableHostCollection<HcalRecHitSoA>;
} // namespace hcal

#endif
19 changes: 19 additions & 0 deletions DataFormats/HcalRecHit/interface/HcalRecHitSoA.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#ifndef DataFormats_HcalRecHit_HcalRecHitSoA_h
#define DataFormats_HcalRecHit_HcalRecHitSoA_h

#include "DataFormats/SoATemplate/interface/SoALayout.h"

namespace hcal {

GENERATE_SOA_LAYOUT(HcalRecHitSoALayout,
SOA_SCALAR(uint32_t, size),
SOA_COLUMN(uint32_t, detId),
SOA_COLUMN(float, energy),
SOA_COLUMN(float, chi2),
SOA_COLUMN(float, energyM0),
SOA_COLUMN(float, timeM0))

using HcalRecHitSoA = HcalRecHitSoALayout<>;
} // namespace hcal

#endif
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#ifndef DataFormats_HcalRecHit_alpaka_HcalRecHitDeviceCollection_h
#define DataFormats_HcalRecHit_alpaka_HcalRecHitDeviceCollection_h

#include "DataFormats/Portable/interface/alpaka/PortableCollection.h"
#include "DataFormats/HcalRecHit/interface/HcalRecHitSoA.h"
#include "HeterogeneousCore/AlpakaInterface/interface/config.h"

namespace ALPAKA_ACCELERATOR_NAMESPACE {

namespace hcal {

// make the names from the top-level hcal namespace visible for unqualified lookup
// inside the ALPAKA_ACCELERATOR_NAMESPACE::hcal namespace
using namespace ::hcal;

// HcalRecHitSoA in device global memory
using RecHitDeviceCollection = PortableCollection<HcalRecHitSoA>;
} // namespace hcal

} // namespace ALPAKA_ACCELERATOR_NAMESPACE

#endif
4 changes: 4 additions & 0 deletions DataFormats/HcalRecHit/src/alpaka/classes_cuda.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#include "DataFormats/Common/interface/DeviceProduct.h"
#include "DataFormats/Common/interface/Wrapper.h"
#include "DataFormats/HcalRecHit/interface/HcalRecHitSoA.h"
#include "DataFormats/HcalRecHit/interface/alpaka/HcalRecHitDeviceCollection.h"
5 changes: 5 additions & 0 deletions DataFormats/HcalRecHit/src/alpaka/classes_cuda_def.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<lcgdict>
<class name="alpaka_cuda_async::hcal::RecHitDeviceCollection" persistent="false"/>
<class name="edm::DeviceProduct<alpaka_cuda_async::hcal::RecHitDeviceCollection>" persistent="false"/>
<class name="edm::Wrapper<edm::DeviceProduct<alpaka_cuda_async::hcal::RecHitDeviceCollection>>" persistent="false"/>
</lcgdict>
4 changes: 4 additions & 0 deletions DataFormats/HcalRecHit/src/alpaka/classes_rocm.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#include "DataFormats/Common/interface/DeviceProduct.h"
#include "DataFormats/Common/interface/Wrapper.h"
#include "DataFormats/HcalRecHit/interface/HcalRecHitSoA.h"
#include "DataFormats/HcalRecHit/interface/alpaka/HcalRecHitDeviceCollection.h"
5 changes: 5 additions & 0 deletions DataFormats/HcalRecHit/src/alpaka/classes_rocm_def.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<lcgdict>
<class name="alpaka_rocm_async::hcal::RecHitDeviceCollection" persistent="false"/>
<class name="edm::DeviceProduct<alpaka_rocm_async::hcal::RecHitDeviceCollection>" persistent="false"/>
<class name="edm::Wrapper<edm::DeviceProduct<alpaka_rocm_async::hcal::RecHitDeviceCollection>>" persistent="false"/>
</lcgdict>
4 changes: 4 additions & 0 deletions DataFormats/HcalRecHit/src/classes.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#include "DataFormats/HcalRecHit/interface/HcalRecHitHostCollection.h"
#include "DataFormats/Portable/interface/PortableHostCollectionReadRules.h"

SET_PORTABLEHOSTCOLLECTION_READ_RULES(hcal::RecHitHostCollection);
2 changes: 2 additions & 0 deletions DataFormats/HcalRecHit/src/classes.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
#include "DataFormats/HcalRecHit/interface/HcalSourcePositionData.h"
#include "DataFormats/HcalDetId/interface/HcalDetId.h"
#include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h"
#include "DataFormats/HcalRecHit/interface/HcalRecHitSoA.h"
#include "DataFormats/HcalRecHit/interface/HcalRecHitHostCollection.h"
#include "DataFormats/Common/interface/Wrapper.h"
#include "DataFormats/Common/interface/Ref.h"
#include "DataFormats/Common/interface/RefProd.h"
Expand Down
7 changes: 6 additions & 1 deletion DataFormats/HcalRecHit/src/classes_def.xml
Original file line number Diff line number Diff line change
Expand Up @@ -118,4 +118,9 @@
<class name="edm::reftobase::Holder<CaloRecHit,edm::Ref<edm::SortedCollection<HFRecHit,edm::StrictWeakOrdering<HFRecHit> >,HFRecHit,edm::refhelper::FindUsingAdvance<edm::SortedCollection<HFRecHit,edm::StrictWeakOrdering<HFRecHit> >,HFRecHit> > >" />
<class name="edm::reftobase::Holder<CaloRecHit,edm::Ref<edm::SortedCollection<HORecHit,edm::StrictWeakOrdering<HORecHit> >,HORecHit,edm::refhelper::FindUsingAdvance<edm::SortedCollection<HORecHit,edm::StrictWeakOrdering<HORecHit> >,HORecHit> > >" />
<class name="edm::reftobase::Holder<CaloRecHit,edm::Ref<edm::SortedCollection<HBHERecHit,edm::StrictWeakOrdering<HBHERecHit> >,HBHERecHit,edm::refhelper::FindUsingAdvance<edm::SortedCollection<HBHERecHit,edm::StrictWeakOrdering<HBHERecHit> >,HBHERecHit> > >" />
</lcgdict>

<class name="hcal::HcalRecHitSoA"/>
<class name="hcal::HcalRecHitSoA::View"/>
<class name="hcal::RecHitHostCollection" />
<class name="edm::Wrapper<hcal::RecHitHostCollection>" splitLevel="0"/>
</lcgdict>

0 comments on commit 9e90e2b

Please sign in to comment.