Obligatoriske og valgfrie afhængigheder¶
Denne side beskriver de biblioteker, der er nødvendige for at bygge FrontISTR, samt valgfrie biblioteker, der udvider funktionaliteten. Se dokumentationen for det enkelte bibliotek for installationsvejledning.
Obligatoriske afhængigheder¶
Følgende værktøjer og biblioteker er nødvendige for at bygge FrontISTR.
| Bibliotek | Versionskrav | Formål |
|---|---|---|
| CMake | ≥ 3.13.4 | Byggesystem |
| C/C++/Fortran-compiler | — | Kompilering af kildekoden |
| MPI | — | Bibliotek til parallel kommunikation (OpenMPI, IntelMPI osv.) |
Valgfrie afhængigheder¶
Følgende biblioteker er valgfrie og kan aktiveres under bygningen efter behov. Se Bygning med CMake for de tilsvarende CMake-indstillinger.
| Bibliotek | CMake-indstilling | Formål | Kilde |
|---|---|---|---|
| METIS (v4/v5) | WITH_METIS | Domænedekomponering ved grafpartitionering | Karypis Lab |
| MUMPS + ScaLAPACK | WITH_MUMPS | Parallel direkte solver | MUMPS-Solver.org / Netlib |
| Intel oneAPI MKL | WITH_MKL | Direkte solver (PARDISO), BLAS/LAPACK | Intel |
| OpenBLAS / LAPACK | WITH_LAPACK | Numerisk lineær algebra (estimering af konditionstal) | OpenBLAS.net / Netlib |
| Trilinos ML | WITH_ML | AMG-prækonditionering | Trilinos Project |
| REVOCAP_Refiner | WITH_REFINER | Netforfining | FrontISTR-downloadside |
| REVOCAP_Coupler | WITH_REVOCAP | Koblet analyse | FrontISTR-downloadside |
| NetCDF | WITH_NETCDF | Output i Exodus II-format | Unidata |
| Doxygen | WITH_DOC | Generering af API-dokumentation | Doxygen.nl |
Yderligere værktøjer til GPU-bygning¶
FrontISTR's GPU-acceleration er implementeret med OpenACC, og den konfiguration, der aktuelt er verificeret, anvender NVIDIA HPC SDK. Ud over de obligatoriske biblioteker ovenfor kræves følgende værktøj til GPU-bygning.
| Værktøj | Formål | Kilde |
|---|---|---|
NVIDIA HPC SDK (nvc, nvc++, nvfortran) | Kompilering af OpenACC GPU-offloading | NVIDIA |
Se Bygning med GPU-understøttelse for detaljer om GPU-byggeproceduren, herunder håndtering af biblioteker, der ikke understøttes.