Obligatoriska och valfria beroendebibliotek¶
Här beskrivs de bibliotek som krävs för att bygga FrontISTR samt valfria bibliotek som utökar funktionaliteten. För installationsanvisningar för respektive bibliotek, se bibliotekets egen dokumentation.
Obligatoriska beroendebibliotek¶
Följande verktyg och bibliotek krävs för att bygga FrontISTR.
| Bibliotek | Versionskrav | Användning |
|---|---|---|
| CMake | ≥ 3.13.4 | Byggsystem |
| C/C++/Fortran-kompilator | — | Kompilering av källkod |
| MPI | — | Bibliotek för parallell kommunikation (OpenMPI, IntelMPI m.fl.) |
Valfria beroendebibliotek¶
Följande bibliotek är valfria och kan aktiveras vid byggning efter vilka funktioner som behövs. För motsvarande CMake-alternativ, se Byggning med CMake.
| Bibliotek | CMake-alternativ | Användning | Källa |
|---|---|---|---|
| METIS (v4/v5) | WITH_METIS |
Domänuppdelning genom grafpartitionering | Karypis Lab |
| MUMPS + ScaLAPACK | WITH_MUMPS |
Parallell direktlösare | MUMPS-Solver.org / Netlib |
| Intel oneAPI MKL | WITH_MKL |
Direktlösare (PARDISO), BLAS/LAPACK | Intel |
| OpenBLAS / LAPACK | WITH_LAPACK |
Numerisk linjär algebra (uppskattning av konditionstal) | OpenBLAS.net / Netlib |
| Trilinos ML | WITH_ML |
AMG-förkonditionering | Trilinos Project |
| REVOCAP_Refiner | WITH_REFINER |
Nätförfining | FrontISTR:s nedladdningssida |
| REVOCAP_Coupler | WITH_REVOCAP |
Kopplad analys | FrontISTR:s nedladdningssida |
| NetCDF | WITH_NETCDF |
Utdata i Exodus II-format | Unidata |
| Doxygen | WITH_DOC |
Generering av API-dokumentation | Doxygen.nl |
Ytterligare verktyg som krävs för GPU-byggning¶
FrontISTR:s GPU-acceleration är implementerad med OpenACC, och för närvarande har funktionen verifierats med en konfiguration som använder NVIDIA HPC SDK. För GPU-byggning krävs, utöver de obligatoriska biblioteken ovan, följande verktyg.
| Verktyg | Användning | Källa |
|---|---|---|
NVIDIA HPC SDK (nvc, nvc++, nvfortran) |
Kompilering av OpenACC GPU-offloading | NVIDIA |
För detaljer om byggproceduren för GPU, inklusive hantering av bibliotek som inte stöds, se Byggning med GPU.