Vereiste en optionele afhankelijkheden¶
Deze pagina beschrijft de bibliotheken die vereist zijn om FrontISTR te bouwen en de optionele bibliotheken die de functionaliteit uitbreiden. Raadpleeg voor instructies voor de installatie van elke bibliotheek de documentatie van die bibliotheek.
Vereiste afhankelijkheden¶
De volgende hulpmiddelen en bibliotheken zijn vereist om FrontISTR te bouwen.
| Bibliotheek | Versievereiste | Doel |
|---|---|---|
| CMake | ≥ 3.13.4 | Buildsysteem |
| C/C++/Fortran-compiler | — | Compileren van de broncode |
| MPI | — | Bibliotheek voor parallelle communicatie (OpenMPI, IntelMPI, enz.) |
Optionele afhankelijkheden¶
De volgende bibliotheken zijn optioneel en kunnen tijdens het bouwen worden ingeschakeld afhankelijk van de vereiste functionaliteit. Zie Bouwen met CMake voor de bijbehorende CMake-opties.
| Bibliotheek | CMake-optie | Doel | Bron |
|---|---|---|---|
| METIS (v4/v5) | WITH_METIS | Domeindecompositie door grafenpartitionering | Karypis Lab |
| MUMPS + ScaLAPACK | WITH_MUMPS | Parallelle directe solver | MUMPS-Solver.org / Netlib |
| Intel oneAPI MKL | WITH_MKL | Directe solver (PARDISO), BLAS/LAPACK | Intel |
| OpenBLAS / LAPACK | WITH_LAPACK | Numerieke lineaire algebra (schatting van het conditiegetal) | OpenBLAS.net / Netlib |
| Trilinos ML | WITH_ML | AMG-preconditionering | Trilinos Project |
| REVOCAP_Refiner | WITH_REFINER | Meshverfijning | FrontISTR-downloadpagina |
| REVOCAP_Coupler | WITH_REVOCAP | Gekoppelde analyse | FrontISTR-downloadpagina |
| NetCDF | WITH_NETCDF | Uitvoer in Exodus II-formaat | Unidata |
| Doxygen | WITH_DOC | Genereren van API-documentatie | Doxygen.nl |
Aanvullende hulpmiddelen vereist voor GPU-builds¶
FrontISTR-GPU-versnelling is geïmplementeerd met OpenACC, en de configuratie die momenteel voor werking is geverifieerd gebruikt de NVIDIA HPC SDK. Naast de hierboven vermelde vereiste bibliotheken zijn de volgende hulpmiddelen vereist voor GPU-builds.
| Hulpmiddel | Doel | Bron |
|---|---|---|
NVIDIA HPC SDK (nvc, nvc++, nvfortran) | Compileren van OpenACC-GPU-offloading | NVIDIA |
Zie Bouwen met GPU-ondersteuning voor details over de GPU-buildprocedure, inclusief de behandeling van niet-ondersteunde bibliotheken.