CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
EcalLaserAPDPNRatiosGPU.h
Go to the documentation of this file.
1 #ifndef CondFormats_EcalObjects_interface_EcalLaserAPDPNRatiosGPU_h
2 #define CondFormats_EcalObjects_interface_EcalLaserAPDPNRatiosGPU_h
3 
7 
8 #ifndef __CUDACC__
11 #endif // __CUDACC__
12 
14 public:
15  struct Product {
22  };
23 
24 #ifndef __CUDACC__
25 
26  //
28 
29  // will call dealloation for Product thru ~Product
30  ~EcalLaserAPDPNRatiosGPU() = default;
31 
32  // get device pointers
33  Product const &getProduct(cudaStream_t) const;
34 
35  //
36  static std::string name() { return std::string{"ecalLaserAPDPNRatiosGPU"}; }
37 
38 private:
39  // in the future, we need to arrange so to avoid this copy on the host
40  // store eb first then ee
41  std::vector<float, cms::cuda::HostAllocator<float>> p1_;
42  std::vector<float, cms::cuda::HostAllocator<float>> p2_;
43  std::vector<float, cms::cuda::HostAllocator<float>> p3_;
44 
45  std::vector<edm::TimeValue_t, cms::cuda::HostAllocator<edm::TimeValue_t>> t1_;
46  std::vector<edm::TimeValue_t, cms::cuda::HostAllocator<edm::TimeValue_t>> t2_;
47  std::vector<edm::TimeValue_t, cms::cuda::HostAllocator<edm::TimeValue_t>> t3_;
48 
50 
51 #endif // __CUDACC__
52 };
53 
54 #endif // CondFormats_EcalObjects_interface_EcalLaserAPDPNRatiosGPU_h
std::vector< edm::TimeValue_t, cms::cuda::HostAllocator< edm::TimeValue_t > > t1_
edm::propagate_const_array< cms::cuda::device::unique_ptr< float[]> > p1
std::vector< edm::TimeValue_t, cms::cuda::HostAllocator< edm::TimeValue_t > > t2_
Product const & getProduct(cudaStream_t) const
edm::propagate_const_array< cms::cuda::device::unique_ptr< edm::TimeValue_t[]> > t1
std::vector< float, cms::cuda::HostAllocator< float > > p2_
edm::propagate_const_array< cms::cuda::device::unique_ptr< float[]> > p3
~EcalLaserAPDPNRatiosGPU()=default
std::vector< edm::TimeValue_t, cms::cuda::HostAllocator< edm::TimeValue_t > > t3_
cms::cuda::ESProduct< Product > product_
std::vector< float, cms::cuda::HostAllocator< float > > p1_
edm::propagate_const_array< cms::cuda::device::unique_ptr< float[]> > p2
EcalLaserAPDPNRatiosGPU(EcalLaserAPDPNRatios const &)
std::vector< float, cms::cuda::HostAllocator< float > > p3_
edm::propagate_const_array< cms::cuda::device::unique_ptr< edm::TimeValue_t[]> > t2
edm::propagate_const_array< cms::cuda::device::unique_ptr< edm::TimeValue_t[]> > t3