Preskočiť na obsah

Translation update pending

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

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
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)
NVHPC_NO_ACC OFF Vypne OpenACC pri použití kompilátorov NVIDIA HPC SDK a zostaví verziu pre CPU

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

Ak je zadané -DNVHPC_NO_ACC=ON, tieto príznaky sa nepridajú.

Podrobný postup zostavenia pre GPU s OpenACC nájdete v časti Zostavenie s GPU.