Releases: llnl/Umpire
v0.3.0
This release contains some new features and performance improvements.
- Umpire now supports AMD GPUs. The option
ENABLE_ROCMwill add support for AMD GPUs on systems that have the ROCm software stack andhcccompiler installed. - The C/Fortran API has been updated and expanded. Further support will be coming in the next release.
DynamicPoolhas a couple of performance and usability improvements: reserved but unused memory can be returned to the system using therelease()function; and we have added aResourceManager::coalesce(Allocator allocator)method that can merge unused blocks into a single allocation that will improve performance and reduce memory overhead. Thecoalescemethod is automatically called when aDynamicPoolhas no active allocations.
0.2.4
This release contains several new features, bug fixes, and enhancements!
New features include:
- Support for allocating "constant" memory on CUDA GPUs
- A way of toggling introspection, to improve performance for allocators where
you don't need tracking
Fixes and enhancements are:
- Ability to deallocate nullptr (it's a no-op)
- Fixed a bug when compiling with clang that would cause problems in the AllocationMap
- Ensure all classes with virtual functions have virtual destructors
v0.2.3
This release adds initial thread-safety to data structures and provides a ThreadSafeAllocator that can be used to make any AllocationStrategy safe when shared across multiple threads.
It also updates the AllocationAdvisor so that "HOST"-based Allocators be used as arguments when applying memory advice (such as setting "HOST" as the preferred location for data allocated in unified memory).
v0.2.2
This release adds the ability to get the actual amount of memory allocated by pools, as well as the total amount that was requested by the user. It also adds support for reallocating null pointers.
v0.2.1
This release contains new functionality for applying cudaMemAdvise to allocations, as well as various performance improvements. It also adds a new AllocationStrategy: FixedPool, which can be used to efficiently allocated fixed-size objects. Finally, this release supports collecting statistics about allocations and operations , and outputting these in json format.
v0.2.0
This release contains some performance improvements related to tracking information about allocations. It also contains a new emplace-style construction for Allocators.
N.B this change is not backwards compatible with 0.1.X releases
v0.1.4
This release contains a bugfix for the POOL allocator, related to some of the allocations being unaligned. It also contains a performance fix to reduce the overhead of logging messages to disabled log levels.
v0.1.3
Initial release of Umpire, supports CPU and GPU (CUDA-based) allocations.