Skip to content

Releases: llnl/Umpire

v2025.12.0

17 Dec 21:36
0372fbd

Choose a tag to compare

Added getInternalMemoryUsage method to track Umpire's internal memory usage for metadata

Improved/Optimized how the ResourceAwarePool handles Pending chunks

Added Default Shared Memory resource clarifications in cmake and examples

Added CUDA 13 Support
umpire-2025.12.0.tar.gz

v2025.09.0

09 Sep 19:09
6b0ea9e

Choose a tag to compare

v2025.09.0

Changes Impacting Builds

This release of Umpire contains the following build requirement changes:

  • Umpire now requires C++17 or later.

New Features

  • Added DeviceIpcAllocator for GPU memory sharing between processes.

  • Added HIP support to AllocationAdvisor.

  • Added HIP support for get_device_mem_usage function.

  • Extended Fortran API support:

    • Added AlignedAllocator to Fortran API.
    • Added SizeLimiter to Fortran API.
    • Added other strategies to Fortran API.
    • Added logical allocation routines to Fortran API.
    • Extended FORTRAN allocation support to 7D.
    • Added 5D Fortran allocation routines.
  • Allow both shared memory implementations to be used at the same time.

Bug Fixes

  • Fixed a communicator leak in HostMpi3SharedMemoryResource.

  • Fixed handling of the CUDA language standard.

  • Fixed HIP constant memory implementation.

v2025.03.1

02 Jul 23:11

Choose a tag to compare

New Features

  • Added DeviceIpcAllocator strategy to allow interprocess device shared memory.

v2025.03.0

18 Mar 17:21
1ed0669

Choose a tag to compare

New Features

  • Added a ResourceAwarePool which allows memory from the same pool to be used (1) across multiple device streams and (2) in a single memory space environment without the potential to cause data races.
  • Added MPI3 Shared Memory Allocators which uses MPI3 capabilities for Shared Memory.
  • Added a NamingShim strategy to allow users to allocate IPC shared memory without providing a name.

Bug Fixes

  • Fixed a minor memory leak when using IPC Shared Memory Allocators.

Improvements

  • A get_total_bytes_allocated function was implemented which returns the total amount of bytes allocated with Umpire allocators.
  • The NamedAllocationStrategy can now be used with IPC Shared Memory Allocators.
  • Additional documentation for Shared Memory Allocators was created and reorganized.
  • Additional documentation on requirements for Windows builds was added to the cmake.

v2024.07.0

25 Jul 23:41
abd729f

Choose a tag to compare

Changes Impacting Builds

This release of Umpire contains new build requirements including:

  • Cmake version 3.23 or later is required.
  • Camp version v2024.07.0 or later is required.

Bug Fixes

  • Umpire uses Fortran_FORMAT to avoid compilation errors when using LLVM flang.

Improvements

  • SYCL and Intel builds were added to Umpire`s DockerFile in addition to other builds in the Github workflow for better testing.

v2024.02.1

16 Apr 12:56
3058d56

Choose a tag to compare

Bug Fixes

  • Make usage of fmt header-only by default

v2024.02.0

23 Feb 00:40
1db3fef

Choose a tag to compare

New Features

  • Allow using external fmt

Improvements

  • Change default heuristic to percent_releasable_hwm(100)
  • Making umpire_device a separate library
  • Use GNUInstallDirs to set installation directories

Bug Fixes

  • Make allocate API threadsafe
  • Unroll product loop to fix overflow in Fortran wrappers
  • Fix typo in HostSharedMemoryResourceImpl causing infinite loop

v2023.06.0

06 Jul 21:44
1e5ef60

Choose a tag to compare

New Features

  • Add _hwm variant of pool heuristic functions. These reallocate to the high watermark value after a coalescing, and can reduce memory overhead.

Improvements

  • Support 2023 OneAPI release.

  • Add HIP support to the DeviceAllocator.

Bug Fixes

  • Prefix fmt macros to avoid conflicts with other libraries including fmt.

  • Replace deprecated random_shuffle usage with shuffle for c++17.

  • Make exported include directories relative to install prefix.

v2022.10.0

27 Oct 21:37
93b1441

Choose a tag to compare

New Features

  • New HIP Advise operations have been added for setting and unsetting of the
    READ_MOSTLY, PREFERRED_LOCATION, and ACCESSED_BY advice.

    For HIP versions >= 5, operations to set and unset COARSE_GRAIN has also been added.

  • getCurrentSize and getTotalSize methods were added to the DeviceAllocator API.

  • New event tracking has been added that can stream events to JSON (for replays)
    and SQLITE.

  • UMAP allocation resource has been added.

Improvements

  • Using try_get for async device operations.

Bug Fixes

  • Fixed build problem for Fortan builds by properly installing the Umpire module files.

  • Fixed build problem on certain configurations where the std::filesystem check was returning incorrect results.

  • Instead of throwing an exception, the is_device_allocator helper function
    now returns false if the DeviceAllocator object has not yet been instantiated.

  • Fixed FixedMallocPool on Windows, allowing the QuickPool allocator to be safely copied.

Build Configuration Updates

  • Add UMPIRE_DISABLE_ALLOCATIONMAP_DEBUG (default is OFF) option that allows users to disable
    the AllocationMap from dumping all records when an allocation is not found in a debug build.

  • Using UMPIRE_ENABLE_MPI instead of ENABLE_MPI for Umpire-specific MPI capabilities

  • Using UMPIRE_ENABLE_IPC_SHARED_MEMORY instead of ENABLE_IPC_SHARED_MEMORY to indicate this is an Umpire-specific implementation feature.

v2022.03.1

12 Apr 22:36

Choose a tag to compare

This is a patch release of v2022.03 that fixes reported build errors by setting UMPIRE_ENABLE_DOCS back to OFF
by default since building documentation sets requires additional tools to build properly.