Pereiti prie turinio

Kompiliavimas naudojant CMake

Šiame puslapyje aprašoma procedūra nuo FrontISTR šaltinio kodo gavimo iki kompiliavimo ir įdiegimo. Išsamesnę informaciją apie priklausomas bibliotekas žr. Privalomos ir neprivalomos priklausomybės.

Šaltinio kodo gavimas

FrontISTR šaltinio kodą galima gauti iš GitLab arba GitHub.

# GitLab
git clone https://gitlab.com/FrontISTR-Commons/FrontISTR.git

# GitHub (veidrodis)
git clone https://github.com/FrontISTR/FrontISTR.git

Kompiliavimo procedūra

FrontISTR numato kompiliavimą už šaltinio medžio ribų (kompiliuoti tiesiogiai šaltinio medyje draudžiama). Sukurkite katalogą build ir jame paleiskite cmake.

cd FrontISTR
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DWITH_MPI=ON -DWITH_OPENMP=ON ..
make -j$(nproc)

Po kompiliavimo programą galima tiesiogiai paleisti kaip /path/to/FrontISTR/build/fistr1/fistr1. Norėdami įdiegti ją į sistemos kelią (CMAKE_INSTALL_PREFIX), papildomai vykdykite šią komandą.

cmake --build . --target install

CMake parinkčių sąrašas

Parinktys, kurių numatytoji reikšmė nurodyta kaip „ON aptikus“, automatiškai įjungiamos, jei vykdant cmake sistemoje randama atitinkama biblioteka. Jas galima aiškiai išjungti nurodant -DWITH_XXX=OFF.

Parinktis Numatytoji reikšmė Aprašymas
WITH_MPI ON Įjungia MPI lygiagretųjį vykdymą
WITH_OPENMP ON aptikus Įjungia OpenMP gijų lygiagretųjį vykdymą
WITH_METIS ON aptikus Įjungia srities skaidymą naudojant METIS
METIS_VER_4 OFF Naudoja METIS v4 (kai OFF, naudojama v5)
WITH_MUMPS ON aptikus Įjungia MUMPS lygiagretųjį tiesioginį sprendiklį
WITH_MKL ON aptikus Įjungia Intel MKL (įskaitant PARDISO)
WITH_LAPACK ON aptikus Įjungia sąlygotumo skaičiaus įvertinimą naudojant LAPACK
WITH_ML ON aptikus Įjungia AMG išankstinį sąlygojimą naudojant Trilinos ML
WITH_REFINER ON aptikus Įjungia tinklo smulkinimą naudojant REVOCAP_Refiner
WITH_REVOCAP ON aptikus Įjungia susietąją analizę naudojant REVOCAP_Coupler
WITH_TOOLS ON Sukompiliuoja pridedamus įrankius
WITH_DOC OFF Generuoja API dokumentaciją naudojant Doxygen
WITH_NETCDF ON aptikus Įjungia Exodus II formato išvestį (NetCDF)
WINDOWS OFF Įjungia kompiliavimą Windows sistemai
CMAKE_BUILD_TYPE RELEASE Kompiliavimo tipas (RELEASE / DEBUG)
CMAKE_INSTALL_PREFIX /usr/local Diegimo katalogas
DEBUG_EXTRA OFF Įjungia atminties nuotėkio tikrinimą (GCC, -fsanitize=address)

DEBUG kompiliavimas

Nurodžius CMAKE_BUILD_TYPE=DEBUG, pridedamos šios kompiliatoriui būdingos derinimo vėliavėlės.

Kompiliatorius Papildomos vėliavėlės
GCC -fbounds-check -fbacktrace
Intel -check uninit,bound -traceback
cmake -DCMAKE_BUILD_TYPE=DEBUG ..

Kompiliavimas naudojant GPU

Kai kompiliatoriumi nurodomas NVIDIA HPC SDK (nvc/nvc++/nvfortran), CMake automatiškai prideda šias vėliavėles.

Vėliavėlė Aprašymas
-acc Įjungia OpenACC
-Minfo=accel Kompiliavimo metu rodo informaciją apie skaičiavimų perkėlimą į GPU
-gpu=ccnative,mem:managed Automatiškai aptinka kompiliavimo aplinkos GPU, nustato tikslinę architektūrą ir naudoja Unified Memory

Išsamią OpenACC GPU kompiliavimo procedūrą žr. Kompiliavimas naudojant GPU.

AI-assisted translation May contain errors Official docs Status