Påkrevde og valgfrie avhengigheter¶
Denne siden beskriver bibliotekene som kreves for å bygge FrontISTR, og valgfrie biblioteker som utvider funksjonaliteten. Se dokumentasjonen som følger med det enkelte biblioteket for instruksjoner om installasjon.
Påkrevde avhengigheter¶
Følgende verktøy og biblioteker kreves for å bygge FrontISTR.
| Bibliotek | Versjonskrav | Formål |
|---|---|---|
| CMake | ≥ 3.13.4 | Byggesystem |
| C/C++/Fortran-kompilator | — | Kompilering av kildekoden |
| MPI | — | Bibliotek for parallell kommunikasjon (OpenMPI, IntelMPI osv.) |
Valgfrie avhengigheter¶
Følgende biblioteker er valgfrie og kan aktiveres ved bygging avhengig av nødvendig funksjonalitet. Se Bygging med CMake for de tilsvarende CMake-alternativene.
| Bibliotek | CMake-alternativ | Formål | Kilde |
|---|---|---|---|
| METIS (v4/v5) | WITH_METIS | Domenedekomponering ved grafpartisjonering | Karypis Lab |
| MUMPS + ScaLAPACK | WITH_MUMPS | Parallell direkte løser | MUMPS-Solver.org / Netlib |
| Intel oneAPI MKL | WITH_MKL | Direkte løser (PARDISO), BLAS/LAPACK | Intel |
| OpenBLAS / LAPACK | WITH_LAPACK | Numerisk lineær algebra (estimering av kondisjonstall) | OpenBLAS.net / Netlib |
| Trilinos ML | WITH_ML | AMG-forkondisjonering | Trilinos Project |
| REVOCAP_Refiner | WITH_REFINER | Meshraffinering | FrontISTR-nedlastingssiden |
| REVOCAP_Coupler | WITH_REVOCAP | Koblet analyse | FrontISTR-nedlastingssiden |
| NetCDF | WITH_NETCDF | Utdata i Exodus II-format | Unidata |
| Doxygen | WITH_DOC | Generering av API-dokumentasjon | Doxygen.nl |
Tilleggsverktøy som kreves for GPU-bygg¶
FrontISTRs GPU-akselerasjon er implementert med OpenACC, og konfigurasjonen som for øyeblikket er verifisert for drift, bruker NVIDIA HPC SDK. I tillegg til de påkrevde bibliotekene ovenfor kreves følgende verktøy for GPU-bygg.
| Verktøy | Formål | Kilde |
|---|---|---|
NVIDIA HPC SDK (nvc, nvc++, nvfortran) | Kompilering av OpenACC GPU-offloading | NVIDIA |
Se GPU-bygg for detaljer om GPU-byggeprosedyren, inkludert håndtering av biblioteker som ikke støttes.