Sestavení pomocí CMake¶
Tato stránka popisuje postup od získání zdrojového kódu FrontISTR až po sestavení a instalaci. Podrobnosti o závislých knihovnách jsou uvedeny v části Povinné a volitelné závislosti.
Získání zdrojového kódu¶
Zdrojový kód FrontISTR lze získat z GitLab nebo GitHub.
# GitLab
git clone https://gitlab.com/FrontISTR-Commons/FrontISTR.git
# GitHub (zrcadlo)
git clone https://github.com/FrontISTR/FrontISTR.git
Postup sestavení¶
FrontISTR předpokládá sestavení mimo zdrojový strom (sestavování přímo ve zdrojovém stromu je zakázáno). Vytvořte adresář build a spusťte v něm cmake.
cd FrontISTR
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DWITH_MPI=ON -DWITH_OPENMP=ON ..
make -j$(nproc)
Po sestavení lze program spustit přímo jako /path/to/FrontISTR/build/fistr1/fistr1. Chcete-li jej nainstalovat do systémové cesty (CMAKE_INSTALL_PREFIX), spusťte navíc následující příkaz.
Volby CMake¶
Volby, jejichž výchozí hodnota je uvedena jako „ON při detekci“, se při spuštění cmake automaticky povolí, pokud je v systému nalezena odpovídající knihovna. Lze je výslovně zakázat zadáním -DWITH_XXX=OFF.
| Volba | Výchozí | Popis |
|---|---|---|
WITH_MPI |
ON |
Povolí paralelismus MPI |
WITH_OPENMP |
ON při detekci | Povolí vláknový paralelismus OpenMP |
WITH_METIS |
ON při detekci | Povolí dělení oblasti pomocí METIS |
METIS_VER_4 |
OFF |
Použije METIS v4 (OFF používá v5) |
WITH_MUMPS |
ON při detekci | Povolí paralelní přímý řešič MUMPS |
WITH_MKL |
ON při detekci | Povolí Intel MKL (včetně PARDISO) |
WITH_LAPACK |
ON při detekci | Povolí odhad čísla podmíněnosti pomocí LAPACK |
WITH_ML |
ON při detekci | Povolí AMG předpodmínění pomocí Trilinos ML |
WITH_REFINER |
ON při detekci | Povolí zjemňování sítě pomocí REVOCAP_Refiner |
WITH_REVOCAP |
ON při detekci | Povolí sdruženou analýzu pomocí REVOCAP_Coupler |
WITH_TOOLS |
ON |
Sestaví přibalené nástroje |
WITH_DOC |
OFF |
Generuje dokumentaci API pomocí Doxygen |
WITH_NETCDF |
ON při detekci | Povolí výstup Exodus II (NetCDF) |
WINDOWS |
OFF |
Povolí sestavení pro Windows |
CMAKE_BUILD_TYPE |
RELEASE |
Typ sestavení (RELEASE / DEBUG) |
CMAKE_INSTALL_PREFIX |
/usr/local |
Instalační adresář |
DEBUG_EXTRA |
OFF |
Povolí kontrolu úniků paměti (pro GCC, -fsanitize=address) |
Sestavení DEBUG¶
Při zadání CMAKE_BUILD_TYPE=DEBUG se přidají následující ladicí příznaky specifické pro kompilátor.
| Kompilátor | Další příznaky |
|---|---|
| GCC | -fbounds-check -fbacktrace |
| Intel | -check uninit,bound -traceback |
Sestavení s GPU¶
Je-li jako kompilátor zadán NVIDIA HPC SDK (nvc/nvc++/nvfortran), CMake automaticky přidá následující příznaky.
| Příznak | Popis |
|---|---|
-acc |
Povolí OpenACC |
-Minfo=accel |
Při kompilaci zobrazí informace o přenesení výpočtů na GPU |
-gpu=ccnative,mem:managed |
Automaticky detekuje GPU v prostředí sestavení, určí cílovou architekturu a použije Unified Memory |
Podrobný postup sestavení s GPU pomocí OpenACC je uveden v části Sestavení s GPU.