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

#include <hip_recycling_device_buffer.hpp>

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

Public Member Functions

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

Public Attributes

recycle_allocator_hip_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::hip_device_buffer< T, >

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

Constructor & Destructor Documentation

◆ hip_device_buffer() [1/3]

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

◆ ~hip_device_buffer()

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

◆ hip_device_buffer() [2/3]

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

◆ hip_device_buffer() [3/3]

template<typename T , std::enable_if_t< std::is_trivial< T >::value, int > = 0>
cppuddle::memory_recycling::hip_device_buffer< T, >::hip_device_buffer ( hip_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>
hip_device_buffer cppuddle::memory_recycling::hip_device_buffer< T, >::operator= ( hip_device_buffer< T, > const &&  other)
delete

◆ operator=() [2/2]

template<typename T , std::enable_if_t< std::is_trivial< T >::value, int > = 0>
hip_device_buffer cppuddle::memory_recycling::hip_device_buffer< T, >::operator= ( hip_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_hip_device<T> cppuddle::memory_recycling::hip_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::hip_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::hip_device_buffer< T, >::number_of_elements

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