Preskoči na sadržaj

Izgradnja pomoću CMake-a

Ova stranica opisuje postupak od pribavljanja izvornog koda FrontISTR-a do izgradnje i instalacije. Pojedinosti o ovisnim bibliotekama potražite u Obvezne i neobavezne ovisnosti.

Dohvaćanje izvornog koda

Izvorni kod FrontISTR-a može se pribaviti s GitLaba ili GitHuba.

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

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

Postupak izgradnje

FrontISTR pretpostavlja izgradnju izvan izvornog stabla (izgradnja izravno u izvornom stablu je zabranjena). Izradite direktorij build i u njemu pokrenite cmake.

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

Nakon izgradnje program se može pokrenuti izravno kao /path/to/FrontISTR/build/fistr1/fistr1. Za instalaciju u sistemsku putanju (CMAKE_INSTALL_PREFIX) dodatno pokrenite sljedeću naredbu.

cmake --build . --target install

CMake opcije

Opcije čija je zadana vrijednost navedena kao „ON ako je otkriveno” automatski se omogućuju kada se pri pokretanju cmake-a pronađe odgovarajuća biblioteka u sustavu. Mogu se izričito onemogućiti navođenjem -DWITH_XXX=OFF.

opcija Zadano Opis
WITH_MPI ON Omogućuje MPI paralelizam
WITH_OPENMP ON ako je otkriveno Omogućuje OpenMP paralelizam s nitima
WITH_METIS ON ako je otkriveno Omogućuje dekompoziciju domene pomoću METIS-
METIS_VER_4 OFF koristi METIS v4 (OFF koristi v5)
WITH_MUMPS ON ako je otkriveno Omogućuje paralelni izravni rješavač MUMPS
WITH_MKL ON ako je otkriveno Omogućuje Intel MKL (uključujući PARDISO)
WITH_LAPACK ON ako je otkriveno Omogućuje procjenu broja uvjetovanosti pomoću LAPACK-
WITH_ML ON ako je otkriveno Omogućuje AMG predkondicioniranje pomoću Trilinos ML-
WITH_REFINER ON ako je otkriveno Omogućuje profinjenje mreže pomoću REVOCAP_Refiner-
WITH_REVOCAP ON ako je otkriveno Omogućuje spregnutu analizu pomoću REVOCAP_Coupler-
WITH_TOOLS ON Izgrađuje priložene alate
WITH_DOC OFF Generira API dokumentaciju pomoću Doxygena
WITH_NETCDF ON ako je otkriveno Omogućuje izlaz u formatu Exodus II (NetCDF)
WINDOWS OFF Omogućuje izgradnju za Windows
CMAKE_BUILD_TYPE RELEASE Vrsta izgradnje (RELEASE / DEBUG)
CMAKE_INSTALL_PREFIX /usr/local Instalacijski direktorij
DEBUG_EXTRA OFF Omogućuje provjeru curenja memorije (za GCC, -fsanitize=address)

DEBUG izgradnja

Kada je navedeno CMAKE_BUILD_TYPE=DEBUG, dodaju se sljedeće zastavice za ispravljanje pogrešaka specifične za prevoditelj.

Kompajler Dodatne zastavice
GCC -fbounds-check -fbacktrace
Intel -check uninit,bound -traceback
cmake -DCMAKE_BUILD_TYPE=DEBUG ..

Izgradnja s GPU-om

Kada je NVIDIA HPC SDK (nvc/nvc++/nvfortran) naveden kao prevoditelj, CMake automatski dodaje sljedeće zastavice.

Zastavica Opis
-acc Omogućuje OpenACC
-Minfo=accel Prikazuje informacije o GPU rasterećenju tijekom prevođenja
-gpu=ccnative,mem:managed Automatski otkriva GPU u okruženju izgradnje radi određivanja cilja i koristi objedinjenu memoriju

Za detaljan postupak GPU izgradnje s OpenACC-om pogledajte Izgradnja s GPU-om.

AI-assisted translation May contain errors Official docs Status