CMS 3D CMS Logo

SiPixelDigisCUDA.h
Go to the documentation of this file.
1 #ifndef CUDADataFormats_SiPixelDigi_interface_SiPixelDigisCUDA_h
2 #define CUDADataFormats_SiPixelDigi_interface_SiPixelDigisCUDA_h
3 
4 #include <cuda_runtime.h>
5 
10 
12 public:
13  using StoreType = uint16_t;
14  SiPixelDigisCUDA() = default;
15  explicit SiPixelDigisCUDA(size_t maxFedWords, cudaStream_t stream);
16  ~SiPixelDigisCUDA() = default;
17 
18  SiPixelDigisCUDA(const SiPixelDigisCUDA &) = delete;
19  SiPixelDigisCUDA &operator=(const SiPixelDigisCUDA &) = delete;
20  SiPixelDigisCUDA(SiPixelDigisCUDA &&) = default;
22 
23  void setNModulesDigis(uint32_t nModules, uint32_t nDigis) {
25  nDigis_h = nDigis;
26  }
27 
28  uint32_t nModules() const { return nModules_h; }
29  uint32_t nDigis() const { return nDigis_h; }
30 
32 
34  SiPixelDigisCUDASOAView const view() const { return m_view; }
35 
36 private:
37  // These are consumed by downstream device code
39 
41 
42  uint32_t nModules_h = 0;
43  uint32_t nDigis_h = 0;
44 };
45 
46 #endif // CUDADataFormats_SiPixelDigi_interface_SiPixelDigisCUDA_h
uint32_t nDigis() const
~SiPixelDigisCUDA()=default
cms::cuda::host::unique_ptr< StoreType[]> copyAllToHostAsync(cudaStream_t stream) const
cms::cuda::device::unique_ptr< StoreType[]> m_store
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t stream
std::unique_ptr< T, impl::DeviceDeleter > unique_ptr
SiPixelDigisCUDASOAView const view() const
SiPixelDigisCUDA & operator=(const SiPixelDigisCUDA &)=delete
SiPixelDigisCUDA()=default
SiPixelDigisCUDASOAView m_view
SiPixelDigisCUDASOAView view()
void setNModulesDigis(uint32_t nModules, uint32_t nDigis)
std::unique_ptr< T, impl::HostDeleter > unique_ptr
uint32_t nModules() const