Go to the documentation of this file. 1 #ifndef HeterogeneousCore_CUDAUtilities_interface_host_unique_ptr_h
2 #define HeterogeneousCore_CUDAUtilities_interface_host_unique_ptr_h
21 using unique_ptr = std::unique_ptr<T, impl::HostDeleter>;
32 template <
typename T,
size_t N>
34 struct bounded_array {};
43 "Allocating with non-trivial constructor on the pinned host memory is not supported");
52 "Allocating with non-trivial constructor on the pinned host memory is not supported");
57 template <
typename T,
typename... Args>
58 typename host::impl::make_host_unique_selector<T>::bounded_array
make_host_unique(Args &&...) =
delete;
69 size_t n, cudaStream_t
stream) {
75 template <
typename T,
typename... Args>
cudaStream_t T uint32_t const T *__restrict__ const uint32_t *__restrict__ uint32_t int cudaStream_t Func V int n
uint16_t mem[nChs][nEvts]
void * allocate_host(size_t nbytes, cudaStream_t stream)
cms::cuda::host::unique_ptr< T[]> unbounded_array
host::impl::make_host_unique_selector< T >::non_array make_host_unique_uninitialized(cudaStream_t stream)
cms::cuda::host::unique_ptr< T > non_array
std::unique_ptr< T, impl::HostDeleter > unique_ptr
host::impl::make_host_unique_selector< T >::non_array make_host_unique(cudaStream_t stream)
void operator()(void *ptr)
Namespace of DDCMS conversion namespace.
void free_host(void *ptr)