Preskočiť na obsah

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.

cmake --build . --target install

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

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.

AI-assisted translation May contain errors Official docs Status