|
opm-simulators
|
defines convenience classes and functions for using std::shared_ptr and std::unique_ptr with GPU allocated memory. More...
#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>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... | |
| class | Opm::gpuistl::PointerView< void > |
| Specialization of PointerView for void type This is needed beause we cannot have a PointerView<void> specialization due to dereferincing a void ptr. More... | |
| class | Opm::gpuistl::ValueAsPointer< T > |
| A value stored with a pointer interface. More... | |
Namespaces | |
| namespace | Opm |
| This file contains a set of helper functions used by VFPProd / VFPInj. | |
| namespace | Opm::gpuistl |
| A small, fixed‑dimension MiniVector class backed by std::array that can be used in both host and CUDA device code. | |
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. | |
| 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. | |
| template<typename T> | |
| auto | Opm::gpuistl::make_gpu_unique_ptr () |
| Creates a unique pointer managing GPU-allocated memory of the specified element type. | |
| 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. | |
| template<class T> | |
| T | Opm::gpuistl::copyFromGPU (const T *value) |
| Copies a value from GPU-allocated memory to the host. | |
| template<class T> | |
| T | Opm::gpuistl::copyFromGPU (const std::shared_ptr< T > &value) |
| Copies a value from GPU-allocated memory to the host. | |
| template<class T, class Deleter> | |
| T | Opm::gpuistl::copyFromGPU (const std::unique_ptr< T, Deleter > &value) |
| Copies a value from GPU-allocated memory to the host. | |
| template<class T> | |
| void | Opm::gpuistl::copyToGPU (const T &value, T *ptr) |
| Copies a value from the host to GPU-allocated memory. | |
| 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. | |
| 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. | |
| 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) |
defines convenience classes and functions for using std::shared_ptr and std::unique_ptr with GPU allocated memory.