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.
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 |
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.