cuda::experimental::device_memory_resource#
-
class device_memory_resource : public cuda::experimental::__memory_resource_base#
Stream ordered memory resource#
device_memory_resource
uses cudaMallocFromPoolAsync / cudaFreeAsync for allocation/deallocation. Adevice_memory_resource
is a thin wrapper around a c cudaMemPool_t.Warning
device_memory_resource
does not own the pool and it is the responsibility of the user to ensure that the lifetime of the pool exceeds the lifetime of thedevice_memory_resource
.Public Types
-
using default_queries = properties_list<device_accessible>#
Public Functions
-
inline explicit device_memory_resource(::cuda::device_ref __device)#
Constructs a device_memory_resource using the default
cudaMemPool_t
of a given device.- Throws:
cuda_error – if retrieving the default
cudaMemPool_t
fails.
-
device_memory_resource(int) = delete#
-
device_memory_resource(::cuda::std::nullptr_t) = delete#
- inline explicit device_memory_resource(
- ::cudaMemPool_t __pool,
Constructs the device_memory_resource from a
cudaMemPool_t
.- Parameters:
__pool – The
cudaMemPool_t
used to allocate memory.
- inline explicit device_memory_resource(
- device_memory_pool &__pool,
Constructs the device_memory_resource from a
device_memory_pool
by calling get().- Parameters:
__pool – The
device_memory_pool
used to allocate memory.
- inline friend constexpr void get_property(
- device_memory_resource const&,
- device_accessible,
Enables the
device_accessible
property fordevice_memory_resource
.
-
using default_queries = properties_list<device_accessible>#