|
|
Go to the documentation of this file. 1 #ifndef CUDADataFormatsCommonHeterogeneousSoA_H
2 #define CUDADataFormatsCommonHeterogeneousSoA_H
41 auto ret = cms::cuda::make_host_unique<T>(
stream);
54 namespace cudacompat {
62 return cms::cuda::make_device_unique<T>(
stream);
67 return cms::cuda::make_device_unique<T>(
size,
stream);
72 return cms::cuda::make_host_unique<T>(
stream);
77 return cms::cuda::make_device_unique<T>(
stream);
82 return cms::cuda::make_device_unique<T>(
size,
stream);
92 return cms::cuda::make_host_unique<T>(
stream);
97 return cms::cuda::make_host_unique<T>(
stream);
100 template <
typename T>
102 return cms::cuda::make_device_unique<T>(
stream);
105 template <
typename T>
107 return cms::cuda::make_device_unique<T>(
size,
stream);
112 template <
typename T>
115 template <
typename T>
117 return std::make_unique<T>();
120 template <
typename T>
122 return std::make_unique<T>(
size);
125 template <
typename T>
127 return std::make_unique<T>();
130 template <
typename T>
132 return std::make_unique<T>();
135 template <
typename T>
137 return std::make_unique<T>(
size);
145 template <
typename T,
typename Traits>
148 template <
typename V>
169 template <
typename T,
typename Traits>
175 template <
typename T,
typename Traits>
177 auto ret = cms::cuda::make_host_unique<T>(
stream);
182 template <
typename T>
184 template <
typename T>
186 template <
typename T>
ret
prodAgent to be discontinued
static auto make_unique(cudaStream_t)
const auto & operator*() const
cms::cuda::device::unique_ptr< T > dm_ptr
cms::cuda::device::unique_ptr< T > unique_ptr
std::unique_ptr< T > unique_ptr
static auto make_unique(size_t size, cudaStream_t stream)
static auto make_unique(cudaStream_t stream)
HeterogeneousSoAImpl(unique_ptr< T > &&p)
static auto make_device_unique(size_t size, cudaStream_t stream)
static auto make_device_unique(size_t size, cudaStream_t stream)
HeterogeneousSoAImpl()=default
static auto make_host_unique(cudaStream_t stream)
static auto make_device_unique(cudaStream_t stream)
static auto make_device_unique(size_t size, cudaStream_t)
cms::cuda::host::unique_ptr< T > hm_ptr
typename Traits::template unique_ptr< V > unique_ptr
HeterogeneousSoA(cms::cuda::device::unique_ptr< T > &&p)
cms::cuda::host::unique_ptr< T > toHostAsync(cudaStream_t stream) const
~HeterogeneousSoA()=default
static auto make_unique(cudaStream_t stream)
HeterogeneousSoA & operator=(HeterogeneousSoA &&)=default
cms::cuda::host::unique_ptr< T > toHostAsync(cudaStream_t stream) const
cms::cuda::host::unique_ptr< T > unique_ptr
def template(fileName, svg, replaceme="REPLACEME")
HeterogeneousSoA(cms::cuda::host::unique_ptr< T > &&p)
static auto make_device_unique(cudaStream_t stream)
std::unique_ptr< T > std_ptr
std::unique_ptr< T, impl::DeviceDeleter > unique_ptr
static auto make_host_unique(cudaStream_t)
HeterogeneousSoA(std::unique_ptr< T > &&p)
#define cudaCheck(ARG,...)
std::unique_ptr< T, impl::HostDeleter > unique_ptr
static auto make_host_unique(cudaStream_t stream)
HeterogeneousSoAImpl & operator=(HeterogeneousSoAImpl &&)=default
HeterogeneousSoA()=default
~HeterogeneousSoAImpl()=default
static auto make_unique(size_t size, cudaStream_t)
static auto make_device_unique(cudaStream_t)
const auto * operator->() const
Namespace of DDCMS conversion namespace.