Skip to content

Commit

Permalink
2022.03.0 release (#716)
Browse files Browse the repository at this point in the history
  • Loading branch information
mcfadden8 authored Mar 16, 2022
1 parent bd356a3 commit 2db6224
Show file tree
Hide file tree
Showing 7 changed files with 119 additions and 22 deletions.
73 changes: 58 additions & 15 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,32 @@ The format is based on [Keep a
Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Develop Branch]
## [v2022.03.0 - 2022-03-14]

### Added
### Build Changes and Updates

- Added a getDeviceAllocator function that allows users to get a DeviceAllocator object
from the kernel without explicitly passing the allocator to the kernel first.

- Added a reset function to the DeviceAllocator so that old data can be rewritten.
- Umpire now requires minimum CMake version to be 3.14

- Added documentation of the DeviceAllocator.
- Umpire now requires C++14.

### Changed
- Use C++17 for SYCL backend.

- Reorganized cmake object library for c/fortran interface. NOTE: This is a breaking
change since the include paths are different.

- Build Doxygen documentation on ReadTheDocs.
change since the include paths are different.

- Changed more CMakeList options to have 'UMPIRE' prefixes and made them dependent
on the corresponding BLT options.
- Changed CMakeList options to have `UMPIRE` prefixes and made them dependent
on the corresponding BLT options.

- Umpire now requires C++14.
- C/FORTRAN API is now auto generated

- Make umpire-config.cmake package relocatable

- Add `UMPIRE_ENABLE_DEVICE_ALLOCATOR` option to disable Device Allocator which defaults
to "Off", to control whether or not the DeviceAllocator class is included in the
library.

- Use blt namespace for hip targets (#692)

### Removed

Expand All @@ -39,15 +43,54 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to

- Removed hardcoded `-Xcompiler -mno-float128` for GCC 8+ with CUDA on PowerPC.

### Added

- Added a getDeviceAllocator function that allows users to get a DeviceAllocator object
from the kernel without explicitly passing the allocator to the kernel first.

- Added a reset function to the DeviceAllocator so that old data can be rewritten.

- Expose "PREFETCH" operations registered with the MemoryOperationRegistry with a
new ResourceManager::prefetch method.

### Documentation

- Build Doxygen documentation on ReadTheDocs.

- Add `-rdynamic` to backtrace example

### Tools and Continuous Integration

- Add CI job with interprocess shared memory and CUDA

- Add CI containers to allow for gcc{7,8,9}, clang{11,12}, and nvcc{10,11}

- Add CI to use C++14 version of XL Compiler

- Add CI to check pools work with DEVICE_CONST memory

- Add Umpire Allocator profile comparison benchmark

- Add replay `--introspection-off` option for strategies

### Fixed

- Fix warning caused by ignoring posix_memalign return value.

- Use C++17 for SYCL backend.

- Fixed a cmake install config issue so that now users can find a package of Umpire
with a version constraint.

- Fix `ResourceManager::isAllocator` to work for resources

- Fix comparison operators for `TypedAllocators`. Move the operators into the same
namespace as `TypedAllocator` for ADL instead of leaving in the global namespace.

- Fix host and device Allocator ID overlap

- Fix return value from get_process_highwater_mark by correctly treating VmHWM as kB

- Remove null and zero-byte pool from list of valid allocators

## [v6.0.0 - 2021-08-18]

### Added
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ include(CMakePackageConfigHelpers)

project(Umpire
LANGUAGES CXX C
VERSION 6.0.0)
VERSION 2022.03.0)

cmake_minimum_required(VERSION 3.14)

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# <img src="https://cdn.rawgit.com/LLNL/Umpire/develop/share/umpire/logo/umpire-logo.png" width="128" valign="middle" alt="Umpire"/> Umpire v6.0.0
# <img src="https://cdn.rawgit.com/LLNL/Umpire/develop/share/umpire/logo/umpire-logo.png" width="128" valign="middle" alt="Umpire"/> Umpire v2022.03.0

[![Travis Build Status](https://travis-ci.com/LLNL/Umpire.svg?branch=develop)](https://travis-ci.com/LLNL/Umpire)
[![Azure Pipelines Build Status](https://dev.azure.com/davidbeckingsale/Umpire/_apis/build/status/LLNL.Umpire?branchName=develop)](https://dev.azure.com/davidbeckingsale/Umpire/_build/latest?definitionId=1&branchName=develop)
Expand Down
2 changes: 1 addition & 1 deletion RELEASE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Umpire Version 6.0.0
Umpire Version 2022.03.0

Copyright (c) 2016-22, Lawrence Livermore National Security, LLC.
Produced at the Lawrence Livermore National Laboratory.
Expand Down
56 changes: 55 additions & 1 deletion RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,57 @@
# v2022.03.0

## Changes Impacting Builds

This release of Umpire contains new build requirements including:

- C++14 is now required to build Umpire
- CMake version 3.14 or later is required

## Changes Impacting C/Fortran

- The CMake object library for `C/FORTRAN` interface has been reorganized.
(**NOTE**: *This is a breaking change since the include paths are now different.*)

## New Interfaces

- Added a `getDeviceAllocator` function that allows users to get a `DeviceAllocator` object from the kernel without explicitly passing the allocator to the kernel first.
- Added a `reset` function to the `DeviceAllocator` so that old data can be rewritten.
- Expose `PREFETCH` operations registered with the `MemoryOperationRegistry` with a new `ResourceManager::prefetch` method.

## Removed Interfaces

The following functions previously marked as deprecated have now been removed:

- `DynamicPoolMap` and `DynamicPool` aliases removed
- `registerAllocator` and `isAllocatorRegistered` removed

## Fixes

- Fixed a cmake install config issue so that now users can find a package of Umpire with a version constraint.
- Fix `ResourceManager::isAllocator` to work for resources
- Fix comparison operators for `TypedAllocators`
- Fix host and device Allocator ID overlap
- Remove null and zero-byte pool from list of valid allocators

## New Configuration Options

- The `UMPIRE_ENABLE_DEVICE_ALLOCATOR` option was added to control whether or not the DeviceAllocator class is included in the library. The default is "Off".

## Build/Deployment Improvements

- `C/FORTRAN` API is now auto generated
- The `umpire-config.cmake` package is now relocatable
- Use `blt` namespace for hip targets
- Umpire `CMakeList` options now have `UMPIRE_` prefixes and are now dependent upon corresponding `BLT` options.
- Removed hardcoded `-Xcompiler -mno-float128` for GCC 8+ with CUDA on PowerPC.
- Build Doxygen documentation on ReadTheDocs.

## Continuous Integration Updates

- Add CI job with interprocess shared memory and CUDA
- Add CI containers to allow for gcc{7,8,9}, clang{11,12}, and nvcc{10,11}
- Add CI to check pools work with `DEVICE_CONST` memory

# v6.0.0

Added documentation on allocator (in)accessibility as well as getAllocator usage.
Expand Down Expand Up @@ -53,7 +107,7 @@ Removed all internal tracking, allocations are only tracked at the Allocator lev
- 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.
coalesce operations to not work properly.

# v4.1.2

Expand Down
4 changes: 2 additions & 2 deletions docs/sphinx/conf.py.in
Original file line number Diff line number Diff line change
Expand Up @@ -96,9 +96,9 @@ author = u'David Beckingsale'
# built documents.
#
# The short X.Y version.
version = u'6.0'
version = u'2022.03'
# The full version, including alpha/beta/rc tags.
release = u'6.0.0'
release = u'2022.03.0'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
2 changes: 1 addition & 1 deletion scripts/make_release_tarball.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
##############################################################################

TAR_CMD=gtar
VERSION=6.0.0
VERSION=2022.03.0

git archive --prefix=umpire-${VERSION}/ -o umpire-${VERSION}.tar HEAD 2> /dev/null

Expand Down

0 comments on commit 2db6224

Please sign in to comment.