Ga naar inhoud

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.