Software Catalog
Much of our knowledge and experience is embodied in the FASTMath software tools, many of which are Department of Energy (DOE) landmark packages that are widely available and used by DOE and other application scientists. A strength of the FASTMath project is its ability to build a more integrated, high-performing software base for applications, while sharing software development best practices internally and across DOE. To fully realize this potential, we must bring together software products with varying degrees of interoperability, maturity, robustness, and user support. Our efforts aim at improving quality, reducing barriers to adoption, and facilitating integration of the many FASTMath software products.
A list of FASTMath software tools is provided here, along with links for further information and for downloading the software packages.
Tools for Problem Discretization
AMReX
Block-structured AMR framework for mesh and particle data in regular and complex geometries
Chombo
Tools for implementing finite-difference and finite-volume methods for the solution of PDEs on block-structured AMR grids with complex geometries
Omega_h
Tetrahedron and triangle mesh adaptativity, with a focus on scalable HPC performance using MPI and OpenMP or CUDA
PuLP/XtraPuLP
Parallel graph partitioning tools for shared-memory (PuLP) and distributed-memory (XtraPuLP) partitioning of large sparse graphs
PUMI/MeshAdapt/ParMA
Parallel unstructured mesh infrastructure including curved mesh adaptation and dynamic load balancing
PUMIPic
Infrastructure to support PIC operations on distributed unstructured meshes
Zoltan/Zoltan2
Dynamic load balancing, partitioning, task placement, data ordering, coloring
Tools for Solution of Algebraic Systems
FASTEig
Compute eigenpairs or perform spectral analysis of large sparse or structured matrices
FFTX
Performance-portable fast Fourier transforms for hybrid architectures
hypre
High-performance preconditioners and solvers for large sparse linear systems
KokkosKernels
Library for node-level, performance-portable, computational kernels for sparse/dense linear algebra and graph operations
ShyLU
Solver library that has implementations of domain decomposition algorithms and node-level direct solvers
STRUMPACK
Software library that provides linear algebra routines for sparse matrices and for dense rank-structured matrices
SUNDIALS/KINSOL
Time integrators, nonlinear solvers for algebraic systems
Tools for Numerical Optimization
MATSuMoTo
Surrogate model toolbox for box-constrained global optimization
MINOTAUR
Toolkit for solving mixed-integer nonlinear optimization problems
Tools for Uncertainty Quantification
Dakota
Flexible, extensible interface between simulation codes and various iterative systems analysis methods
UQTk
Libraries and tools for the quantification of uncertainty in numerical model predictions