Releases: llnl/Umpire
v2025.12.0
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
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
DeviceIpcAllocatorfor GPU memory sharing between processes. -
Added HIP support to
AllocationAdvisor. -
Added HIP support for
get_device_mem_usagefunction. -
Extended Fortran API support:
- Added
AlignedAllocatorto Fortran API. - Added
SizeLimiterto 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.
- Added
-
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
New Features
- Added
DeviceIpcAllocatorstrategy to allow interprocess device shared memory.
v2025.03.0
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
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
Bug Fixes
- Make usage of fmt header-only by default
v2024.02.0
New Features
- Allow using external fmt
Improvements
- Change default heuristic to
percent_releasable_hwm(100) - Making
umpire_devicea 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
HostSharedMemoryResourceImplcausing infinite loop
v2023.06.0
New Features
- Add
_hwmvariant 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
New Features
-
New HIP Advise operations have been added for setting and unsetting of the
READ_MOSTLY,PREFERRED_LOCATION, andACCESSED_BYadvice.For HIP versions >= 5, operations to set and unset
COARSE_GRAINhas also been added. -
getCurrentSizeandgetTotalSizemethods were added to theDeviceAllocatorAPI. -
New event tracking has been added that can stream events to JSON (for replays)
and SQLITE. -
UMAPallocation resource has been added.
Improvements
- Using
try_getfor 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::filesystemcheck was returning incorrect results. -
Instead of throwing an exception, the
is_device_allocatorhelper function
now returnsfalseif theDeviceAllocatorobject has not yet been instantiated. -
Fixed
FixedMallocPoolon Windows, allowing theQuickPoolallocator to be safely copied.
Build Configuration Updates
-
Add
UMPIRE_DISABLE_ALLOCATIONMAP_DEBUG(default isOFF) 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_MPIinstead ofENABLE_MPIfor Umpire-specific MPI capabilities -
Using
UMPIRE_ENABLE_IPC_SHARED_MEMORYinstead ofENABLE_IPC_SHARED_MEMORYto indicate this is an Umpire-specific implementation feature.
v2022.03.1
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.