Erforderliche und optionale Abhängigkeiten¶
Diese Seite beschreibt die Bibliotheken, die zum Erstellen von FrontISTR erforderlich sind, sowie optionale Bibliotheken zur Erweiterung des Funktionsumfangs. Hinweise zur Installation der einzelnen Bibliotheken finden Sie in der jeweiligen Bibliotheksdokumentation.
Erforderliche Abhängigkeiten¶
Die folgenden Werkzeuge und Bibliotheken sind zum Erstellen von FrontISTR erforderlich.
| Bibliothek | Versionsanforderung | Zweck |
|---|---|---|
| CMake | ≥ 3.13.4 | Build-System |
| C/C++/Fortran-Compiler | — | Kompilierung des Quellcodes |
| MPI | — | Bibliothek für parallele Kommunikation (OpenMPI, IntelMPI usw.) |
Optionale Abhängigkeiten¶
Die folgenden Bibliotheken sind optional und können beim Build je nach benötigtem Funktionsumfang aktiviert werden. Die entsprechenden CMake-Optionen finden Sie unter Build mit CMake.
| Bibliothek | CMake-Option | Zweck | Bezugsquelle |
|---|---|---|---|
| METIS (v4/v5) | WITH_METIS |
Gebietszerlegung durch Graphpartitionierung | Karypis Lab |
| MUMPS + ScaLAPACK | WITH_MUMPS |
Paralleler Direktlöser | MUMPS-Solver.org / Netlib |
| Intel oneAPI MKL | WITH_MKL |
Direktlöser (PARDISO), BLAS/LAPACK | Intel |
| OpenBLAS / LAPACK | WITH_LAPACK |
Numerische lineare Algebra (Schätzung der Konditionszahl) | OpenBLAS.net / Netlib |
| Trilinos ML | WITH_ML |
AMG-Vorkonditionierung | Trilinos Project |
| REVOCAP_Refiner | WITH_REFINER |
Netzverfeinerung | FrontISTR-Downloadseite |
| REVOCAP_Coupler | WITH_REVOCAP |
Gekoppelte Analyse | FrontISTR-Downloadseite |
| NetCDF | WITH_NETCDF |
Ausgabe im Exodus-II-Format | Unidata |
| Doxygen | WITH_DOC |
Erzeugung der API-Dokumentation | Doxygen.nl |
Zusätzliche Werkzeuge für GPU-Builds¶
Die GPU-Beschleunigung von FrontISTR ist mit OpenACC implementiert; derzeit wurde der Betrieb in einer Konfiguration mit dem NVIDIA HPC SDK verifiziert. Zusätzlich zu den oben aufgeführten erforderlichen Bibliotheken werden für GPU-Builds die folgenden Werkzeuge benötigt.
| Werkzeug | Zweck | Bezugsquelle |
|---|---|---|
NVIDIA HPC SDK (nvc, nvc++, nvfortran) |
Kompilierung des OpenACC-GPU-Offloadings | NVIDIA |
Details zum GPU-Build, einschließlich des Umgangs mit nicht unterstützten Bibliotheken, finden Sie unter GPU-Build.