Skip to content

Commit

Permalink
Release v0.4.2 (#1111)
Browse files Browse the repository at this point in the history
  • Loading branch information
sethrj committed Feb 15, 2024
1 parent eb015e7 commit 0f74ea9
Show file tree
Hide file tree
Showing 4 changed files with 88 additions and 12 deletions.
9 changes: 4 additions & 5 deletions .github/pull_request_template.release.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,11 @@ Target: upstream/develop (always!)

## Pre-merge checklist

- [ ] Ensure all CI jobs on develop pass
- [ ] Tag the develop branch with ``vX.Y.Z-rc.N`` where N starts with 1, and increment for every time you return to this step due to new pull requests.
- [ ] Run performance regression tests on Summit, Crusher/Frontier, and an additional machine with debug assertions enabled (e.g., Wildstyle).
- [ ] Ensure all CI jobs on the branch to be released (develop or backports/vX.Y) pass
- [ ] If releasing from develop, tag the develop branch with ``vX.Y.Z-rc.N`` where N starts with 1, and increment for every time you return to this step due to new pull requests.
- [ ] Run performance regression tests on Perlmutter, Frontier, and an additional machine with debug assertions enabled (e.g., Wildstyle).
- [ ] Update documentation with release notes from all pull requests newly included in the release.
- [ ] Check for (and delete if found) code marked as "deprecated: to be removed in vX.Y".
- [ ] Ensure the code documentation builds with as few warnings as possible in the `doc` workflow on the CI.
- [ ] For a major release, check for (and delete if found) code marked as "deprecated: to be removed in vX".

## Post-merge checklist

Expand Down
14 changes: 8 additions & 6 deletions doc/appendix/administration.rst
Original file line number Diff line number Diff line change
Expand Up @@ -283,16 +283,18 @@ or a "backport" branch (minor, patch).
The following process must be followed (and may need iteration to converge) for
each release.

1. Ensure all CI jobs pass for the target branch. This is automatic
1. Ensure all CI jobs pass for the target branch to be released (develop or
backports/vX.Y). This is automatic
for releases from the ``develop`` branch, since every pull request must
pass, but should be checked manually for backports.
2. Create a ``release-vX.Y.Z`` branch from the target.
3. Tag the target branch with ``vX.Y.Z-rc.N`` where N starts with 1, and
2. Create a ``release-vX.Y.Z`` branch from *upstream/develop*.
3. If creating a new release from develop, tag the target branch with
``vX.Y.Z-rc.N`` where N starts with 1, and
increment for every time you return to this step due to new pull requests.
The tag can be pushed to your fork, or to the main repository if it should
be shared with other team members
4. Run performance regression tests on Summit/Perlmutter (for performance
testing), Crusher/Frontier (for HIP testing), and an additional machine
be shared with other team members.
4. Run performance regression tests on Perlmutter (for performance
testing), Frontier (for HIP testing), and an additional machine
with debug assertions enabled (e.g., Wildstyle).
5. [TODO: define high-level validation tests like `geant-val`_ and a test
matrix correlating capability areas (code files/directories changed) to
Expand Down
75 changes: 75 additions & 0 deletions doc/appendix/release-history/v0.4.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,81 @@
.. SPDX-License-Identifier: CC-BY-4.0
.. _release_v0.4.2:

Version 0.4.2
=============

*Released 2024/02/15*

Version 0.4.2 is a bugfix and minor feature update to Celeritas.

Key enhancements compared to version 0.4.1 are:

- Full reproducibility of results in Geant4 multithreaded mode
- A new ``CELER_KILL_OFFLOAD`` environment variable that immediately kills EM tracks to help estimate a maximum offloading speedup
- Support for Geant4-VecGeom conversion of parameterized volumes
- Support for Geant4 11.2

Important bug fixes:

- GCC 14 compatibility
- Support for ROOT-exported GDML booleans


New features
------------

* Warn and set default threads when OpenMP and Geant4 MT might collide *(@sethrj, #1056)*
* Add environment variable to kill Celeritas-supported tracks in Geant4 *(@amandalund, #1060)*
* Support Geant4-VecGeom conversion of parameterized volumes *(@sethrj, #1071)*
* Save action times on multi-stream CPU celer-sim *(@sethrj, #1065)*
* Automatically calculate number of events in apps *(@amandalund, #1072)*
* Add option to use CLHEP and SI unit systems instead of Gaussian CGS *(@sethrj, #1076)*

Reviewers: @amandalund *(4)*, @sethrj *(2)*, @esseivaju *(1)*, @sawenzel *(1)*

Bug fixes
---------

* Fix celer-g4 primary generator MT reproducibility *(@amandalund, #1057)*
* Insert SortTrackAction when sorting by particle type *(@esseivaju, #1059)*
* Fix range constexpr *(@sethrj, #1064)*
* Ensure reproducibility when using MT Geant4 with Celeritas offloading *(@amandalund, #1061)*
* Fix conversion of boolean solids when the "left" solid is displaced *(@sethrj, #1069)*
* Use environment variables to control OpenMP behavior in ``celer-sim`` *(@amandalund, #1073)*
* Add support for Geant4@11.2 *(@whokion, #1075)*
* Fix CMake for linking CUDA RDC for executables *(@pcanal, #1102)*

Reviewers: @sethrj *(6)*, @pcanal *(1)*, @amandalund *(1)*

Documentation improvements
--------------------------

* Include documentation as mandatory CI *(@sethrj, #1053)*
* Remove deprecated code from v0.4 *(@sethrj, #1063)*
* Add additional documentation about fields *(@sethrj, #1066)*
* Update copyrights for 2024 *(@sethrj, #1083)*

Reviewers: @pcanal *(3)*, @amandalund *(2)*

Minor internal changes
----------------------

* Remove extra constructor templates in device ActionLauncher *(@esseivaju, #1062)*
* Rename ``GenericXsCalculator`` *(@amandalund, #1081)*
* Add algorithm for difference of squares and move ``is_monotonic_increasing()`` to utils *(@amandalund, #1082)*
* Clang-format entire repository *(@sethrj, #1084)*
* Fix link errors in edge cases and restore HIP testing *(@sethrj, #1042)*
* Fix and avoid including algorithms header for ROOT/CLING *(@sethrj, #1087)*
* Fix non-sticky CMake options *(@sethrj, #1098)*
* Add missing <algorithm> include needed in GCC 14 *(@hartsw, #1110)*

Reviewers: @amandalund *(4)*, @sethrj *(3)*, @pcanal *(1)*

**Full Changelog**: https://github.com/celeritas-project/celeritas/compare/v0.4.1...v0.4.2


.. _release_v0.4.1:

Version 0.4.1
Expand Down
2 changes: 1 addition & 1 deletion src/celeritas/phys/PrimaryGeneratorOptions.hh
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
//---------------------------------------------------------------------------//
#pragma once

#include <algorithm>
#include <functional>
#include <random>
#include <algorithm>

#include "corecel/io/StringEnumMapper.hh"
#include "geocel/Types.hh"
Expand Down

0 comments on commit 0f74ea9

Please sign in to comment.