CMS 3D CMS Logo

SiPixelDigisCUDA.cc
Go to the documentation of this file.
1 #include <cassert>
2 
7 
8 SiPixelDigisCUDA::SiPixelDigisCUDA(size_t maxFedWords, cudaStream_t stream)
10  SiPixelDigisCUDASOAView::roundFor128ByteAlignment(maxFedWords) *
11  static_cast<int>(SiPixelDigisCUDASOAView::StorageLocation::kMAX),
12  stream)),
13  m_view(m_store, maxFedWords, SiPixelDigisCUDASOAView::StorageLocation::kMAX) {
14  assert(maxFedWords != 0);
15 }
16 
18  cudaStream_t stream) const {
19  auto ret = cms::cuda::make_host_unique<StoreType[]>(
21  stream);
22  cudaCheck(cudaMemcpyAsync(ret.get(),
23  m_view.clus(),
26  cudaMemcpyDeviceToHost,
27  stream));
28  return ret;
29 }
static int roundFor128ByteAlignment(int size)
uint32_t nDigis() const
cms::cuda::host::unique_ptr< StoreType[]> copyAllToHostAsync(cudaStream_t stream) const
ret
prodAgent to be discontinued
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t stream
assert(be >=bs)
const int32_t * clus() const
Namespace of DDCMS conversion namespace.
SiPixelDigisCUDA()=default
SiPixelDigisCUDASOAView m_view
device::impl::make_device_unique_selector< T >::non_array make_device_unique(cudaStream_t stream)
std::unique_ptr< T, impl::HostDeleter > unique_ptr
#define cudaCheck(ARG,...)
Definition: cudaCheck.h:69