|
| 1 | +---------------------------- |
| 2 | +Version 3.1.0, 3/2023 |
| 3 | +---------------------------- |
| 4 | + |
| 5 | +This version contains some major new features, including a new capability for |
| 6 | +chaotic problems (Delta correction), more detailed timers for performance |
| 7 | +analysis, and changes to more easily allow for distributed control variables |
| 8 | +during optimization. Specifically, this release includes |
| 9 | + |
| 10 | +- New Delta correction feature to accelerate MGRIT for nonlinear problems, |
| 11 | + especially chaotic ones. See user manual and examples/ex-07 for more details, |
| 12 | + including on (i) the reduced rank (storage) option and (ii) deferring Delta |
| 13 | + correction to coarse levels for better efficiency. This new feature |
| 14 | + builds a basis for the unstable Lyapunov manifold to accurately capture |
| 15 | + the chaotic dynamics. |
| 16 | + |
| 17 | +- Option for user-allocated MPI buffers. This is important if you need to |
| 18 | + allocate buffers on a device/accelerator (GPU). See braid_SetBufAllocFree(). |
| 19 | + |
| 20 | +- Optional user sync function is called at the end (top) of each V-cycle, but |
| 21 | + now with access to the temporal communicator for easier global analyses, e.g., |
| 22 | + of error estimates over the time dimension. |
| 23 | + |
| 24 | +- Option to solve coarsest grid with relaxation only, which is particularly useful |
| 25 | + for parabolic problems, see braid_SetRelaxOnlyCG(). |
| 26 | + |
| 27 | +- Option for more detailed timings. See braid_SetTimings(), where option 2 |
| 28 | + times all user functions and certain important parts of the MGRIT algorithm |
| 29 | + like the coarse-grid solve and MPI Wait. |
| 30 | + |
| 31 | +- Enhancements for easier distributed storage of control variables during while doing |
| 32 | + optimization with MGRIT. |
| 33 | + -> New ability to automatically always store last time point (whether F or C), |
| 34 | + using ulast, see _braid_UGetLast() |
| 35 | + -> New FinalFCRelax feature, that allows for a final FCRelax after Braid |
| 36 | + cycling is finished. The done flag is True during this FCRelax, and thus |
| 37 | + allows for easy computation of gradient information after Braid cycling. |
| 38 | + If this feature is not used, the user still gets access to the solution |
| 39 | + after Braid halts, but the coarse-grid correction from the final MGRIT |
| 40 | + iteration has not been fully integrated on the finest grid. |
| 41 | + -> New option for easily reverting processor ranks, to allow for backward sweeps |
| 42 | + in time, see braid_SetRevertedRanks() |
| 43 | + -> Adjoint variables are initialized with a non-physical time value of -1.0, to aid |
| 44 | + in programming |
| 45 | + -> braid_defs.h have commented out lines to allow for switch to single precision |
| 46 | + |
| 47 | +- Reduced sensitivity of regression tests to numerical noise. |
| 48 | + |
| 49 | +- Updated documentation to discuss new features, especially Delta correction. |
| 50 | + |
| 51 | + |
1 | 52 | ---------------------------- |
2 | 53 | Version 3.0.0, 8/2020 |
3 | 54 | ---------------------------- |
|
0 commit comments