CMS 3D CMS Logo

HcalQIECodersGPU.h
Go to the documentation of this file.
1 #ifndef CondFormats_HcalObjects_interface_HcalQIECodersGPU_h
2 #define CondFormats_HcalObjects_interface_HcalQIECodersGPU_h
3 
7 
8 #ifndef __CUDACC__
11 #endif
12 
14 public:
15  static constexpr uint32_t numValuesPerChannel = 16;
16 
17  struct Product {
20  };
21 
22 #ifndef __CUDACC__
23  // rearrange reco params
25 
26  // will trigger deallocation of Product thru ~Product
27  ~HcalQIECodersGPU() = default;
28 
29  // get device pointers
30  Product const &getProduct(cudaStream_t) const;
31 
32 private:
34  std::vector<float, cms::cuda::HostAllocator<float>> offsets_;
35  std::vector<float, cms::cuda::HostAllocator<float>> slopes_;
36 
38 #endif
39 };
40 
41 #endif
HcalQIECodersGPU::getProduct
const Product & getProduct(cudaStream_t) const
Definition: HcalQIECodersGPU.cc:36
HcalQIECodersGPU::Product
Definition: HcalQIECodersGPU.h:17
HcalQIECodersGPU::totalChannels_
uint64_t totalChannels_
Definition: HcalQIECodersGPU.h:33
HostAllocator.h
device_unique_ptr.h
HcalQIECodersGPU::HcalQIECodersGPU
HcalQIECodersGPU(HcalQIEData const &)
Definition: HcalQIECodersGPU.cc:5
HcalQIECodersGPU::slopes_
std::vector< float, cms::cuda::HostAllocator< float > > slopes_
Definition: HcalQIECodersGPU.h:35
HcalQIECodersGPU::product_
cms::cuda::ESProduct< Product > product_
Definition: HcalQIECodersGPU.h:37
cms::cuda::ESProduct
Definition: ESProduct.h:19
HcalQIEData.h
HcalQIECodersGPU::~HcalQIECodersGPU
~HcalQIECodersGPU()=default
HcalQIECodersGPU::numValuesPerChannel
static constexpr uint32_t numValuesPerChannel
Definition: HcalQIECodersGPU.h:15
HcalQIECodersGPU::Product::offsets
edm::propagate_const_array< cms::cuda::device::unique_ptr< float[]> > offsets
Definition: HcalQIECodersGPU.h:18
HcalQIEData
Definition: HcalQIEData.h:24
edm::propagate_const_array
Definition: propagate_const_array.h:61
propagate_const_array.h
HcalQIECodersGPU::offsets_
std::vector< float, cms::cuda::HostAllocator< float > > offsets_
Definition: HcalQIECodersGPU.h:34
cond::uint64_t
unsigned long long uint64_t
Definition: Time.h:13
HcalQIECodersGPU
Definition: HcalQIECodersGPU.h:13
ESProduct.h
HcalQIECodersGPU::Product::slopes
edm::propagate_const_array< cms::cuda::device::unique_ptr< float[]> > slopes
Definition: HcalQIECodersGPU.h:19