Skoči na vsebino

Translation update pending

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

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 neobvezne odvisnosti.

Pridobitev izvorne kode

Izvorno kodo FrontISTR lahko pridobite iz GitLab ali GitHub.

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

# GitHub (zrcalo)
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
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)
NVHPC_NO_ACC OFF Onemogoči OpenACC pri uporabi prevajalnikov NVIDIA HPC SDK in zgradi različico za CPU

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

Če je določeno -DNVHPC_NO_ACC=ON, se te zastavice ne dodajo.

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