Povinné a volitelné závislosti¶
Tato stránka popisuje knihovny potřebné k sestavení FrontISTR a volitelné knihovny rozšiřující jeho funkčnost. Pokyny k instalaci jednotlivých knihoven naleznete v dokumentaci příslušné knihovny.
Povinné závislosti¶
Následující nástroje a knihovny jsou nutné k sestavení FrontISTR.
| Knihovna | Požadavek na verzi | Účel |
|---|---|---|
| CMake | ≥ 3.13.4 | Systém sestavení |
| Kompilátor C/C++/Fortran | — | Kompilace zdrojového kódu |
| MPI | — | Knihovna pro paralelní komunikaci (OpenMPI, IntelMPI apod.) |
Volitelné závislosti¶
Následující knihovny jsou volitelné a lze je při sestavení povolit podle požadované funkčnosti. Odpovídající volby CMake naleznete v části Sestavení pomocí CMake.
| Knihovna | Volba CMake | Účel | Zdroj |
|---|---|---|---|
| METIS (v4/v5) | WITH_METIS | Dělení sítě pomocí dělení grafu | Karypis Lab |
| MUMPS + ScaLAPACK | WITH_MUMPS | Paralelní přímý řešič | MUMPS-Solver.org / Netlib |
| Intel oneAPI MKL | WITH_MKL | Přímý řešič (PARDISO), BLAS/LAPACK | Intel |
| OpenBLAS / LAPACK | WITH_LAPACK | Numerická lineární algebra (odhad čísla podmíněnosti) | OpenBLAS.net / Netlib |
| Trilinos ML | WITH_ML | Předpodmínění AMG | Trilinos Project |
| REVOCAP_Refiner | WITH_REFINER | Zjemnění sítě | Stránka ke stažení FrontISTR |
| REVOCAP_Coupler | WITH_REVOCAP | Sdružená analýza | Stránka ke stažení FrontISTR |
| NetCDF | WITH_NETCDF | Výstup ve formátu Exodus II | Unidata |
| Doxygen | WITH_DOC | Generování dokumentace API | Doxygen.nl |
Další nástroje potřebné pro sestavení s GPU¶
Akcelerace FrontISTR na GPU je implementována pomocí OpenACC a aktuálně ověřená konfigurace používá NVIDIA HPC SDK. Kromě výše uvedených povinných knihoven jsou pro sestavení s GPU potřebné následující nástroje.
| Nástroj | Účel | Zdroj |
|---|---|---|
NVIDIA HPC SDK (nvc, nvc++, nvfortran) | Kompilace offloadu OpenACC na GPU | NVIDIA |
Podrobnosti o postupu sestavení pro GPU, včetně zacházení s nepodporovanými knihovnami, naleznete v části Sestavení s GPU.