Wymagane i opcjonalne zależności¶
Ta strona opisuje biblioteki wymagane do zbudowania FrontISTR oraz biblioteki opcjonalne rozszerzające jego funkcjonalność. Instrukcje instalacji poszczególnych bibliotek znajdują się w dokumentacji dostarczanej z daną biblioteką.
Wymagane zależności¶
Do zbudowania FrontISTR wymagane są następujące narzędzia i biblioteki.
| Biblioteka | Wymagana wersja | Zastosowanie |
|---|---|---|
| CMake | ≥ 3.13.4 | System budowania |
| Kompilator C/C++/Fortran | — | Kompilacja kodu źródłowego |
| MPI | — | Biblioteka komunikacji równoległej (OpenMPI, IntelMPI itp.) |
Zależności opcjonalne¶
Następujące biblioteki są opcjonalne i można je włączyć podczas budowania zależnie od wymaganej funkcjonalności. Odpowiednie opcje CMake opisano w Budowanie za pomocą CMake.
| Biblioteka | Opcja CMake | Zastosowanie | Źródło |
|---|---|---|---|
| METIS (v4/v5) | WITH_METIS |
Dekompozycja domeny przez partycjonowanie grafu | Karypis Lab |
| MUMPS + ScaLAPACK | WITH_MUMPS |
Równoległy solver bezpośredni | MUMPS-Solver.org / Netlib |
| Intel oneAPI MKL | WITH_MKL |
Solver bezpośredni (PARDISO), BLAS/LAPACK | Intel |
| OpenBLAS / LAPACK | WITH_LAPACK |
Numeryczna algebra liniowa (estymacja liczby uwarunkowania) | OpenBLAS.net / Netlib |
| Trilinos ML | WITH_ML |
Prekondycjonowanie AMG | Trilinos Project |
| REVOCAP_Refiner | WITH_REFINER |
Zagęszczanie siatki | Strona pobierania FrontISTR |
| REVOCAP_Coupler | WITH_REVOCAP |
Analiza sprzężona | Strona pobierania FrontISTR |
| NetCDF | WITH_NETCDF |
Wyjście w formacie Exodus II | Unidata |
| Doxygen | WITH_DOC |
Generowanie dokumentacji API | Doxygen.nl |
Dodatkowe narzędzia wymagane do budowania z obsługą GPU¶
Akceleracja GPU w FrontISTR jest zaimplementowana z użyciem OpenACC, a obecnie zweryfikowana konfiguracja wykorzystuje NVIDIA HPC SDK. Oprócz wymaganych bibliotek wymienionych powyżej do budowania z obsługą GPU potrzebne są następujące narzędzia.
| Narzędzie | Zastosowanie | Źródło |
|---|---|---|
NVIDIA HPC SDK (nvc, nvc++, nvfortran) |
Kompilacja odciążania obliczeń GPU z OpenACC | NVIDIA |
Szczegóły procedury budowania z obsługą GPU, w tym sposób postępowania z nieobsługiwanymi bibliotekami, znajdują się w Budowanie z obsługą GPU.