gpu_smart_pointer.hpp File Reference
#include <cuda_runtime.h>
#include <memory>
#include <opm/common/utility/gpuDecorators.hpp>
#include <opm/simulators/linalg/gpuistl/detail/gpu_safe_call.hpp>
#include <opm/simulators/linalg/gpuistl/detail/is_gpu_pointer.hpp>
Include dependency graph for gpu_smart_pointer.hpp:

Go to the source code of this file.

Classes

class  Opm::gpuistl::PointerView< T >
 A view towards a smart pointer to GPU-allocated memory. More...
 

Namespaces

namespace  Opm
 
namespace  Opm::gpuistl
 

Functions

template<typename T >
std::shared_ptr< T > Opm::gpuistl::make_gpu_shared_ptr ()
 Creates a shared pointer managing GPU-allocated memory of the specified element type. More...
 
template<typename T >
std::shared_ptr< T > Opm::gpuistl::make_gpu_shared_ptr (const T &value)
 Creates a shared pointer managing GPU-allocated memory of the specified element type. More...
 
template<typename T >
auto Opm::gpuistl::make_gpu_unique_ptr ()
 Creates a unique pointer managing GPU-allocated memory of the specified element type. More...
 
template<typename T >
auto Opm::gpuistl::make_gpu_unique_ptr (const T &value)
 Creates a unique pointer managing GPU-allocated memory of the specified element type. More...
 
template<class T >
Opm::gpuistl::copyFromGPU (const T *value)
 Copies a value from GPU-allocated memory to the host. More...
 
template<class T >
Opm::gpuistl::copyFromGPU (const std::shared_ptr< T > &value)
 Copies a value from GPU-allocated memory to the host. More...
 
template<class T , class Deleter >
Opm::gpuistl::copyFromGPU (const std::unique_ptr< T, Deleter > &value)
 Copies a value from GPU-allocated memory to the host. More...
 
template<class T >
void Opm::gpuistl::copyToGPU (const T &value, T *ptr)
 Copies a value from the host to GPU-allocated memory. More...
 
template<class T >
void Opm::gpuistl::copyToGPU (const T &value, const std::shared_ptr< T > &ptr)
 Copies a value from the host to GPU-allocated memory using a shared_ptr. More...
 
template<class T , class Deleter >
void Opm::gpuistl::copyToGPU (const T &value, const std::unique_ptr< T, Deleter > &ptr)
 Copies a value from the host to GPU-allocated memory using a unique_ptr. More...
 
template<class T >
PointerView< T > Opm::gpuistl::make_view (const std::shared_ptr< T > &ptr)
 
template<class T , class Deleter >
PointerView< T > Opm::gpuistl::make_view (const std::unique_ptr< T, Deleter > &ptr)
 

Detailed Description

defines convenience classes and functions for using std::shared_ptr and std::unique_ptr with GPU allocated memory.