RISA
glados::cuda::DeviceMemoryManager< T, CopyPolicy > Class Template Reference

#include <DeviceMemoryManager.h>

Inheritance diagram for glados::cuda::DeviceMemoryManager< T, CopyPolicy >:
Collaboration diagram for glados::cuda::DeviceMemoryManager< T, CopyPolicy >:

Public Types

using value_type = T
 
using pointer_type_1D = device_ptr< T, CopyPolicy >
 
using pointer_type_2D = pitched_device_ptr< T, CopyPolicy, std::false_type >
 
using pointer_type_3D = pitched_device_ptr< T, CopyPolicy, std::true_type >
 
using size_type = std::size_t
 

Public Member Functions

 DeviceMemoryManager ()
 
auto setDevice (int device_id) -> void
 
auto device () -> int
 

Protected Member Functions

 ~DeviceMemoryManager ()=default
 
auto make_ptr (size_type size) -> pointer_type_1D
 
auto make_ptr (size_type width, size_type height) -> pointer_type_2D
 
auto make_ptr (size_type width, size_type height, size_type depth) -> pointer_type_3D
 
template<typename Source >
auto copy (pointer_type_1D &dest, Source &src, size_type size) -> void
 
template<typename Source >
auto copy (pointer_type_2D &dest, Source &src, size_type width, size_type height) -> void
 
template<typename Source >
auto copy (pointer_type_3D &dest, Source &src, size_type width, size_type height, size_type depth) -> void
 

Private Attributes

int device_
 

Detailed Description

template<class T, class CopyPolicy = sync_copy_policy>
class glados::cuda::DeviceMemoryManager< T, CopyPolicy >

Definition at line 41 of file DeviceMemoryManager.h.

Member Typedef Documentation

template<class T , class CopyPolicy = sync_copy_policy>
using glados::cuda::DeviceMemoryManager< T, CopyPolicy >::pointer_type_1D = device_ptr<T, CopyPolicy>

Definition at line 45 of file DeviceMemoryManager.h.

template<class T , class CopyPolicy = sync_copy_policy>
using glados::cuda::DeviceMemoryManager< T, CopyPolicy >::pointer_type_2D = pitched_device_ptr<T, CopyPolicy, std::false_type>

Definition at line 46 of file DeviceMemoryManager.h.

template<class T , class CopyPolicy = sync_copy_policy>
using glados::cuda::DeviceMemoryManager< T, CopyPolicy >::pointer_type_3D = pitched_device_ptr<T, CopyPolicy, std::true_type>

Definition at line 47 of file DeviceMemoryManager.h.

template<class T , class CopyPolicy = sync_copy_policy>
using glados::cuda::DeviceMemoryManager< T, CopyPolicy >::size_type = std::size_t

Definition at line 48 of file DeviceMemoryManager.h.

template<class T , class CopyPolicy = sync_copy_policy>
using glados::cuda::DeviceMemoryManager< T, CopyPolicy >::value_type = T

Definition at line 44 of file DeviceMemoryManager.h.

Constructor & Destructor Documentation

template<class T , class CopyPolicy = sync_copy_policy>
glados::cuda::DeviceMemoryManager< T, CopyPolicy >::DeviceMemoryManager ( )
inline

Definition at line 51 of file DeviceMemoryManager.h.

template<class T , class CopyPolicy = sync_copy_policy>
glados::cuda::DeviceMemoryManager< T, CopyPolicy >::~DeviceMemoryManager ( )
protecteddefault

Member Function Documentation

template<class T , class CopyPolicy = sync_copy_policy>
template<typename Source >
auto glados::cuda::DeviceMemoryManager< T, CopyPolicy >::copy ( pointer_type_1D dest,
Source &  src,
size_type  size 
) -> void
inlineprotected

Definition at line 85 of file DeviceMemoryManager.h.

template<class T , class CopyPolicy = sync_copy_policy>
template<typename Source >
auto glados::cuda::DeviceMemoryManager< T, CopyPolicy >::copy ( pointer_type_2D dest,
Source &  src,
size_type  width,
size_type  height 
) -> void
inlineprotected

Definition at line 91 of file DeviceMemoryManager.h.

template<class T , class CopyPolicy = sync_copy_policy>
template<typename Source >
auto glados::cuda::DeviceMemoryManager< T, CopyPolicy >::copy ( pointer_type_3D dest,
Source &  src,
size_type  width,
size_type  height,
size_type  depth 
) -> void
inlineprotected

Definition at line 97 of file DeviceMemoryManager.h.

template<class T , class CopyPolicy = sync_copy_policy>
auto glados::cuda::DeviceMemoryManager< T, CopyPolicy >::device ( ) -> int
inline

Definition at line 61 of file DeviceMemoryManager.h.

template<class T , class CopyPolicy = sync_copy_policy>
auto glados::cuda::DeviceMemoryManager< T, CopyPolicy >::make_ptr ( size_type  size) -> pointer_type_1D
inlineprotected

Definition at line 69 of file DeviceMemoryManager.h.

template<class T , class CopyPolicy = sync_copy_policy>
auto glados::cuda::DeviceMemoryManager< T, CopyPolicy >::make_ptr ( size_type  width,
size_type  height 
) -> pointer_type_2D
inlineprotected

Definition at line 74 of file DeviceMemoryManager.h.

template<class T , class CopyPolicy = sync_copy_policy>
auto glados::cuda::DeviceMemoryManager< T, CopyPolicy >::make_ptr ( size_type  width,
size_type  height,
size_type  depth 
) -> pointer_type_3D
inlineprotected

Definition at line 79 of file DeviceMemoryManager.h.

template<class T , class CopyPolicy = sync_copy_policy>
auto glados::cuda::DeviceMemoryManager< T, CopyPolicy >::setDevice ( int  device_id) -> void
inline

Definition at line 56 of file DeviceMemoryManager.h.

Member Data Documentation

template<class T , class CopyPolicy = sync_copy_policy>
int glados::cuda::DeviceMemoryManager< T, CopyPolicy >::device_
private

Definition at line 103 of file DeviceMemoryManager.h.


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