Translation update pending
The Swedish translation may be out of date because the Japanese source has changed. The existing translation remains available while it is being updated.
Bygga med CMake¶
Den här sidan beskriver proceduren från hämtning av FrontISTR:s källkod till byggning och installation. Mer information om beroendebiblioteken finns i Obligatoriska och valfria beroenden.
Hämta källkoden¶
FrontISTR:s källkod kan hämtas från GitLab eller GitHub.
# GitLab
git clone https://gitlab.com/FrontISTR-Commons/FrontISTR.git
# GitHub (mirror)
git clone https://github.com/FrontISTR/FrontISTR.git
Byggprocedur¶
FrontISTR förutsätter en out-of-source-build (det är förbjudet att bygga direkt i källkodsträdet). Skapa katalogen build och kör cmake i den.
cd FrontISTR
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DWITH_MPI=ON -DWITH_OPENMP=ON ..
make -j$(nproc)
Efter byggningen kan programmet köras direkt som /path/to/FrontISTR/build/fistr1/fistr1. Kör dessutom följande kommando om det ska installeras i systemsökvägen (CMAKE_INSTALL_PREFIX).
CMake-alternativ¶
Alternativ vars standardvärde anges som "ON om detekterad" aktiveras automatiskt när motsvarande bibliotek hittas i systemet när cmake körs. De kan inaktiveras explicit genom att ange -DWITH_XXX=OFF.
| Alternativ | Standard | Beskrivning |
|---|---|---|
WITH_MPI | ON | Aktiverar MPI-parallellism |
WITH_OPENMP | ON om detekterad | Aktiverar trådparallellism med OpenMP |
WITH_METIS | ON om detekterad | Aktiverar domänuppdelning med METIS |
WITH_MUMPS | ON om detekterad | Aktiverar den parallella direktlösaren MUMPS |
WITH_MKL | ON om detekterad | Aktiverar Intel MKL (inklusive PARDISO) |
WITH_LAPACK | ON om detekterad | Aktiverar uppskattning av konditionstal med LAPACK |
WITH_ML | ON om detekterad | Aktiverar AMG-förkonditionering med Trilinos ML |
WITH_REFINER | ON om detekterad | Aktiverar nätförfining med REVOCAP_Refiner |
WITH_REVOCAP | ON om detekterad | Aktiverar kopplad analys med REVOCAP_Coupler |
WITH_TOOLS | ON | Bygger de medföljande verktygen |
WITH_DOC | OFF | Genererar API-dokumentation med Doxygen |
WITH_NETCDF | ON om detekterad | Aktiverar Exodus II-utdata (NetCDF) |
WINDOWS | OFF | Aktiverar byggning för Windows |
CMAKE_BUILD_TYPE | RELEASE | Byggtyp (RELEASE / DEBUG) |
CMAKE_INSTALL_PREFIX | /usr/local | Installationskatalog |
DEBUG_EXTRA | OFF | Aktiverar kontroll av minnesläckor (för GCC, -fsanitize=address) |
NVHPC_NO_ACC | OFF | Inaktiverar OpenACC när NVIDIA HPC SDK-kompilatorerna används och bygger CPU-versionen |
DEBUG-build¶
När CMAKE_BUILD_TYPE=DEBUG anges läggs följande kompilatorspecifika debugflaggor till.
| Kompilator | Ytterligare flaggor |
|---|---|
| GCC | -fbounds-check -fbacktrace |
| Intel | -check uninit,bound -traceback |
Bygga med GPU¶
När NVIDIA HPC SDK (nvc/nvc++/nvfortran) anges som kompilator lägger CMake automatiskt till följande flaggor.
| Flagga | Beskrivning |
|---|---|
-acc | Aktiverar OpenACC |
-Minfo=accel | Visar information om GPU-offloading vid kompilering |
-gpu=ccnative,mem:managed | Detekterar automatiskt GPU:n i byggmiljön för att fastställa målet och använder Unified Memory |
När -DNVHPC_NO_ACC=ON anges läggs dessa flaggor inte till.
Detaljerade procedurer för GPU-byggen med OpenACC finns i Bygga med GPU.