CMS 3D CMS Logo

KernelManagerHGCalRecHit.h
Go to the documentation of this file.
1 #ifndef RecoLocalCalo_HGCalRecProducers_KernelManagerHGCalRecHit_h
2 #define RecoLocalCalo_HGCalRecProducers_KernelManagerHGCalRecHit_h
3 
5 #include "RecoLocalCalo/HGCalRecProducers/plugins/HGCalRecHitKernelImpl.cuh"
9 
10 #include <vector>
11 #include <algorithm> //std::swap
12 #include <variant>
13 #include <cuda.h>
14 #include <cuda_runtime.h>
15 
16 #ifdef __CUDA_ARCH__
17 extern __constant__ uint32_t calo_rechit_masks[];
18 #endif
19 
20 template <typename T>
22 public:
27  "The KernelConstantData class does not support this type.");
28  }
31 };
32 
34 public:
39  void run_kernels(const KernelConstantData<HGCeeUncalibRecHitConstantData>*, const cudaStream_t&);
40  void run_kernels(const KernelConstantData<HGChefUncalibRecHitConstantData>*, const cudaStream_t&);
41  void run_kernels(const KernelConstantData<HGChebUncalibRecHitConstantData>*, const cudaStream_t&);
42  void transfer_soa_to_host(const cudaStream_t&);
43 
44 private:
45  void transfer_soa_to_device_(const cudaStream_t&);
46 
47  uint32_t nhits_;
48  uint32_t pad_;
49  uint32_t nbytes_host_;
50  uint32_t nbytes_device_;
54 };
55 
56 #endif //RecoLocalCalo_HGCalRecProducers_KernelManagerHGCalRecHit_h
constexpr uint32_t calo_rechit_masks[]
Definition: CaloRecHit.h:12
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
void run_kernels(const KernelConstantData< HGCeeUncalibRecHitConstantData > *, const cudaStream_t &)
KernelConstantData(T &data, HGCConstantVectorData &vdata)
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:80
HGCConstantVectorData vdata_
long double T
void transfer_soa_to_device_(const cudaStream_t &)
void transfer_soa_to_host(const cudaStream_t &)