Singleton interface to all buffer_managers.
More...
#include <buffer_management.hpp>
|
template<typename T , typename Host_Allocator > |
static T * | get (size_t number_elements, bool manage_content_lifetime=false, std::optional< size_t > location_hint=std::nullopt, std::optional< size_t > device_id=std::nullopt) |
|
template<typename T , typename Host_Allocator > |
static void | mark_unused (T *p, size_t number_elements, std::optional< size_t > location_hint=std::nullopt, std::optional< size_t > device_id=std::nullopt) |
|
template<typename T , typename Host_Allocator > |
static void | register_allocator_counters_with_hpx (void) |
| Register all CPPuddle counters as HPX performance counters.
|
|
static void | clean_all () |
| Deallocate all buffers, no matter whether they are marked as used or not.
|
|
static void | clean_unused_buffers () |
| Deallocated all currently unused buffer.
|
|
static void | finalize () |
| Deallocate all buffers, no matter whether they are marked as used or not.
|
|
static void | print_performance_counters () |
|
Singleton interface to all buffer_managers.
◆ ~buffer_interface()
cppuddle::memory_recycling::detail::buffer_interface::~buffer_interface |
( |
| ) |
|
|
default |
◆ buffer_interface() [1/2]
cppuddle::memory_recycling::detail::buffer_interface::buffer_interface |
( |
buffer_interface const & |
other | ) |
|
|
delete |
◆ buffer_interface() [2/2]
cppuddle::memory_recycling::detail::buffer_interface::buffer_interface |
( |
buffer_interface && |
other | ) |
|
|
delete |
◆ clean_all()
static void cppuddle::memory_recycling::detail::buffer_interface::clean_all |
( |
| ) |
|
|
inlinestatic |
Deallocate all buffers, no matter whether they are marked as used or not.
◆ clean_unused_buffers()
static void cppuddle::memory_recycling::detail::buffer_interface::clean_unused_buffers |
( |
| ) |
|
|
inlinestatic |
Deallocated all currently unused buffer.
◆ finalize()
static void cppuddle::memory_recycling::detail::buffer_interface::finalize |
( |
| ) |
|
|
inlinestatic |
Deallocate all buffers, no matter whether they are marked as used or not.
◆ get()
template<typename T , typename Host_Allocator >
static T * cppuddle::memory_recycling::detail::buffer_interface::get |
( |
size_t |
number_elements, |
|
|
bool |
manage_content_lifetime = false , |
|
|
std::optional< size_t > |
location_hint = std::nullopt , |
|
|
std::optional< size_t > |
device_id = std::nullopt |
|
) |
| |
|
inlinestatic |
Primary method to allocate a buffer with CPPuddle: Returns and allocated / buffer of the requested size - this may be a reused buffer. The method figures out the correct buffer_manager and gets such a buffer from it. Should be called from an allocator implementation, not directly
◆ mark_unused()
template<typename T , typename Host_Allocator >
static void cppuddle::memory_recycling::detail::buffer_interface::mark_unused |
( |
T * |
p, |
|
|
size_t |
number_elements, |
|
|
std::optional< size_t > |
location_hint = std::nullopt , |
|
|
std::optional< size_t > |
device_id = std::nullopt |
|
) |
| |
|
inlinestatic |
Primary method to deallocate a buffer with CPPuddle:Marks an buffer as / unused and fit for reusage. The method figures out the correct buffer manager and marks the buffer there. Should be called from an allocator implementation, not directly
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ print_performance_counters()
static void cppuddle::memory_recycling::detail::buffer_interface::print_performance_counters |
( |
| ) |
|
|
inlinestatic |
◆ register_allocator_counters_with_hpx()
template<typename T , typename Host_Allocator >
static void cppuddle::memory_recycling::detail::buffer_interface::register_allocator_counters_with_hpx |
( |
void |
| ) |
|
|
inlinestatic |
Register all CPPuddle counters as HPX performance counters.
The documentation for this class was generated from the following file: