Přeskočit obsah

Translation update pending

The Czech translation may be out of date because the Japanese source has changed. The existing translation remains available while it is being updated.

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í sítě pomocí METIS
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)
NVHPC_NO_ACC OFF Zakáže OpenACC při použití kompilátorů NVIDIA HPC SDK a sestaví verzi pro CPU

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

Je-li zadáno -DNVHPC_NO_ACC=ON, tyto příznaky se nepřidají.

Podrobný postup sestavení s GPU pomocí OpenACC je uveden v části Sestavení s GPU.