CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
SiPixelDigisCUDA.cc
Go to the documentation of this file.
5 
6 SiPixelDigisCUDA::SiPixelDigisCUDA(size_t maxFedWords, cudaStream_t stream)
7  : xx_d(cms::cuda::make_device_unique<uint16_t[]>(maxFedWords, stream)),
8  yy_d(cms::cuda::make_device_unique<uint16_t[]>(maxFedWords, stream)),
9  adc_d(cms::cuda::make_device_unique<uint16_t[]>(maxFedWords, stream)),
10  moduleInd_d(cms::cuda::make_device_unique<uint16_t[]>(maxFedWords, stream)),
11  clus_d(cms::cuda::make_device_unique<int32_t[]>(maxFedWords, stream)),
12  view_d(cms::cuda::make_device_unique<DeviceConstView>(stream)),
13  pdigi_d(cms::cuda::make_device_unique<uint32_t[]>(maxFedWords, stream)),
14  rawIdArr_d(cms::cuda::make_device_unique<uint32_t[]>(maxFedWords, stream)) {
15  auto view = cms::cuda::make_host_unique<DeviceConstView>(stream);
16  view->xx_ = xx_d.get();
17  view->yy_ = yy_d.get();
18  view->adc_ = adc_d.get();
19  view->moduleInd_ = moduleInd_d.get();
20  view->clus_ = clus_d.get();
22 }
23 
25  auto ret = cms::cuda::make_host_unique<uint16_t[]>(nDigis(), stream);
26  cms::cuda::copyAsync(ret, adc_d, nDigis(), stream);
27  return ret;
28 }
29 
31  auto ret = cms::cuda::make_host_unique<int32_t[]>(nDigis(), stream);
33  return ret;
34 }
35 
37  auto ret = cms::cuda::make_host_unique<uint32_t[]>(nDigis(), stream);
39  return ret;
40 }
41 
43  auto ret = cms::cuda::make_host_unique<uint32_t[]>(nDigis(), stream);
45  return ret;
46 }
tuple ret
prodAgent to be discontinued
cms::cuda::device::unique_ptr< uint16_t[]> xx_d
cms::cuda::device::unique_ptr< uint16_t[]> moduleInd_d
uint32_t nDigis() const
cms::cuda::device::unique_ptr< int32_t[]> clus_d
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t stream
cms::cuda::device::unique_ptr< uint16_t[]> yy_d
cms::cuda::host::unique_ptr< uint32_t[]> pdigiToHostAsync(cudaStream_t stream) const
cms::cuda::device::unique_ptr< uint16_t[]> adc_d
const DeviceConstView * view() const
cms::cuda::host::unique_ptr< uint16_t[]> adcToHostAsync(cudaStream_t stream) const
cms::cuda::device::unique_ptr< uint32_t[]> rawIdArr_d
void copyAsync(device::unique_ptr< T > &dst, const host::unique_ptr< T > &src, cudaStream_t stream)
Definition: copyAsync.h:20
cms::cuda::host::unique_ptr< uint32_t[]> rawIdArrToHostAsync(cudaStream_t stream) const
SiPixelDigisCUDA()=default
cms::cuda::device::unique_ptr< uint32_t[]> pdigi_d
cms::cuda::host::unique_ptr< int32_t[]> clusToHostAsync(cudaStream_t stream) const
cms::cuda::device::unique_ptr< DeviceConstView > view_d
device::impl::make_device_unique_selector< T >::non_array make_device_unique(cudaStream_t stream)
std::unique_ptr< T, impl::HostDeleter > unique_ptr