Skip to content

Commit

Permalink
updating CHANGELOG and user manual for new release
Browse files Browse the repository at this point in the history
  • Loading branch information
Jacob Schroder committed Mar 1, 2023
1 parent b1d7f81 commit 84bd17a
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 2 deletions.
51 changes: 51 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,54 @@
----------------------------
Version 3.1.0, 3/2023
----------------------------

This version contains some major new features, including a new capability for
chaotic problems (Delta correction), more detailed timers for performance
analysis, and changes to more easily allow for distributed control variables
during optimization. Specifically, this release includes

- New Delta correction feature to accelerate MGRIT for nonlinear problems,
especially chaotic ones. See user manual and examples/ex-07 for more details,
including on (i) the reduced rank (storage) option and (ii) deferring Delta
correction to coarse levels for better efficiency. This new feature
builds a basis for the unstable Lyapunov manifold to accurately capture
the chaotic dynamics.

- Option for user-allocated MPI buffers. This is important if you need to
allocate buffers on a device/accelerator (GPU). See braid_SetBufAllocFree().

- Optional user sync function is called at the end (top) of each V-cycle, but
now with access to the temporal communicator for easier global analyses, e.g.,
of error estimates over the time dimension.

- Option to solve coarsest grid with relaxation only, which is particularly useful
for parabolic problems, see braid_SetRelaxOnlyCG().

- Option for more detailed timings. See braid_SetTimings(), where option 2
times all user functions and certain important parts of the MGRIT algorithm
like the coarse-grid solve and MPI Wait.

- Enhancements for easier distributed storage of control variables during while doing
optimization with MGRIT.
-> New ability to automatically always store last time point (whether F or C),
using ulast, see _braid_UGetLast()
-> New FinalFCRelax feature, that allows for a final FCRelax after Braid
cycling is finished. The done flag is True during this FCRelax, and thus
allows for easy computation of gradient information after Braid cycling.
If this feature is not used, the user still gets access to the solution
after Braid halts, but the coarse-grid correction from the final MGRIT
iteration has not been fully integrated on the finest grid.
-> New option for easily reverting processor ranks, to allow for backward sweeps
in time, see braid_SetRevertedRanks()
-> Adjoint variables are initialized with a non-physical time value of -1.0, to aid
in programming
-> braid_defs.h have commented out lines to allow for switch to single precision

- Reduced sensitivity of regression tests to numerical noise.

- Updated documentation to discuss new features, especially Delta correction.


----------------------------
Version 3.0.0, 8/2020
----------------------------
Expand Down
2 changes: 1 addition & 1 deletion docs/developer_manual_header.tex
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@

~\\~\\~\\~\\
\begin{tabular*}{6.5in}{l@{\extracolsep{\fill}} l}
\multirow{2}{*}{{\huge Developers' Manual} } & {\Large Version 3.0.0} \\
\multirow{2}{*}{{\huge Developers' Manual} } & {\Large Version 3.1.0} \\
& {\Large \today} \\
\end{tabular*}
\rule{\textwidth}{3pt}
Expand Down
2 changes: 1 addition & 1 deletion docs/user_manual_header.tex
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@

~\\~\\~\\~\\
\begin{tabular*}{6.5in}{l@{\extracolsep{\fill}} l}
\multirow{2}{*}{{\huge Users' Manual} } & {\Large Version 3.0.0} \\
\multirow{2}{*}{{\huge Users' Manual} } & {\Large Version 3.1.0} \\
& {\Large \today} \\
\end{tabular*}
\rule{\textwidth}{3pt}
Expand Down

0 comments on commit 84bd17a

Please sign in to comment.