Zostavenie pomocou CMake¶
Táto stránka opisuje postup od získania zdrojového kódu FrontISTR až po zostavenie a inštaláciu. Podrobnosti o závislých knižniciach nájdete v časti Povinné a voliteľné závislosti.
Získanie zdrojového kódu¶
Zdrojový kód FrontISTR možno získať z GitLab alebo GitHub.
# GitLab
git clone https://gitlab.com/FrontISTR-Commons/FrontISTR.git
# GitHub (zrkadlo)
git clone https://github.com/FrontISTR/FrontISTR.git
Postup zostavenia¶
FrontISTR predpokladá zostavenie mimo zdrojového stromu (zostavenie priamo v zdrojovom strome je zakázané). Vytvorte adresár build a spustite v ňom cmake.
cd FrontISTR
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DWITH_MPI=ON -DWITH_OPENMP=ON ..
make -j$(nproc)
Po zostavení ho možno spustiť priamo ako /path/to/FrontISTR/build/fistr1/fistr1. Ak ho chcete nainštalovať do systémovej cesty (CMAKE_INSTALL_PREFIX), navyše spustite nasledujúci príkaz.
Voľby CMake¶
Voľby, ktorých predvolená hodnota je uvedená ako „ON pri zistení“, sa automaticky zapnú, ak sa pri spustení cmake v systéme nájde príslušná knižnica. Možno ich explicitne vypnúť zadaním -DWITH_XXX=OFF.
| Voľba | Predvolené | Opis |
|---|---|---|
WITH_MPI | ON | Zapína paralelizmus MPI |
WITH_OPENMP | ON pri zistení | Zapína vláknový paralelizmus OpenMP |
WITH_METIS | ON pri zistení | Zapína dekompozíciu domény pomocou METIS |
METIS_VER_4 | OFF | Používa METIS v4 (OFF používa v5) |
WITH_MUMPS | ON pri zistení | Zapína paralelný priamy riešič MUMPS |
WITH_MKL | ON pri zistení | Zapína Intel MKL (vrátane PARDISO) |
WITH_LAPACK | ON pri zistení | Zapína odhad čísla podmienenosti pomocou LAPACK |
WITH_ML | ON pri zistení | Zapína AMG predpodmieňovanie pomocou Trilinos ML |
WITH_REFINER | ON pri zistení | Zapína zjemnenie siete pomocou REVOCAP_Refiner |
WITH_REVOCAP | ON pri zistení | Zapína združenú analýzu pomocou REVOCAP_Coupler |
WITH_TOOLS | ON | Zostaví dodávané nástroje |
WITH_DOC | OFF | Generuje dokumentáciu API pomocou Doxygen |
WITH_NETCDF | ON pri zistení | Zapína výstup Exodus II (NetCDF) |
WINDOWS | OFF | Zapína zostavenie pre Windows |
CMAKE_BUILD_TYPE | RELEASE | Typ zostavenia (RELEASE / DEBUG) |
CMAKE_INSTALL_PREFIX | /usr/local | Inštalačný adresár |
DEBUG_EXTRA | OFF | Zapína kontrolu únikov pamäte (pre GCC -fsanitize=address) |
Zostavenie DEBUG¶
Keď sa zadá CMAKE_BUILD_TYPE=DEBUG, pridajú sa nasledujúce ladiace príznaky špecifické pre kompilátor.
| Kompilátor | Dodatočné príznaky |
|---|---|
| GCC | -fbounds-check -fbacktrace |
| Intel | -check uninit,bound -traceback |
Zostavenie s GPU¶
Keď je ako kompilátor zadaný NVIDIA HPC SDK (nvc/nvc++/nvfortran), CMake automaticky pridá nasledujúce príznaky.
| Príznak | Opis |
|---|---|
-acc | Zapína OpenACC |
-Minfo=accel | Pri kompilácii zobrazuje informácie o presune výpočtov na GPU |
-gpu=ccnative,mem:managed | Automaticky zistí GPU v prostredí zostavenia, určí cieľ a použije Unified Memory |
Podrobný postup zostavenia pre GPU s OpenACC nájdete v časti Zostavenie s GPU.