Changes to SUNDIALS in release 5.0.0-dev.2
Added a new optional operation to the SUNLINEARSOLVER API,
that returns a
SUNLinearSolver_ID for identifying the linear solver module.
Made performance improvements to the CUDA NVECTOR. Users who utilize a non
-default stream should no longer see default stream synchronizations after
Added a new constructor to the CUDA NVECTOR that allows a user to provide
custom allocate and free functions for the vector data array and internal
Increased the minimum required CMake version to 3.5 for most SUNDIALS configurations,
and 3.10 when CUDA or OpenMP with device offloading are enabled.
The CMake option
BLAS_ENABLE and the variable
BLAS_LIBRARIES have been
removed to simplify builds as SUNDIALS packages do not use BLAS directly. For
third party libraries that require linking to BLAS, the path to the BLAS
library should be included in the
_LIBRARIES variable for the third party
SUPERLUDIST_LIBRARIES when enabling SuperLU_DIST.
Fixed a bug in the ARKStep time-stepping module in ARKode that would result in an
infinite loop if the nonlinear solver failed to converge more than the maximum
allowed times during a single step.
Added functions to get the current state and gamma value to CVODE(S) and ARKode.
These functions may be useful to users who chose to provide their own nonlinear
Add two new 'Set' functions to MRIStep,
MRIStepSetPostInnerFn() for performing communication or memory
transfers needed before or after the inner integration.
The reinitialization functions
MRIStepReInit() have been updated to retain the minimum and maxiumum step
size values from before reinitialization rather than resetting them to the
Added a new SUNLinearSolver implementation,
which leverages the NVIDIA cuSOLVER sparse batched QR method for efficiently
solving block diagonal linear systems on NVIDIA GPUs.
Added three new accessor functions to the SUNLinSol_KLU module,
SUNLinSol_KLUGetCommon(), to provide user access to the underlying
KLU solver structures.
A bug was fixed in the IDA(S) linear solver interface where an incorrect
Jacobian-vector product increment was used with iterative solvers other than
SPGMR and SPFGMR.
Fixed a bug in the CVODE(S) nonlinear solver interface where the norm of the
accumulated correction was not updated when using a non-default convergence