|
UMPIRE
Umpire: resource management and provision
|
#include </home/docs/checkouts/readthedocs.org/user_builds/umpire/checkouts/develop/src/umpire/ResourceManager.hpp>
Public Member Functions | |
| void | initialize () |
| Initialize the ResourceManager. More... | |
| std::vector< std::string > | getAllocatorNames () const noexcept |
| Get the names of all available Allocator objects. More... | |
| std::vector< int > | getAllocatorIds () const noexcept |
| Get the ids of all available Allocator objects. More... | |
| Allocator | getAllocator (const std::string &name) |
| Get the Allocator with the given name. More... | |
| Allocator | getAllocator (const char *name) |
| Allocator | getAllocator (resource::MemoryResourceType resource_type) |
| Get the default Allocator for the given resource_type. More... | |
| Allocator | getAllocator (int id) |
| Get the Allocator with the given ID. More... | |
| Allocator | getDefaultAllocator () |
| Get the default Allocator. More... | |
| std::vector< std::string > | getResourceNames () |
| Get the names for existing Resources. More... | |
| std::vector< std::string > | getSharedAllocatorNames () |
| Get the names for existing SHARED Allocator names, if any. More... | |
| void | setDefaultAllocator (Allocator allocator) noexcept |
| Set the default Allocator. More... | |
| template<typename Strategy , bool introspection = true, typename... Args> | |
| Allocator | makeAllocator (const std::string &name, Args &&... args) |
| Construct a new Allocator. More... | |
| template<typename Strategy , typename... Args> | |
| Allocator | makeAllocator (const std::string &name, Tracking tracked, Args &&... args) |
| Allocator | makeResource (const std::string &name) |
| Allocator | makeResource (const std::string &name, MemoryResourceTraits traits) |
| void | addAlias (const std::string &name, Allocator allocator) |
| Add an Allocator alias. More... | |
| void | removeAlias (const std::string &name, Allocator allocator) |
| Remove an Allocator alias. More... | |
| void | destroyAllocator (const std::string &name, bool free_allocations=false) |
| Destroy an allocator by name. More... | |
| void | destroyAllocator (int id, bool free_allocations=false) |
| Destroy an allocator by ID. More... | |
| Allocator | getAllocator (void *ptr) |
| Get the Allocator used to allocate ptr. More... | |
| bool | isAllocator (const std::string &name) noexcept |
| bool | isAllocator (int id) noexcept |
| bool | hasAllocator (void *ptr) |
| Does the given pointer have an associated Allocator. More... | |
| void | registerAllocation (void *ptr, util::AllocationRecord record) |
| register an allocation with the manager. More... | |
| util::AllocationRecord | deregisterAllocation (void *ptr) |
| de-register the address ptr with the manager. More... | |
| const util::AllocationRecord * | findAllocationRecord (void *ptr) const |
| Find the allocation record associated with an address ptr. More... | |
| void | copy (void *dst_ptr, void *src_ptr, std::size_t size=0) |
| Copy size bytes of data from src_ptr to dst_ptr. More... | |
| camp::resources::EventProxy< camp::resources::Resource > | copy (void *dst_ptr, void *src_ptr, camp::resources::Resource &ctx, std::size_t size=0) |
| void | memset (void *ptr, int val, std::size_t length=0) |
| Set the first length bytes of ptr to the value val. More... | |
| camp::resources::EventProxy< camp::resources::Resource > | memset (void *ptr, int val, camp::resources::Resource &ctx, std::size_t length=0) |
| void * | reallocate (void *current_ptr, std::size_t new_size) |
| Reallocate current_ptr to new_size. More... | |
| void * | reallocate (void *current_ptr, std::size_t new_size, camp::resources::Resource &ctx) |
| void * | reallocate (void *current_ptr, std::size_t new_size, Allocator allocator) |
| Reallocate current_ptr to new_size. More... | |
| void * | reallocate (void *current_ptr, std::size_t new_size, Allocator allocator, camp::resources::Resource &ctx) |
| void * | move (void *src_ptr, Allocator allocator) |
| Move src_ptr to memory from allocator. More... | |
| void | deallocate (void *ptr) |
| Deallocate any pointer allocated by an Umpire-managed resource. More... | |
| camp::resources::EventProxy< camp::resources::Resource > | prefetch (void *ptr, int device, camp::resources::Resource &ctx) |
| Asynchronously prefetch memory ptr to device. More... | |
| std::size_t | getSize (void *ptr) const |
| Get the size in bytes of the allocation for the given pointer. More... | |
| std::size_t | getInternalMemoryUsage () const |
| std::shared_ptr< op::MemoryOperation > | getOperation (const std::string &operation_name, Allocator src_allocator, Allocator dst_allocator) |
| int | getNumDevices () const |
| ~ResourceManager () | |
| ResourceManager (const ResourceManager &)=delete | |
| ResourceManager & | operator= (const ResourceManager &)=delete |
Static Public Member Functions | |
| static ResourceManager & | getInstance () |
Friends | |
| void | print_allocator_records (Allocator, std::ostream &) |
| Print the allocations from a specific allocator in a human-readable format. More... | |
| std::vector< util::AllocationRecord > | get_allocator_records (Allocator) |
| Returns vector of AllocationRecords created by the allocator. More... | |
| umpire::ResourceManager::~ResourceManager | ( | ) |
References umpire::util::message::Error, umpire::print_allocator_records(), and UMPIRE_LOG.
|
delete |
|
static |
References umpire::util::message::Debug, and UMPIRE_LOG.
Referenced by umpire::strategy::mixins::AllocateNull::allocateNull(), umpire::strategy::mixins::AllocateNull::deallocateNull(), umpire::deregister_external_allocation(), umpire::strategy::mixins::Inspector::deregisterAllocation(), umpire::DeviceAllocator::destroy(), umpire::strategy::DeviceIpcAllocator::DeviceIpcAllocator(), umpire::free(), umpire::get_backtrace(), umpire::get_internal_memory_usage(), umpire::get_total_bytes_allocated(), umpire::Allocator::getSize(), umpire::malloc(), umpire::pointer_contains(), umpire::pointer_overlaps(), umpire::register_external_allocation(), umpire::strategy::mixins::Inspector::registerAllocation(), umpire::DeviceAllocator::reset(), umpire::op::GenericReallocateOperation::transform(), umpire::op::HostReallocateOperation::transform(), umpire::op::GenericReallocateOperation::transform_async(), and umpire_resourcemanager_get_instance().
| void umpire::ResourceManager::initialize | ( | ) |
Initialize the ResourceManager.
This will create all registered MemoryResource objects
References umpire::util::message::Debug, umpire::resource::MemoryResourceRegistry::getInstance(), umpire::resource::MemoryResourceRegistry::makeMemoryResource(), umpire::event::metadata, umpire::event::record(), s_null_resource_name, s_zero_byte_pool_name, and UMPIRE_LOG.
|
noexcept |
Get the names of all available Allocator objects.
References umpire::util::message::Debug, and UMPIRE_LOG.
|
noexcept |
Get the ids of all available Allocator objects.
| Allocator umpire::ResourceManager::getAllocator | ( | const std::string & | name | ) |
Get the Allocator with the given name.
References umpire::util::message::Debug, and UMPIRE_LOG.
Referenced by addAlias(), getAllocator(), getDefaultAllocator(), umpire_resourcemanager_get_allocator_by_id(), umpire_resourcemanager_get_allocator_by_name(), umpire_resourcemanager_get_allocator_by_name_bufferify(), and umpire_resourcemanager_get_allocator_for_ptr().
| Allocator umpire::ResourceManager::getAllocator | ( | const char * | name | ) |
References getAllocator().
| Allocator umpire::ResourceManager::getAllocator | ( | resource::MemoryResourceType | resource_type | ) |
Get the default Allocator for the given resource_type.
References umpire::util::message::Debug, getAllocator(), umpire::resource::resource_to_string(), and UMPIRE_LOG.
| Allocator umpire::ResourceManager::getAllocator | ( | int | id | ) |
Get the Allocator with the given ID.
References umpire::util::message::Debug, UMPIRE_ERROR, and UMPIRE_LOG.
| Allocator umpire::ResourceManager::getDefaultAllocator | ( | ) |
Get the default Allocator.
The default Allocator is used whenever an Allocator is required and one is not provided, or cannot be inferred.
References umpire::util::message::Debug, umpire::Allocator::getAllocationStrategy(), getAllocator(), and UMPIRE_LOG.
Referenced by umpire::malloc(), and reallocate().
| std::vector< std::string > umpire::ResourceManager::getResourceNames | ( | ) |
Get the names for existing Resources.
The Memory Resource Registry dynamically populates available memory resource types based on what's available. This function returns those names so they can be used to determine allocator accessibility.
References umpire::resource::MemoryResourceRegistry::getInstance(), and umpire::resource::MemoryResourceRegistry::getResourceNames().
| std::vector< std::string > umpire::ResourceManager::getSharedAllocatorNames | ( | ) |
Get the names for existing SHARED Allocator names, if any.
The SHARED memory resource only indicates whether or not these SHARED allocators exist. Since SHARED allocators are made at runtime, this function will actually find the specific name of each SHARED allocator and return it.
References umpire::util::message::Debug, and UMPIRE_LOG.
|
noexcept |
Set the default Allocator.
The default Allocator is used whenever an Allocator is required and one is not provided, or cannot be inferred.
| allocator | The Allocator to use as the default. |
References umpire::util::message::Debug, umpire::event::operation, umpire::event::record(), and UMPIRE_LOG.
| Allocator umpire::ResourceManager::makeAllocator | ( | const std::string & | name, |
| Args &&... | args | ||
| ) |
Construct a new Allocator.
References umpire::Tracked, and umpire::Untracked.
Referenced by umpire_resourcemanager_make_allocator_advisor(), umpire_resourcemanager_make_allocator_aligned_allocator(), umpire_resourcemanager_make_allocator_bufferify_advisor(), umpire_resourcemanager_make_allocator_bufferify_aligned_allocator(), umpire_resourcemanager_make_allocator_bufferify_fixed_pool(), umpire_resourcemanager_make_allocator_bufferify_list_pool(), umpire_resourcemanager_make_allocator_bufferify_mixed_pool(), umpire_resourcemanager_make_allocator_bufferify_monotonic(), umpire_resourcemanager_make_allocator_bufferify_named(), umpire_resourcemanager_make_allocator_bufferify_naming_shim(), umpire_resourcemanager_make_allocator_bufferify_prefetcher(), umpire_resourcemanager_make_allocator_bufferify_quick_pool(), umpire_resourcemanager_make_allocator_bufferify_resource_aware_pool(), umpire_resourcemanager_make_allocator_bufferify_size_limiter(), umpire_resourcemanager_make_allocator_bufferify_slot_pool(), umpire_resourcemanager_make_allocator_bufferify_thread_safe(), umpire_resourcemanager_make_allocator_fixed_pool(), umpire_resourcemanager_make_allocator_fixed_pool_untracked(), umpire_resourcemanager_make_allocator_fixed_pool_untracked_bufferify(), umpire_resourcemanager_make_allocator_list_pool(), umpire_resourcemanager_make_allocator_list_pool_untracked(), umpire_resourcemanager_make_allocator_list_pool_untracked_bufferify(), umpire_resourcemanager_make_allocator_mixed_pool(), umpire_resourcemanager_make_allocator_mixed_pool_untracked(), umpire_resourcemanager_make_allocator_mixed_pool_untracked_bufferify(), umpire_resourcemanager_make_allocator_monotonic(), umpire_resourcemanager_make_allocator_monotonic_untracked(), umpire_resourcemanager_make_allocator_monotonic_untracked_bufferify(), umpire_resourcemanager_make_allocator_named(), umpire_resourcemanager_make_allocator_naming_shim(), umpire_resourcemanager_make_allocator_prefetcher(), umpire_resourcemanager_make_allocator_quick_pool(), umpire_resourcemanager_make_allocator_quick_pool_untracked(), umpire_resourcemanager_make_allocator_quick_pool_untracked_bufferify(), umpire_resourcemanager_make_allocator_resource_aware_pool(), umpire_resourcemanager_make_allocator_resource_aware_pool_untracked(), umpire_resourcemanager_make_allocator_resource_aware_pool_untracked_bufferify(), umpire_resourcemanager_make_allocator_size_limiter(), umpire_resourcemanager_make_allocator_slot_pool(), umpire_resourcemanager_make_allocator_slot_pool_untracked(), umpire_resourcemanager_make_allocator_slot_pool_untracked_bufferify(), and umpire_resourcemanager_make_allocator_thread_safe().
| Allocator umpire::ResourceManager::makeResource | ( | const std::string & | name | ) |
| Allocator umpire::ResourceManager::makeResource | ( | const std::string & | name, |
| MemoryResourceTraits | traits | ||
| ) |
References umpire::MemoryResourceTraits::coarse_grained, umpire::MemoryResourceTraits::fine_grained, umpire::resource::MemoryResourceRegistry::getInstance(), umpire::MemoryResourceTraits::granularity, umpire::MemoryResourceTraits::id, umpire::event::operation, umpire::event::record(), umpire::resource::resource_to_device_id(), umpire::resource::string_to_resource(), umpire::MemoryResourceTraits::tracking, and UMPIRE_ERROR.
| void umpire::ResourceManager::addAlias | ( | const std::string & | name, |
| Allocator | allocator | ||
| ) |
Add an Allocator alias.
After this call, allocator can be retrieved by calling getAllocator(name).
The same Allocator can have multiple aliases.
References umpire::Allocator::getAllocationStrategy(), getAllocator(), isAllocator(), and UMPIRE_ERROR.
Referenced by umpire_resourcemanager_add_alias(), and umpire_resourcemanager_add_alias_bufferify().
| void umpire::ResourceManager::removeAlias | ( | const std::string & | name, |
| Allocator | allocator | ||
| ) |
Remove an Allocator alias.
After calling, allocator can no longer be accessed by calling getAllocator(name). If allocator is not registered under name, an error will be thrown.
If one of the default resource names (e.g. HOST) is used, an error will be thrown.
References umpire::Allocator::getId(), umpire::Allocator::getName(), isAllocator(), and UMPIRE_ERROR.
Referenced by umpire_resourcemanager_remove_alias(), and umpire_resourcemanager_remove_alias_bufferify().
| void umpire::ResourceManager::destroyAllocator | ( | const std::string & | name, |
| bool | free_allocations = false |
||
| ) |
Destroy an allocator by name.
Removes the allocator from the ResourceManager and frees associated resources. Core resource allocators (HOST, DEVICE, etc.) cannot be destroyed.
Behavior is controlled by the UMPIRE_STRICT_DESTRUCTION environment variable:
If UMPIRE_STRICT_DESTRUCTION is set (to any value):
If UMPIRE_STRICT_DESTRUCTION is not set (default):
Example: export UMPIRE_STRICT_DESTRUCTION=1 // Enable strict mode unset UMPIRE_STRICT_DESTRUCTION // Disable strict mode (default)
| name | Name of the allocator to destroy |
| free_allocations | If true, deallocates all active allocations before destroying. Defaults to false. |
| runtime_error | if allocator is a core resource or not found |
References umpire::util::message::Debug, deregisterAllocation(), umpire::get_allocator_records(), umpire::strategy::AllocationStrategy::getId(), umpire::strategy::AllocationStrategy::getName(), umpire::strategy::AllocationStrategy::getParent(), umpire::event::operation, umpire::event::record(), UMPIRE_ERROR, UMPIRE_LOG, and umpire::util::message::Warning.
Referenced by destroyAllocator(), umpire_resourcemanager_destroy_allocator_by_id(), umpire_resourcemanager_destroy_allocator_by_id_with_free(), umpire_resourcemanager_destroy_allocator_by_name(), umpire_resourcemanager_destroy_allocator_by_name_bufferify(), umpire_resourcemanager_destroy_allocator_by_name_with_free(), and umpire_resourcemanager_destroy_allocator_by_name_with_free_bufferify().
| void umpire::ResourceManager::destroyAllocator | ( | int | id, |
| bool | free_allocations = false |
||
| ) |
Destroy an allocator by ID.
See destroyAllocator(const std::string&, bool) for detailed behavior.
| id | ID of the allocator to destroy |
| free_allocations | If true, deallocates all active allocations before destroying. Defaults to false. |
| runtime_error | if allocator is a core resource or not found |
References umpire::util::message::Debug, destroyAllocator(), UMPIRE_ERROR, and UMPIRE_LOG.
| Allocator umpire::ResourceManager::getAllocator | ( | void * | ptr | ) |
Get the Allocator used to allocate ptr.
| ptr | Pointer to find the Allocator for. |
References umpire::util::message::Debug, and UMPIRE_LOG.
|
noexcept |
References umpire::resource::MemoryResourceRegistry::getInstance(), and umpire::resource::MemoryResourceRegistry::getResourceNames().
Referenced by addAlias(), makeAllocator(), removeAlias(), umpire_resourcemanager_is_allocator_id(), umpire_resourcemanager_is_allocator_name(), and umpire_resourcemanager_is_allocator_name_bufferify().
|
noexcept |
| bool umpire::ResourceManager::hasAllocator | ( | void * | ptr | ) |
Does the given pointer have an associated Allocator.
References umpire::util::AllocationMap::contains(), umpire::util::message::Debug, and UMPIRE_LOG.
Referenced by umpire_resourcemanager_has_allocator().
| void umpire::ResourceManager::registerAllocation | ( | void * | ptr, |
| util::AllocationRecord | record | ||
| ) |
register an allocation with the manager.
References umpire::util::message::Debug, umpire::util::AllocationMap::insert(), umpire::event::record(), UMPIRE_ERROR, UMPIRE_LOG, and UMPIRE_RECORD_BACKTRACE.
Referenced by umpire::strategy::mixins::Inspector::deregisterAllocation(), umpire::strategy::mixins::Inspector::registerAllocation(), umpire::op::HostReallocateOperation::transform(), and umpire_resourcemanager_register_allocation().
| util::AllocationRecord umpire::ResourceManager::deregisterAllocation | ( | void * | ptr | ) |
de-register the address ptr with the manager.
References umpire::util::message::Debug, umpire::util::AllocationMap::remove(), and UMPIRE_LOG.
Referenced by umpire::strategy::mixins::Inspector::deregisterAllocation(), destroyAllocator(), umpire::op::HostReallocateOperation::transform(), and umpire_resourcemanager_deregister_allocation().
| const util::AllocationRecord * umpire::ResourceManager::findAllocationRecord | ( | void * | ptr | ) | const |
Find the allocation record associated with an address ptr.
References umpire::util::message::Debug, umpire::util::AllocationMap::find(), UMPIRE_ERROR, and UMPIRE_LOG.
| void umpire::ResourceManager::copy | ( | void * | dst_ptr, |
| void * | src_ptr, | ||
| std::size_t | size = 0 |
||
| ) |
Copy size bytes of data from src_ptr to dst_ptr.
Both the src_ptr and dst_ptr addresses must be allocated by Umpire. They can be offset from any Umpire-managed base address.
The dst_ptr must be large enough to accommodate size bytes of data.
| dst_ptr | Destination pointer. |
| src_ptr | Source pointer. |
| size | Size in bytes. |
References umpire::util::message::Debug, umpire::util::AllocationMap::find(), umpire::op::MemoryOperationRegistry::getInstance(), umpire::event::operation, umpire::event::record(), umpire::util::AllocationRecord::size, UMPIRE_ERROR, and UMPIRE_LOG.
Referenced by move(), umpire::op::GenericReallocateOperation::transform(), umpire::op::HostReallocateOperation::transform(), umpire::op::GenericReallocateOperation::transform_async(), umpire_resourcemanager_copy_all(), and umpire_resourcemanager_copy_with_size().
| camp::resources::EventProxy< camp::resources::Resource > umpire::ResourceManager::copy | ( | void * | dst_ptr, |
| void * | src_ptr, | ||
| camp::resources::Resource & | ctx, | ||
| std::size_t | size = 0 |
||
| ) |
| void umpire::ResourceManager::memset | ( | void * | ptr, |
| int | val, | ||
| std::size_t | length = 0 |
||
| ) |
Set the first length bytes of ptr to the value val.
| ptr | Pointer to data. |
| val | Value to set. |
| length | Number of bytes to set to val. |
References umpire::util::message::Debug, umpire::util::AllocationMap::find(), umpire::op::MemoryOperationRegistry::getInstance(), umpire::event::operation, umpire::event::record(), umpire::util::AllocationRecord::size, UMPIRE_ERROR, and UMPIRE_LOG.
Referenced by umpire_resourcemanager_memset_all(), and umpire_resourcemanager_memset_with_size().
| camp::resources::EventProxy< camp::resources::Resource > umpire::ResourceManager::memset | ( | void * | ptr, |
| int | val, | ||
| camp::resources::Resource & | ctx, | ||
| std::size_t | length = 0 |
||
| ) |
| void * umpire::ResourceManager::reallocate | ( | void * | current_ptr, |
| std::size_t | new_size | ||
| ) |
Reallocate current_ptr to new_size.
| current_ptr | Source pointer to reallocate. |
| new_size | New size of pointer. |
If current_ptr is nullptr, then the default allocator will be used to allocate data. The default allocator may be set with a call to setDefaultAllocator(Allocator allocator).
NOTE 1: This is not thread safe NOTE 2: If the allocator for which current_ptr is intended is different from the default allocator, then all subsequent reallocate calls will result in allocations from the default allocator which may not be the intended behavior.
If new_size is 0, then the current_ptr will be deallocated if it is not a nullptr, and a zero-byte allocation will be returned.
References umpire::util::AllocationMap::find(), umpire::Allocator::getAllocationStrategy(), getDefaultAllocator(), umpire::event::operation, and umpire::event::record().
Referenced by umpire_resourcemanager_reallocate_default(), and umpire_resourcemanager_reallocate_with_allocator().
| void * umpire::ResourceManager::reallocate | ( | void * | current_ptr, |
| std::size_t | new_size, | ||
| camp::resources::Resource & | ctx | ||
| ) |
| void * umpire::ResourceManager::reallocate | ( | void * | current_ptr, |
| std::size_t | new_size, | ||
| Allocator | allocator | ||
| ) |
Reallocate current_ptr to new_size.
| current_ptr | Source pointer to reallocate. |
| new_size | New size of pointer. |
| allocator | Allocator to use if current_ptr is null. |
If current_ptr is null, then allocator will be used to allocate the data.
If new_size is 0, then the current_ptr will be deallocated if it is not a nullptr, and a zero-byte allocation will be returned.
References umpire::Allocator::getAllocationStrategy(), umpire::Allocator::getName(), umpire::event::operation, and umpire::event::record().
| void * umpire::ResourceManager::reallocate | ( | void * | current_ptr, |
| std::size_t | new_size, | ||
| Allocator | allocator, | ||
| camp::resources::Resource & | ctx | ||
| ) |
| void * umpire::ResourceManager::move | ( | void * | src_ptr, |
| Allocator | allocator | ||
| ) |
Move src_ptr to memory from allocator.
| src_ptr | Pointer to move. |
| allocator | Allocator to use to allocate new memory for moved data. |
References umpire::Allocator::allocate(), copy(), deallocate(), umpire::util::message::Debug, umpire::util::AllocationMap::find(), umpire::Allocator::getAllocationStrategy(), umpire::op::MemoryOperationRegistry::getInstance(), umpire::Allocator::getName(), umpire::event::operation, umpire::event::record(), umpire::util::AllocationRecord::size, UMPIRE_ASSERT, UMPIRE_ERROR, and UMPIRE_LOG.
Referenced by umpire_resourcemanager_move().
| void umpire::ResourceManager::deallocate | ( | void * | ptr | ) |
Deallocate any pointer allocated by an Umpire-managed resource.
| ptr | Pointer to deallocate. |
References umpire::util::message::Debug, and UMPIRE_LOG.
Referenced by umpire::free(), move(), and umpire_resourcemanager_deallocate().
| camp::resources::EventProxy< camp::resources::Resource > umpire::ResourceManager::prefetch | ( | void * | ptr, |
| int | device, | ||
| camp::resources::Resource & | ctx | ||
| ) |
Asynchronously prefetch memory ptr to device.
| ptr | Pointer to prefech |
| device | Device to prefetch data to |
| ctx | Resource to use for asynchronous operation |
References umpire::util::message::Debug, umpire::util::AllocationMap::find(), umpire::op::MemoryOperationRegistry::getInstance(), umpire::MemoryResourceTraits::um, UMPIRE_ERROR, and UMPIRE_LOG.
| std::size_t umpire::ResourceManager::getSize | ( | void * | ptr | ) | const |
Get the size in bytes of the allocation for the given pointer.
| ptr | Pointer to find size of. |
References umpire::util::message::Debug, umpire::util::AllocationMap::find(), umpire::event::record(), and UMPIRE_LOG.
Referenced by umpire::Allocator::getSize(), and umpire_resourcemanager_get_size().
| std::size_t umpire::ResourceManager::getInternalMemoryUsage | ( | ) | const |
References umpire::util::AllocationMap::internalMemoryUsage().
Referenced by umpire::get_internal_memory_usage().
| std::shared_ptr< op::MemoryOperation > umpire::ResourceManager::getOperation | ( | const std::string & | operation_name, |
| Allocator | src_allocator, | ||
| Allocator | dst_allocator | ||
| ) |
| int umpire::ResourceManager::getNumDevices | ( | ) | const |
References UMPIRE_ERROR.
|
delete |
|
friend |
Print the allocations from a specific allocator in a human-readable format.
| allocator | source Allocator. |
| os | output stream |
|
friend |
Returns vector of AllocationRecords created by the allocator.
| allocator | source Allocator. |