Required and Optional Dependencies¶
This page describes the libraries required to build FrontISTR and the optional libraries that extend its functionality. For instructions on installing each library, refer to the documentation provided by that library.
Required Dependencies¶
The following tools and libraries are required to build FrontISTR.
| Library | Version requirement | Purpose |
|---|---|---|
| CMake | ≥ 3.13.4 | Build system |
| C/C++/Fortran compiler | — | Compiling the source code |
| MPI | — | Parallel communication library (OpenMPI, IntelMPI, etc.) |
Optional Dependencies¶
The following libraries are optional and can be enabled at build time according to the functionality required. See Building with CMake for the corresponding CMake options.
| Library | CMake option | Purpose | Source |
|---|---|---|---|
| METIS (v4/v5) | WITH_METIS |
Domain decomposition by graph partitioning | Karypis Lab |
| MUMPS + ScaLAPACK | WITH_MUMPS |
Parallel direct solver | MUMPS-Solver.org / Netlib |
| Intel oneAPI MKL | WITH_MKL |
Direct solver (PARDISO), BLAS/LAPACK | Intel |
| OpenBLAS / LAPACK | WITH_LAPACK |
Numerical linear algebra (condition number estimation) | OpenBLAS.net / Netlib |
| Trilinos ML | WITH_ML |
AMG preconditioning | Trilinos Project |
| REVOCAP_Refiner | WITH_REFINER |
Mesh refinement | FrontISTR download page |
| REVOCAP_Coupler | WITH_REVOCAP |
Coupled analysis | FrontISTR download page |
| NetCDF | WITH_NETCDF |
Output in Exodus II format | Unidata |
| Doxygen | WITH_DOC |
API documentation generation | Doxygen.nl |
Additional Tools Required for GPU Builds¶
FrontISTR GPU acceleration is implemented using OpenACC, and the configuration currently verified for operation uses the NVIDIA HPC SDK. In addition to the required libraries listed above, the following tools are required for GPU builds.
| Tool | Purpose | Source |
|---|---|---|
NVIDIA HPC SDK (nvc, nvc++, nvfortran) |
Compiling OpenACC GPU offloading | NVIDIA |
For details of the GPU build procedure, including the handling of unsupported libraries, see GPU Build.