Download SUNDIALS Software
Latest release (Sept 2020)
Our latest release, v5.4.0, adds full support for time-dependent mass matrices in the ARKStep module of ARKODE, an interface between ARKStep and the XBraid multigrid reduction in time (MGRIT) library to enable parallel-in-time integration, support for higher-order MRI-GARK methods including solve decoupled implicit methods at the slow time scale, a new SUNMemory API for advanced GPU use cases, and support for CUDA 11. In addition, the release includes several bug fixes and minor improvements. Other notable additions since our previous major release, v5.0.0 (October 2019), include:
- support in CVODE for integrating IVPs with constraints and projecting the solution onto the constraint manifold,
- two new NVector implementations created to support flexible partitioning of solution data among different processing elements (e.g., CPU + GPU) or for multi-physics problems that couple distinct MPI-based simulations together: NVECTOR_MANYVECTOR, and NVECTOR_MPIMANYVECTOR,
- an additional NVector implementation, NVECTOR_MPIPLUSX, to support the MPI+X paradigm where X is a type of on-node parallelism (e.g., OpenMP, CUDA),
- two new SUNLinearSolver implementations, SUNLINEARSOLVER_SUPERLUDIST which interfaces with the SuperLU_DIST distributed sparse direct linear solver library, and SUNLINEARSOLVER_CUSOLVERSP_BATCHQR, which interfaces to the cuSOLVE sparse batched QR linear solver,
- a new SUNNonlinearSolver implementation, SUNNONLINSOL_PETSCSNES, which provides an interface to the PETSc SNES API,
- new Fortran 2003 interface modules that provide Fortran users access to most of the SUNDIALS C API including ARKODE, CVODE(S), IDA(S), and KINSOL,
- and support for using explicit, implicit, or IMEX methods as the fast integrator with the MRIStep time-stepper in ARKODE.
The complete list of all changes is available on our Release History page.
As of September 2016 we are no longer updating sundialsTB and have gotten reports of it being broken. As such, we have removed sundialsTB from the distribution until the development team has some cycles to spend updating it. We are optimistic that this will happen soon. The sundialsTB Matlab toolbox was included in releases of SUNDIALS v2.4.0-2.6.2, although it was not updated for the 2.6.x releases.
We are very grateful to our user community and continue to appreciate user bug reports and suggestions. To send suggestions, report bugs, or inquire about general usage, we ask that you subscribe to our User Mailing List. Through this list, you will get updates and gain access to our vibrant user community. When submitting information about a bug, please include as much relevant information as possible, including the package and version number being used. For compile and runtime problems, please include the machine type, operating system, third party library (e.g., MPI) implementation, compiler, and any error messages produced. As of January 2019, SUNDIALS also accepts contributions via pull requests to the SUNDIALS GitHub repository. Before contributing we ask that you review our Contributing Agreement.
Users interested in more than one of the SUNDIALS packages are encouraged to download the entire suite at the same time. This reduces the risk of using incompatible versions of the packages and shared modules.
The SUNDIALS packages are released open source, under a BSD license.
The only requirements of the BSD license are preservation of copyright and a standard disclaimer of liability.
**Please Note** If you are using SUNDIALS with any third party libraries linked in (e.g., LAPACK, KLU, SuperLU_MT, PETSc, or hypre), be sure to review the respective license of the package as that license may have more restrictive terms than the SUNDIALS license. For example, if someone builds SUNDIALS with a statically linked KLU, the build is subject to terms of the LGPL license (which is what KLU is released with) and *not* the SUNDIALS BSD license anymore.