Skoči na vsebino

Postopek gradnje s CMake

Ta stran opisuje postopek od pridobitve izvorne kode FrontISTR do gradnje in namestitve. Podrobnosti o odvisnih knjižnicah so v Obvezne in izbirne odvisne knjižnice.

Pridobitev izvorne kode

Izvorno kodo FrontISTR lahko pridobite iz GitLab ali GitHub.

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

# GitHub(ミラー)
git clone https://github.com/FrontISTR/FrontISTR.git

Postopek gradnje

FrontISTR predpostavlja gradnjo zunaj izvornega drevesa (gradnja neposredno v korenu izvornega drevesa je prepovedana). Ustvarite imenik build in v njem zaženite cmake.

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

Po gradnji ga lahko neposredno zaženete kot /path/to/FrontISTR/build/fistr1/fistr1. Za namestitev v sistemsko pot (CMAKE_INSTALL_PREFIX) dodatno izvedite naslednje.

cmake --build . --target install

Seznam možnosti CMake

Možnosti, označene z »ON ob zaznavi«, se samodejno omogočijo, če cmake med izvajanjem v sistemu najde ustrezno knjižnico. Izrecno jih lahko onemogočite z -DWITH_XXX=OFF.

Možnost Privzeto Opis
WITH_MPI ON Omogoči vzporedno izvajanje MPI
WITH_OPENMP ON ob zaznavi Omogoči večnitno vzporedno izvajanje OpenMP
WITH_METIS ON ob zaznavi Omogoči razdelitev domen z METIS
METIS_VER_4 OFF Uporabi METIS v4 (pri OFF v5)
WITH_MUMPS ON ob zaznavi Omogoči vzporedni neposredni reševalnik MUMPS
WITH_MKL ON ob zaznavi Omogoči Intel MKL (vključno s PARDISO)
WITH_LAPACK ON ob zaznavi Omogoči ocenjevanje pogojenosti z LAPACK
WITH_ML ON ob zaznavi Omogoči predpogojevanje AMG z Trilinos ML
WITH_REFINER ON ob zaznavi Omogoči zgoščevanje mreže z REVOCAP_Refiner
WITH_REVOCAP ON ob zaznavi Omogoči sklopljeno analizo z REVOCAP_Coupler
WITH_TOOLS ON Zgradi priložena orodja
WITH_DOC OFF Ustvari dokumentacijo API z Doxygen
WITH_NETCDF ON ob zaznavi Omogoči izpis v obliki Exodus II (NetCDF)
WINDOWS OFF Omogoči gradnjo za Windows
CMAKE_BUILD_TYPE RELEASE Vrsta gradnje (RELEASE / DEBUG)
CMAKE_INSTALL_PREFIX /usr/local Ciljni imenik namestitve
DEBUG_EXTRA OFF Omogoči preverjanje uhajanja pomnilnika (za GCC, -fsanitize=address)

Gradnja DEBUG

Če določite CMAKE_BUILD_TYPE=DEBUG, se glede na prevajalnik dodajo naslednje zastavice za razhroščevanje.

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

Gradnja z GPU

Če kot prevajalnik določite NVIDIA HPC SDK (nvc/nvc++/nvfortran), CMake samodejno doda naslednje zastavice.

Zastavica Opis
-acc Omogoči OpenACC
-Minfo=accel Med prevajanjem prikaže informacije o razbremenitvi na GPU
-gpu=ccnative,mem:managed Samodejno zazna GPU v okolju gradnje, določi cilj in uporabi Unified Memory

Podroben postopek gradnje za GPU z OpenACC je v Gradnja z GPU.

AI-assisted translation May contain errors Official docs Status