Přeskočit obsah

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.

cmake --build . --target install

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
cmake -DCMAKE_BUILD_TYPE=DEBUG ..

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.

AI-assisted translation May contain errors Official docs Status