Gå til innhold

Translation update pending

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

Bygging med CMake

Denne siden beskriver fremgangsmåten fra henting av FrontISTR-kildekoden til bygging og installasjon. Se Påkrevde og valgfrie avhengigheter for detaljer om avhengighetsbibliotekene.

Hente kildekoden

FrontISTR-kildekoden kan hentes fra GitLab eller GitHub.

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

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

Byggeprosedyre

FrontISTR forutsetter bygging utenfor kildetreet (bygging direkte i kildetreet er forbudt). Opprett katalogen build, og kjør cmake i denne.

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

Etter byggingen kan programmet kjøres direkte som /path/to/FrontISTR/build/fistr1/fistr1. Hvis det skal installeres i systemstien (CMAKE_INSTALL_PREFIX), kjører du i tillegg følgende kommando.

cmake --build . --target install

CMake-alternativer

Alternativer der standardverdien er oppgitt som «PÅ hvis funnet», aktiveres automatisk når det tilsvarende biblioteket finnes på systemet når cmake kjøres. De kan deaktiveres eksplisitt ved å angi -DWITH_XXX=OFF.

Alternativ Standard Beskrivelse
WITH_MPI ON Aktiverer MPI-parallellisering
WITH_OPENMP PÅ hvis funnet Aktiverer OpenMP-trådparallellisering
WITH_METIS PÅ hvis funnet Aktiverer nettpartisjonering med METIS
WITH_MUMPS PÅ hvis funnet Aktiverer den parallelle direkteløseren MUMPS
WITH_MKL PÅ hvis funnet Aktiverer Intel MKL (inkludert PARDISO)
WITH_LAPACK PÅ hvis funnet Aktiverer estimering av kondisjonstall med LAPACK
WITH_ML PÅ hvis funnet Aktiverer AMG-prekondisjonering med Trilinos ML
WITH_REFINER PÅ hvis funnet Aktiverer nettforfining med REVOCAP_Refiner
WITH_REVOCAP PÅ hvis funnet Aktiverer koblet analyse med REVOCAP_Coupler
WITH_TOOLS ON Bygger de medfølgende verktøyene
WITH_DOC OFF Genererer API-dokumentasjon med Doxygen
WITH_NETCDF PÅ hvis funnet Aktiverer utdata i Exodus II-format (NetCDF)
WINDOWS OFF Aktiverer bygging for Windows
CMAKE_BUILD_TYPE RELEASE Byggetype (RELEASE / DEBUG)
CMAKE_INSTALL_PREFIX /usr/local Installasjonskatalog
DEBUG_EXTRA OFF Aktiverer kontroll av minnelekkasjer (for GCC, -fsanitize=address)
NVHPC_NO_ACC OFF Deaktiverer OpenACC ved bruk av NVIDIA HPC SDK-kompilatorene og bygger CPU-versjonen

DEBUG-bygg

Når CMAKE_BUILD_TYPE=DEBUG er angitt, legges følgende kompilatorspesifikke feilsøkingsflagg til.

Kompilator Tilleggsflagg
GCC -fbounds-check -fbacktrace
Intel -check uninit,bound -traceback
cmake -DCMAKE_BUILD_TYPE=DEBUG ..

Bygging med GPU-støtte

Når NVIDIA HPC SDK (nvc/nvc++/nvfortran) angis som kompilator, legger CMake automatisk til følgende flagg.

Flagg Beskrivelse
-acc Aktiverer OpenACC
-Minfo=accel Viser informasjon om GPU-avlasting under kompilering
-gpu=ccnative,mem:managed Oppdager automatisk GPU-en i byggemiljøet for å bestemme målarkitekturen og bruker Unified Memory

Hvis -DNVHPC_NO_ACC=ON angis, legges ikke disse flaggene til.

Se Bygging med GPU-støtte for detaljerte prosedyrer for GPU-bygg med OpenACC.