cuDDL
Loading...
Searching...
No Matches
Public Member Functions | List of all members
cuddl::detail::pinned_pool_trim Class Reference

Returns the free pages of a device_pinned_pool to the OS when it leaves scope. More...

Public Member Functions

 pinned_pool_trim (cuda::device_ref device, pinned_placement placement)
 
 pinned_pool_trim (pinned_pool_trim const &)=delete
 
pinned_pool_trim & operator= (pinned_pool_trim const &)=delete
 
 ~pinned_pool_trim ()
 

Detailed Description

Returns the free pages of a device_pinned_pool to the OS when it leaves scope.

The pool keeps freed pages so work that allocates and frees pinned buffers repeatedly pins them once; a guard around that work keeps the process from holding them afterwards. A trim that fails only leaves the pages pinned, so its status is not reported.

Definition at line 88 of file pinned_pool.cuh.

Constructor & Destructor Documentation

◆ pinned_pool_trim() [1/2]

cuddl::detail::pinned_pool_trim::pinned_pool_trim ( cuda::device_ref  device,
pinned_placement  placement 
)
inline

Definition at line 90 of file pinned_pool.cuh.

91 : pool_(device_pinned_pool(device, placement)) {}
cuda::pinned_memory_pool_ref device_pinned_pool(cuda::device_ref device, pinned_placement placement)
A page-locked memory pool accessible from device only.

◆ pinned_pool_trim() [2/2]

cuddl::detail::pinned_pool_trim::pinned_pool_trim ( pinned_pool_trim const &  )
delete

◆ ~pinned_pool_trim()

cuddl::detail::pinned_pool_trim::~pinned_pool_trim ( )
inline

Definition at line 94 of file pinned_pool.cuh.

94 {
95 (void)cudaMemPoolTrimTo(pool_.get(), 0);
96 }

Member Function Documentation

◆ operator=()

pinned_pool_trim & cuddl::detail::pinned_pool_trim::operator= ( pinned_pool_trim const &  )
delete

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