Skip to content
5f886b4
Compare
Choose a tag to compare

Added documentation on allocator (in)accessibility as well as getAllocator usage.

Added a Release function to FixedPool and corresponding gtest in strategy_tests

Installed thirdparty exports in CMake configuration file

Replay will now display high water mark statistics per allocator.

Initial support for IPC Shared Memory via a "SHARED" resource allocator. IPC Shared memory is initially available on the Host resource and will default to the value of ENABLE_MPI.

Added get_communicator_for_allocator to get an MPI Communicator for the scope of a shared allocator.

Added Allocator::getStrategyName() to get name of the strategy used.

Added getActualHighwatermark to all pool strategies, returns the high water value of getActualSize.

Added umpire::mark_event() to mark an event during Umpire lifecycle

Added asynchronous memset and reallocate operations for CUDA and HIP.

Added support for named allocations.

DynamicPoolMap marked deprecated. QuickPool should be used instead.

Refactored pool coalesce heuristic API to return either 0 or the minimum pool size to allocate when a coalesce is to be performed. No functional change yet.

All asynchronous operations now return a camp::resources::EventProxy to avoid the overhead of creating Events when they are unused.

Removed all internal tracking, allocations are only tracked at the Allocator level.

5201a47
Compare
Choose a tag to compare

v5.0.1

  • Fixed bug where zero-byte allocations from Umpire were sometimes incorrectly reported as not being Umpire allocations
2196615
Compare
Choose a tag to compare
  • Memory Resource header and source files for HIP.

  • Unified Memory support for HIP, including testing and benchmarking (temp support for Fortran).

  • Added a getParent functionality for retrieving the memory resource of an allocator.

  • Added an allocator accessibility functionality for checking if an allocator is accessible given
    a certain platform.

  • Changed enumeration names from all upper case to all lower case in order to
    avoid name collisions.

  • Fixed up broken source links in tutorial documentation.

  • registerAllocator is deprecated, addAlias should be used instead.

  • Moved backend-specific resource code out of ResourceManager and into resource::MemoryResourceRegistry.

  • Fixed accounting for number of releasable bytes in Quickpool that was causing
    coalesce operations to not work properly.

447f464
Compare
Choose a tag to compare
  • Added workaround for incorrect nvcc compiler warning:
    "warning: missing return statement at end of non-void function"
    occuring in one Umpire's header files.
df1830b
Compare
Choose a tag to compare

v4.1.1

  • Fixed DynamicPoolMap deallocate to make coalesce check O(1) again.

  • Initialize m_default_allocator to HOST if not set explicitly.

62f146d
Compare
Choose a tag to compare

v4.1.0

  • QuickPool available via the C & Fortran APIs.

  • Resources are now created on-demand when accessed for the first time.

  • Peer access is no longer automatically enabled for CUDA and HIP.

  • Added cmake check to deterime if build subsystem capable of ASAN.

  • Fixed ASAN poisoning to limit it to what user originally requested and not
    rounded amount.

  • Improved resilliance of primary pool destructors so that giving back
    previously allocated blocks to a device that has already been cleaned up
    will no longer throw an error, but instead will now be logged and ignored.

06d8692
Compare
Choose a tag to compare
  • Fixed Umpire builds with MPI enabled

  • Added missing wrapUmpire.hpp to installation directory

bdd5985
Compare
Choose a tag to compare

This release is not ABI compatible with 3.x releases, hence the major version number bump. It includes a number of new features and bug fixes, including:

  • Added a FILE memory resource that allocates memory using mmap'd files. This
    can be used to allocate memory from the burst buffers on machines like Sierra
    and Lassen.
  • All pools now have an "alignment" parameter that can be provided to the
    constructor.
  • MemoryResourceTraits now includes a resource member that can be used to
    identify the underlying resource for any Allocator.
  • Bundled tpl cxxopts has been replaced by CLI11 (only used when ENABLE_TOOLS=On)
  • Fixed memory leaks in DynamicPoolList, QuickPool.
  • Fixed reallocate operation when called on an allocation from a pool.

Please download the umpire-4.0.0.tar.gz file below, rather than the files generated automatically by Github, as these do not include all the necessary submodule code.

6576760
Compare
Choose a tag to compare

This release is not ABI compatible with 2.x releases, hence the major version number bump. It includes a number of new features and bug fixes, including:

  • Added support for multiple GPU devices, detected and registered as "DEVICE_N"
    where N is the device number.
  • Added support for capturing function backtraces with allocations.
  • Added AlignedAllocator to provide aligned allocations for host memory.
  • Fixed builds using -stdlib=c++
  • Switched to camp::Platform: Platform::cpu is now Platform::host

Please download the umpire-3.0.0.tar.gz file below, rather than the files generated automatically by Github, as these do not include all the necessary submodule code.

52e10c0
Compare
Choose a tag to compare

This minor release fixes a bug when calling reallocate with size 0. Additionally, the replay tool now supports replaying reallocate operations.

Please download the umpire-2.1.0.tar.gz file below, rather than the files generated automatically by Github, as these do not include all the necessary submodule code.