Releases: trilinos/Trilinos
Trilinos 16.0.0
Trilinos Release 16.0 Release Notes July, 2024
A large number of packages have been marked as deprecated in this release.
We are planning to remove them in the fall of 2025. The list of packages is
- Amesos
- AztecOO
- Epetra
- EpetraExt
- Ifpack
- Intrepid
- Isorropia
- ML
- NewPackage
- Pliris
- PyTrilinos
- ShyLU_DDCore
- ThyraEpetraAdapters
- ThyraEpetraExtAdapters
- Triutils
If you are a user of one of these packages, please transition to the newer
software stack. If you need guidance with finding an adequate replacement
or are missing a particular feature, please open an issue or a discussion
on Github.
Amesos2
- Add interface to MKL cluster sparse solver.
#13073
Framework
- Marked all deprecated packages as 'Secondary Tested'.
- Reset default for
Trilinos_ENABLE_SECONDARY_TESTED_CODE
toOFF
.
This will cause the previously-mentioned deprecated packages to NOT be
automatically enabled to help guide users away from them. The old
behavior can be restored by setting the variable back toON
, but note
that the recommended best practice is to explicitly enable packages that
the user is depending on (e.g. if you depend on ThyraEpetraAdapters, enable
that explicitly instead of Thyra and Epetra and allowing TriBITS to enable
the adapters). - Added deprecation warnings to all deprecated packages. The warnings are able
to be disabled via theTrilinos_SHOW_DEPRECATED_WARNINGS
option (this is
also available as a per-package option). These warnings are intended to
notify users that package capability they are using will be removed in upcoming
releases.
#12828
Ifpack2
- RBILUK now supports Kokkos Kernels as a backend
#12911
Kokkos, Kokkos Kernels
- Inclusion of version 4.3.1 of Kokkos and Kokkos Kernels
#12995
NOX
- Added preconditioner reuse across multiple nonlinear solves.
#12986
Teko
- Add Hierarchical Block Gauss-Seidel Capability
#13040
Tpetra
-
Some Tpetra features can be toggled via environment variables.
When an unrecognized variable is found, Tpetra now throws to alert
to potentially misspelled variables.
#12944 -
Add a test that checks that vendor TPLs for sparse matrix-vector product
are called.
#13018 -
Add team parallelism to kernels associated with matrix equilibration.
#13017
Trilinos 15.1.1
Piro
- Fixed build dependencies bug with the ECP stack
#12801
Trilinos 15.1.0
Amesos2
- The interface to SuperLU_DIST now also works for the CUDA-enabled
variant of the library.
#12524
Framework
- Began using semantic versioning for Trilinos with 15.1.0 release.
Ifpack2
- BlockRelaxation can now generate blocks using a Zoltan2.
#12728
Kokkos & Kokkos Kernels
- Inclusion of version 4.2.1 of Kokkos and Kokkos Kernels
#12707
MueLu
-
The reformulated Maxwell solver (RefMaxwell) was generalized to
also work for grad-div / Darcy flow problems.
#12142 -
In an effort to consolidate the old non-Kokkos code path with the
newer Kokkos code path, the following factories were deprecated
and should be removed from input decks: NullspaceFactory_kokkos,
SaPFactory_kokkos, UncoupledAggregationFactory_kokkos.
#12720
#12740
Panzer
- MiniEM can now also assemble and solve Darcy problems using first
or higher order mixed finite elements.
#12142
PyTrilinos2
- New package that auto-generates Python interfaces for Trilinos
packages. Currently, most of Tpetra is exposed. We are planning on
adding other packages.
#12332
ROL
- An auto-generated Python interface was added. A standalone Python
package can be downloaded from rol.sandia.gov
#12770
Teko
- Block Jacobi and Gauss-Seidel methods allow now to specify
preconditioners for the iterative solves of the diagonal blocks.
#12675
Tpetra
-
Tpetra will now assume by default that the MPI library is GPU
aware, unless automatic detection or the user indicates otherwise.
#12517 -
Reject unrecognized TPETRA_* environment variable. Misspelled or
removed environment variables are no longer silently ignored.
#12722 -
In order to allocate in shared host/device space (i.e.
CudaUVMSpace, HIPManagedSpace or SYCLSharedUSMSpace) by default,
please use the CMake options
KokkosKernels_INST_MEMSPACE_CUDAUVMSPACE=ON
Tpetra_ALLOCATE_IN_SHARED_SPACE=ON
#12622
Trilinos 15.0.0
CMake
-
Change the default for
Trilinos_MUST_FIND_ALL_TPL_LIBS
fromOFF
to
ON
. It was turned off by default because it breaks backward
compatibility but it also causes problems for new users and new
configurations.Users that do not want this new behavior can set
-D Trilinos_MUST_FIND_ALL_TPL_LIBS=OFF
, which is backward compatible. -
Change the default for
Trilinos_USE_GNUINSTALLDIRS
fromOFF
toON
,
in the goal to move Trilinos and TriBITS to modern CMake.TriBITS has had the ability to use that paths selected by the standard
CMake moduleGNUInstallDirs.cmake
for a long time. But it is turned off
in TriBITS by default and was never turned on in Trilinos, both for the
sake of backward compatibility.This may break people's existing configurations because it will install
libs in<prefix>/libs64/
instead of in<prefix>/libs/
on many systems
(e.g. Linux systems). For example, this will break downstream CMake
projects that callfind_package(Trilinos ...)
before defining the
compilers (e.g. so they can get the compilers from Trilinos). If the
compilers are not defined,find_package()
will not search
<prefix>/lib64
. To revert back to using<prefix>/lib
but still use
GNUInstallDirs.cmake
for Trilinos, set-D CMAKE_INSTALL_LIBDIR:STRING=lib
when configuring Trilinos. To avoid the
find_package(Trilinos ...)
problem not searching<prefix>/lib64
,
consider explicitly specifying the compiler to and having the downstream
CMake project define the compilers first withproject(<ProjectName> COMPILERS C CXX ...)
before callingfind_package(Trilinos ...)
. (That
is, don't try to get the compilers from the installed Trilinos, see
#12306.)NOTE: The setting
-D Trilinos_USE_GNUINSTALLDIRS=OFF
is deprecated and
may be removed in the future. (I.e. the usage ofGNUInstallDirs.cmake
may be hard-coded in the future so please try adjusting to the usage of
GNUInstallDirs.cmake
by Trilinos.) See
#12104 (comment)
for additional details and instructions.
Amesos2
- Updates to STRUMPACK, SuperLU_DIST, MUMPS and LAPACK adapters
Anasazi
- Randomized eigensolver
- Improved testing with Tpetra
Belos
- Extend GCRO-DR linear solver to use Kokkos linear algebra for GEMMA
- Improved testing with Tpetra
Domi
- Package has been deprecated and removed from Trilinos
FEI
- Package has been deprecated and removed from Trilinos
Ifpack2
- 4th kind Chebyshev smoother
- Algorithmic and performance improvements for BlockTriDiag and BlockJacobi.
- Stream based RILU(k) and triangular solves
- Optimize Kokkos Kernels MDF ILU(0) solver and expose it in Ifpack2
- Patch solver with data compression
Komplex
- Package has been deprecated and removed from Trilinos
Moertel
- Package has been deprecated and removed from Trilinos
MueLu
- Better ML/MueLu compatibility (parameter translation, aggregation
algorithms, ..) - Reitzinger-Schoberl type multigrid for Maxwell problems
- BlockCRS support
- Improved setup performance on device (TAFC Tpetra changes)
- Matrix-free multigrid with user-specified operators
- AMG for hierarchical matrices
NOX
- Refactored internal use of model evaluators
- LOCA Householder constraint solver can now be nested within a
Tempus transient problem (Tpetra version)
Pike
- Package has been deprecated and removed from Trilinos
Rythmos
- Package has been deprecated and removed from Trilinos
ShyLU
- FastILU algorithmic improvements and testing, new block version
- Transpose solve with Basker
- Tacho: runs with HIP.
- FROSch: fully recursive multi-level implementation
- FROSch: monolithic coarse spaces via partition-of-unity approach
- FROSch: GPU capabilities
Stratimikos
- Use of half precision preconditioners (Ifpack2, MueLu, ShyLU/FROSch)
Teko
- Epetra dependency is now optional
TriKota
- Package has been deprecated and removed from Trilinos
Trilinos 14.4.0
Trilinos 14.4.0 release
Notable changes:
In this release, the new versions of Kokkos and TriBITS have been integrated. Please click on the respective link to see the release notes.
Also, the FEI
package has been archived meaning, e.g.,
- It has been removed from the Trilinos repository (but still part of the Trilinos git history, Trilinos <15.0).
- No support, maintenance or bug fixes will be provided.
- Trilinos 15.0 will be the first release without it.
- An individual repository of the package will be available in the Trilinos GitHub organization for external development.
Trilinos 14.2.0
Trilinos 14.2.0 release
Notable changes:
Trilinos 14.2 will be the last release with the following packages: Domi
, Komplex
, Moertel
, Pike
, Rythmos
, and TriKota
. These packages will be archived, e.g.,
- Removed from the Trilinos repository (but still part of the Trilinos git history, Trilinos <15.0).
- No support, maintenance or bug fixes will be provided.
- Trilinos 15.0 will be the first release without these packages.
- Individual repositories of each package will be available in the Trilinos GitHub organization for external development.
Trilinos 14.0.0
Trilinos 14.0.0 release
Trilinos 13.4.1
Patch release from 13.4 branch to support xSDK 0.8 release.
Trilinos 13.4.0
Trilinos Release 13.4.0.
Trilinos 13.2.0
This is a new minor release of Trilinos taken from the trilinos-release-13-2-branch.