Skip to content

Releases: llnl/Umpire

v0.3.0

11 Dec 22:20
529004f

Choose a tag to compare

This release contains some new features and performance improvements.

  • Umpire now supports AMD GPUs. The option ENABLE_ROCM will add support for AMD GPUs on systems that have the ROCm software stack and hcc compiler installed.
  • The C/Fortran API has been updated and expanded. Further support will be coming in the next release.
  • DynamicPool has a couple of performance and usability improvements: reserved but unused memory can be returned to the system using the release() function; and we have added a ResourceManager::coalesce(Allocator allocator) method that can merge unused blocks into a single allocation that will improve performance and reduce memory overhead. The coalesce method is automatically called when a DynamicPool has no active allocations.

0.2.4

24 Oct 17:44

Choose a tag to compare

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

07 Aug 15:55

Choose a tag to compare

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

26 Jul 20:41

Choose a tag to compare

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

12 Jul 23:31

Choose a tag to compare

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

01 Jun 12:44

Choose a tag to compare

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

17 Apr 16:25

Choose a tag to compare

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

03 Apr 20:07

Choose a tag to compare

Initial release of Umpire, supports CPU and GPU (CUDA-based) allocations.