RISA
Memory.h File Reference
#include <cstddef>
#include <memory>
#include <tuple>
#include <type_traits>
#include <utility>
#include <glados/Memory.h>
#include "Check.h"
Include dependency graph for Memory.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  glados::cuda::detail::device_deleter
 
struct  glados::cuda::detail::host_deleter
 
struct  glados::cuda::detail::Direction< Src, Dest >
 
struct  glados::cuda::detail::Direction< Target::Host, Target::Device >
 
struct  glados::cuda::detail::Direction< Target::Device, Target::Host >
 
struct  glados::cuda::detail::Direction< Target::Device, Target::Device >
 
struct  glados::cuda::detail::Direction< Target::Host, Target::Host >
 
class  glados::cuda::detail::unique_ptr< T, Deleter, t >
 
class  glados::cuda::sync_copy_policy
 
class  glados::cuda::async_copy_policy
 
struct  glados::cuda::detail::copy_ftor< CopyPolicy >
 

Namespaces

 glados
 
 glados::cuda
 
 glados::cuda::detail
 

Typedefs

template<class T >
using glados::cuda::detail::unique_device_ptr = unique_ptr< T, device_deleter, Target::Device >
 
template<class T >
using glados::cuda::detail::unique_host_ptr = unique_ptr< T, host_deleter, Target::Host >
 
template<class T , class CopyPolicy >
using glados::cuda::device_ptr = glados::ptr< T, CopyPolicy, detail::unique_device_ptr< T >>
 
template<class T , class CopyPolicy >
using glados::cuda::host_ptr = glados::ptr< T, CopyPolicy, detail::unique_host_ptr< T >>
 
template<class T , class CopyPolicy , class is3D >
using glados::cuda::pitched_device_ptr = glados::pitched_ptr< T, CopyPolicy, is3D, detail::unique_device_ptr< T >>
 
template<class T , class CopyPolicy , class is3D >
using glados::cuda::pitched_host_ptr = glados::pitched_ptr< T, CopyPolicy, is3D, detail::unique_host_ptr< T >>
 

Enumerations

enum  glados::cuda::detail::Target { glados::cuda::detail::Target::Device, glados::cuda::detail::Target::Host }
 

Functions

template<class T1 , class D1 , Target t1, class T2 , class D2 , Target t2>
auto glados::cuda::detail::operator== (const unique_ptr< T1, D1, t2 > &x, const unique_ptr< T2, D2, t2 > &y) noexcept-> bool
 
template<class T1 , class D1 , Target t1, class T2 , class D2 , Target t2>
auto glados::cuda::detail::operator!= (const unique_ptr< T1, D1, t2 > &x, const unique_ptr< T2, D2, t2 > &y) noexcept-> bool
 
template<class T , class D , Target t>
auto glados::cuda::detail::operator== (const unique_ptr< T, D, t > &x, std::nullptr_t) noexcept-> bool
 
template<class T , class D , Target t>
auto glados::cuda::detail::operator== (std::nullptr_t, const unique_ptr< T, D, t > &x) noexcept-> bool
 
template<class T , class D , Target t>
auto glados::cuda::detail::operator!= (const unique_ptr< T, D, t > &x, std::nullptr_t) noexcept-> bool
 
template<class T , class D , Target t>
auto glados::cuda::detail::operator!= (std::nullptr_t, const unique_ptr< T, D, t > &x) noexcept-> bool
 
template<class T , class CopyPolicy = sync_copy_policy>
auto glados::cuda::make_device_ptr (std::size_t length) -> device_ptr< T, CopyPolicy >
 
template<class T , class CopyPolicy = sync_copy_policy>
auto glados::cuda::make_host_ptr (std::size_t length) -> host_ptr< T, CopyPolicy >
 
template<class T , class CopyPolicy = sync_copy_policy>
auto glados::cuda::make_device_ptr (std::size_t width, std::size_t height) -> pitched_device_ptr< T, CopyPolicy, std::false_type >
 
template<class T , class CopyPolicy = sync_copy_policy>
auto glados::cuda::make_host_ptr (std::size_t width, std::size_t height) -> pitched_host_ptr< T, CopyPolicy, std::false_type >
 
template<class T , class CopyPolicy = sync_copy_policy>
auto glados::cuda::make_device_ptr (std::size_t width, std::size_t height, std::size_t depth) -> pitched_device_ptr< T, CopyPolicy, std::true_type >
 
template<class T , class CopyPolicy = sync_copy_policy>
auto glados::cuda::make_host_ptr (std::size_t width, std::size_t height, std::size_t depth) -> pitched_host_ptr< T, CopyPolicy, std::true_type >
 
template<class Dest , class Src >
auto glados::cuda::copy_sync (Dest &dest, const Src &src) -> void
 
template<class Dest , class Src >
auto glados::cuda::copy_async (Dest &dest, const Src &src) -> void