diff --git a/CHANGELOG.md b/CHANGELOG.md index 059d8d3666..31c94ba897 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # SUNDIALS Changelog +## Changes to SUNDIALS in release X.Y.Z + +### Major Features + +### New Features and Enhancements + +### Bug Fixes + +### Deprecation Notices + ## Changes to SUNDIALS in release 7.1.0 ### Major Features diff --git a/doc/shared/Changelog.rst b/doc/shared/Changelog.rst index 4fa304b8ac..4c3126e836 100644 --- a/doc/shared/Changelog.rst +++ b/doc/shared/Changelog.rst @@ -21,11 +21,148 @@ Changelog .. SED_REPLACEMENT_KEY -Changes to SUNDIALS in release 7.1.0 +Changes to SUNDIALS in release X.Y.Z ==================================== .. include:: RecentChanges_link.rst +Changes to SUNDIALS in release 7.1.0 +==================================== + +**Major Features** + +Created shared user interface functions for ARKODE to allow more uniform control +over time-stepping algorithms, improved extensibility, and simplified code +maintenance. The corresponding stepper-specific user-callable functions are now +deprecated and will be removed in a future major release. + +Added CMake infrastructure that enables externally maintained addons/plugins to +be *optionally* built with SUNDIALS. See :ref:`Contributing` for details. + +**New Features and Enhancements** + +Added support for Kokkos Kernels v4. + +Added the following Runge-Kutta Butcher tables + +* ``ARKODE_FORWARD_EULER_1_1`` +* ``ARKODE_RALSTON_EULER_2_1_2`` +* ``ARKODE_EXPLICIT_MIDPOINT_EULER_2_1_2`` +* ``ARKODE_BACKWARD_EULER_1_1`` +* ``ARKODE_IMPLICIT_MIDPOINT_1_2`` +* ``ARKODE_IMPLICIT_TRAPEZOIDAL_2_2`` + +Added the following MRI coupling tables + +* ``ARKODE_MRI_GARK_FORWARD_EULER`` +* ``ARKODE_MRI_GARK_RALSTON2`` +* ``ARKODE_MRI_GARK_RALSTON3`` +* ``ARKODE_MRI_GARK_BACKWARD_EULER`` +* ``ARKODE_MRI_GARK_IMPLICIT_MIDPOINT`` +* ``ARKODE_IMEX_MRI_GARK_EULER`` +* ``ARKODE_IMEX_MRI_GARK_TRAPEZOIDAL`` +* ``ARKODE_IMEX_MRI_GARK_MIDPOINT`` + +Added :c:func:`ARKodeButcherTable_ERKIDToName` and +:c:func:`ARKodeButcherTable_DIRKIDToName` to convert a Butcher table ID to a +string representation. + +Added the function :c:func:`ARKodeSetAutonomous` in ARKODE to indicate that the +implicit right-hand side function does not explicitly depend on time. When using +the trivial predictor, an autonomous problem may reuse implicit function +evaluations across stage solves to reduce the total number of function +evaluations. + +Users may now disable interpolated output in ARKODE by passing +``ARK_INTERP_NONE`` to :c:func:`ARKodeSetInterpolantType`. When interpolation is +disabled, rootfinding is not supported, implicit methods must use the trivial +predictor (the default option), and interpolation at stop times cannot be used +(interpolating at stop times is disabled by default). With interpolation +disabled, calling :c:func:`ARKodeEvolve` in ``ARK_NORMAL`` mode will return at +or past the requested output time (setting a stop time may still be used to halt +the integrator at a specific time). Disabling interpolation will reduce the +memory footprint of an integrator by two or more state vectors (depending on the +interpolant type and degree) which can be beneficial when interpolation is not +needed e.g., when integrating to a final time without output in between or using +an explicit fast time scale integrator with an MRI method. + +Added "Resize" capability to ARKODE's SPRKStep time-stepping module. + +Enabled the Fortran interfaces to build with 32-bit ``sunindextype``. + +**Bug Fixes** + +Updated the CMake variable ``HIP_PLATFORM`` default to ``amd`` as the previous +default, ``hcc``, is no longer recognized in ROCm 5.7.0 or newer. The new +default is also valid in older version of ROCm (at least back to version 4.3.1). + +Renamed the DPCPP value for the :cmakeop:`SUNDIALS_GINKGO_BACKENDS` CMake option +to ``SYCL`` to match Ginkgo's updated naming convention. + +Changed the CMake version compatibility mode for SUNDIALS to ``AnyNewerVersion`` +instead of ``SameMajorVersion``. This fixes the issue seen `here +`_. + +Fixed a CMake bug that caused an MPI linking error for our C++ examples in some +instances. Fixes `GitHub Issue #464 +`_. + +Fixed the runtime library installation path for windows systems. This fix +changes the default library installation path from +``CMAKE_INSTALL_PREFIX/CMAKE_INSTALL_LIBDIR`` to +``CMAKE_INSTALL_PREFIX/CMAKE_INSTALL_BINDIR``. + +Fixed conflicting ``.lib`` files between shared and static libs when using +``MSVC`` on Windows + +Fixed invalid ``SUNDIALS_EXPORT`` generated macro when building both shared and +static libs. + +Fixed a bug in some Fortran examples where ``c_null_ptr`` was passed as an +argument to a function pointer instead of ``c_null_funptr``. This caused +compilation issues with the Cray Fortran compiler. + +Fixed a bug in the HIP execution policies where ``WARP_SIZE`` would not be set +with ROCm 6.0.0 or newer. + +Fixed a bug that caused error messages to be cut off in some cases. Fixes +`GitHub Issue #461 `_. + +Fixed a memory leak when an error handler was added to a +:c:type:`SUNContext`. Fixes `GitHub Issue #466 +`_. + +Fixed a bug where :c:func:`MRIStepEvolve` would not handle a recoverable error +produced from evolving the inner stepper. + +Added missing ``SetRootDirection`` and ``SetNoInactiveRootWarn`` functions to +ARKODE's SPRKStep time-stepping module. + +Fixed a bug in :c:func:`ARKodeSPRKTable_Create` where the coefficient arrays +were not allocated. + +Fix bug on LLP64 platforms (like Windows 64-bit) where ``KLU_INDEXTYPE`` could be +32 bits wide even if ``SUNDIALS_INT64_T`` is defined. + +Check if size of ``SuiteSparse_long`` is 8 if the size of ``sunindextype`` is 8 +when using KLU. + +Fixed several build errors with the Fortran interfaces on Windows systems. + +**Deprecation Notices** + +Numerous ARKODE stepper-specific functions are now deprecated in favor of +ARKODE-wide functions. + +Deprecated the `ARKStepSetOptimalParams` function. Since this function does not have an +ARKODE-wide equivalent, instructions have been added to the user guide for how +to retain the current functionality using other user-callable functions. + +The unsupported implementations of ``N_VGetArrayPointer`` and +``N_VSetArrayPointer`` for the *hypre* and PETSc vectors are now deprecated. +Users should access the underlying wrapped external library vector objects +instead with ``N_VGetVector_ParHyp`` and ``N_VGetVector_Petsc``, respectively. + Changes to SUNDIALS in release 7.0.0 ==================================== diff --git a/doc/shared/RecentChanges.rst b/doc/shared/RecentChanges.rst index adc2691e7b..4f1514700e 100644 --- a/doc/shared/RecentChanges.rst +++ b/doc/shared/RecentChanges.rst @@ -1,133 +1,7 @@ **Major Features** -Created shared user interface functions for ARKODE to allow more uniform control -over time-stepping algorithms, improved extensibility, and simplified code -maintenance. The corresponding stepper-specific user-callable functions are now -deprecated and will be removed in a future major release. - -Added CMake infrastructure that enables externally maintained addons/plugins to -be *optionally* built with SUNDIALS. See :ref:`Contributing` for details. - **New Features and Enhancements** -Added support for Kokkos Kernels v4. - -Added the following Runge-Kutta Butcher tables - -* ``ARKODE_FORWARD_EULER_1_1`` -* ``ARKODE_RALSTON_EULER_2_1_2`` -* ``ARKODE_EXPLICIT_MIDPOINT_EULER_2_1_2`` -* ``ARKODE_BACKWARD_EULER_1_1`` -* ``ARKODE_IMPLICIT_MIDPOINT_1_2`` -* ``ARKODE_IMPLICIT_TRAPEZOIDAL_2_2`` - -Added the following MRI coupling tables - -* ``ARKODE_MRI_GARK_FORWARD_EULER`` -* ``ARKODE_MRI_GARK_RALSTON2`` -* ``ARKODE_MRI_GARK_RALSTON3`` -* ``ARKODE_MRI_GARK_BACKWARD_EULER`` -* ``ARKODE_MRI_GARK_IMPLICIT_MIDPOINT`` -* ``ARKODE_IMEX_MRI_GARK_EULER`` -* ``ARKODE_IMEX_MRI_GARK_TRAPEZOIDAL`` -* ``ARKODE_IMEX_MRI_GARK_MIDPOINT`` - -Added :c:func:`ARKodeButcherTable_ERKIDToName` and -:c:func:`ARKodeButcherTable_DIRKIDToName` to convert a Butcher table ID to a -string representation. - -Added the function :c:func:`ARKodeSetAutonomous` in ARKODE to indicate that the -implicit right-hand side function does not explicitly depend on time. When using -the trivial predictor, an autonomous problem may reuse implicit function -evaluations across stage solves to reduce the total number of function -evaluations. - -Users may now disable interpolated output in ARKODE by passing -``ARK_INTERP_NONE`` to :c:func:`ARKodeSetInterpolantType`. When interpolation is -disabled, rootfinding is not supported, implicit methods must use the trivial -predictor (the default option), and interpolation at stop times cannot be used -(interpolating at stop times is disabled by default). With interpolation -disabled, calling :c:func:`ARKodeEvolve` in ``ARK_NORMAL`` mode will return at -or past the requested output time (setting a stop time may still be used to halt -the integrator at a specific time). Disabling interpolation will reduce the -memory footprint of an integrator by two or more state vectors (depending on the -interpolant type and degree) which can be beneficial when interpolation is not -needed e.g., when integrating to a final time without output in between or using -an explicit fast time scale integrator with an MRI method. - -Added "Resize" capability to ARKODE's SPRKStep time-stepping module. - -Enabled the Fortran interfaces to build with 32-bit ``sunindextype``. - **Bug Fixes** -Updated the CMake variable ``HIP_PLATFORM`` default to ``amd`` as the previous -default, ``hcc``, is no longer recognized in ROCm 5.7.0 or newer. The new -default is also valid in older version of ROCm (at least back to version 4.3.1). - -Renamed the DPCPP value for the :cmakeop:`SUNDIALS_GINKGO_BACKENDS` CMake option -to ``SYCL`` to match Ginkgo's updated naming convention. - -Changed the CMake version compatibility mode for SUNDIALS to ``AnyNewerVersion`` -instead of ``SameMajorVersion``. This fixes the issue seen `here -`_. - -Fixed a CMake bug that caused an MPI linking error for our C++ examples in some -instances. Fixes `GitHub Issue #464 -`_. - -Fixed the runtime library installation path for windows systems. This fix -changes the default library installation path from -``CMAKE_INSTALL_PREFIX/CMAKE_INSTALL_LIBDIR`` to -``CMAKE_INSTALL_PREFIX/CMAKE_INSTALL_BINDIR``. - -Fixed conflicting ``.lib`` files between shared and static libs when using -``MSVC`` on Windows - -Fixed invalid ``SUNDIALS_EXPORT`` generated macro when building both shared and -static libs. - -Fixed a bug in some Fortran examples where ``c_null_ptr`` was passed as an -argument to a function pointer instead of ``c_null_funptr``. This caused -compilation issues with the Cray Fortran compiler. - -Fixed a bug in the HIP execution policies where ``WARP_SIZE`` would not be set -with ROCm 6.0.0 or newer. - -Fixed a bug that caused error messages to be cut off in some cases. Fixes -`GitHub Issue #461 `_. - -Fixed a memory leak when an error handler was added to a -:c:type:`SUNContext`. Fixes `GitHub Issue #466 -`_. - -Fixed a bug where :c:func:`MRIStepEvolve` would not handle a recoverable error -produced from evolving the inner stepper. - -Added missing ``SetRootDirection`` and ``SetNoInactiveRootWarn`` functions to -ARKODE's SPRKStep time-stepping module. - -Fixed a bug in :c:func:`ARKodeSPRKTable_Create` where the coefficient arrays -were not allocated. - -Fix bug on LLP64 platforms (like Windows 64-bit) where ``KLU_INDEXTYPE`` could be -32 bits wide even if ``SUNDIALS_INT64_T`` is defined. - -Check if size of ``SuiteSparse_long`` is 8 if the size of ``sunindextype`` is 8 -when using KLU. - -Fixed several build errors with the Fortran interfaces on Windows systems. - **Deprecation Notices** - -Numerous ARKODE stepper-specific functions are now deprecated in favor of -ARKODE-wide functions. - -Deprecated the `ARKStepSetOptimalParams` function. Since this function does not have an -ARKODE-wide equivalent, instructions have been added to the user guide for how -to retain the current functionality using other user-callable functions. - -The unsupported implementations of ``N_VGetArrayPointer`` and -``N_VSetArrayPointer`` for the *hypre* and PETSc vectors are now deprecated. -Users should access the underlying wrapped external library vector objects -instead with ``N_VGetVector_ParHyp`` and ``N_VGetVector_Petsc``, respectively. diff --git a/doc/shared/sundials_vars.py b/doc/shared/sundials_vars.py index dca40a56f2..1b9406fa69 100644 --- a/doc/shared/sundials_vars.py +++ b/doc/shared/sundials_vars.py @@ -9,7 +9,7 @@ # SPDX-License-Identifier: BSD-3-Clause # SUNDIALS Copyright End # ---------------------------------------------------------------- -doc_version = 'v7.1.0' +doc_version = 'develop' sundials_version = 'v7.1.0' arkode_version = 'v6.1.0' cvode_version = 'v7.1.0' diff --git a/scripts/startReleaseCycle.sh b/scripts/startReleaseCycle.sh index 5e9f9e86b8..f4ee9075db 100755 --- a/scripts/startReleaseCycle.sh +++ b/scripts/startReleaseCycle.sh @@ -31,7 +31,7 @@ sedi() { # Update versions # ------------------------------------------------------------------------------ -fn="../doc/shared/versions.py" +fn="../doc/shared/sundials_vars.py" sedi "s/doc_version =.*/doc_version = \'develop\'/" $fn # ------------------------------------------------------------------------------