CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
EcalRechitChannelStatusGPU.h
Go to the documentation of this file.
1 #ifndef CondFormats_EcalObjects_interface_EcalRechitChannelStatusGPU_h
2 #define CondFormats_EcalObjects_interface_EcalRechitChannelStatusGPU_h
3 
7 
8 #ifndef __CUDACC__
11 #endif // __CUDACC__
12 
14 public:
15  struct Product {
17  };
18 
19 #ifndef __CUDACC__
20 
21  //
23 
24  // will call dealloation for Product thru ~Product
25  ~EcalRechitChannelStatusGPU() = default;
26 
27  // get device pointers
28  Product const& getProduct(cudaStream_t) const;
29 
30  //
31  static std::string name() { return std::string{"ecalRechitChannelStatusGPU"}; }
32 
33 private:
34  // in the future, we need to arrange so to avoid this copy on the host
35  // store eb first then ee
36  std::vector<uint16_t, cms::cuda::HostAllocator<uint16_t>> status_;
37 
39 
40 #endif // __CUDACC__
41 };
42 
43 #endif // CondFormats_EcalObjects_interface_EcalRechitChannelStatusGPU_h
cms::cuda::ESProduct< Product > product_
std::vector< uint16_t, cms::cuda::HostAllocator< uint16_t > > status_
Product const & getProduct(cudaStream_t) const
EcalRechitChannelStatusGPU(EcalChannelStatus const &)
edm::propagate_const_array< cms::cuda::device::unique_ptr< uint16_t[]> > status
~EcalRechitChannelStatusGPU()=default