CPPuddle
Public Member Functions | Public Attributes | List of all members
cppuddle::memory_recycling::cuda_device_buffer< T, > Struct Template Reference

RAII wrapper for CUDA device memory (ideally used with a recycling allocator) More...

#include <cuda_recycling_device_buffer.hpp>

Collaboration diagram for cppuddle::memory_recycling::cuda_device_buffer< T, >:
[legend]

Public Member Functions

 cuda_device_buffer (const size_t number_of_elements, const size_t device_id=0)
 
 ~cuda_device_buffer ()
 
 cuda_device_buffer (cuda_device_buffer const &other)=delete
 
cuda_device_buffer operator= (cuda_device_buffer const &other)=delete
 
 cuda_device_buffer (cuda_device_buffer const &&other)=delete
 
cuda_device_buffer operator= (cuda_device_buffer const &&other)=delete
 

Public Attributes

recycle_allocator_cuda_device< T > allocator
 
T * device_side_buffer
 
size_t number_of_elements
 

Detailed Description

template<typename T, std::enable_if_t< std::is_trivial< T >::value, int > = 0>
struct cppuddle::memory_recycling::cuda_device_buffer< T, >

RAII wrapper for CUDA device memory (ideally used with a recycling allocator)

Constructor & Destructor Documentation

◆ cuda_device_buffer() [1/3]

template<typename T , std::enable_if_t< std::is_trivial< T >::value, int > = 0>
cppuddle::memory_recycling::cuda_device_buffer< T, >::cuda_device_buffer ( const size_t  number_of_elements,
const size_t  device_id = 0 
)
inline

◆ ~cuda_device_buffer()

template<typename T , std::enable_if_t< std::is_trivial< T >::value, int > = 0>
cppuddle::memory_recycling::cuda_device_buffer< T, >::~cuda_device_buffer ( )
inline

◆ cuda_device_buffer() [2/3]

template<typename T , std::enable_if_t< std::is_trivial< T >::value, int > = 0>
cppuddle::memory_recycling::cuda_device_buffer< T, >::cuda_device_buffer ( cuda_device_buffer< T, > const &  other)
delete

◆ cuda_device_buffer() [3/3]

template<typename T , std::enable_if_t< std::is_trivial< T >::value, int > = 0>
cppuddle::memory_recycling::cuda_device_buffer< T, >::cuda_device_buffer ( cuda_device_buffer< T, > const &&  other)
delete

Member Function Documentation

◆ operator=() [1/2]

template<typename T , std::enable_if_t< std::is_trivial< T >::value, int > = 0>
cuda_device_buffer cppuddle::memory_recycling::cuda_device_buffer< T, >::operator= ( cuda_device_buffer< T, > const &&  other)
delete

◆ operator=() [2/2]

template<typename T , std::enable_if_t< std::is_trivial< T >::value, int > = 0>
cuda_device_buffer cppuddle::memory_recycling::cuda_device_buffer< T, >::operator= ( cuda_device_buffer< T, > const &  other)
delete

Member Data Documentation

◆ allocator

template<typename T , std::enable_if_t< std::is_trivial< T >::value, int > = 0>
recycle_allocator_cuda_device<T> cppuddle::memory_recycling::cuda_device_buffer< T, >::allocator

◆ device_side_buffer

template<typename T , std::enable_if_t< std::is_trivial< T >::value, int > = 0>
T* cppuddle::memory_recycling::cuda_device_buffer< T, >::device_side_buffer

◆ number_of_elements

template<typename T , std::enable_if_t< std::is_trivial< T >::value, int > = 0>
size_t cppuddle::memory_recycling::cuda_device_buffer< T, >::number_of_elements

The documentation for this struct was generated from the following file: