Gå til innhold

Bygge med CMake

Denne siden beskriver fremgangsmåten fra henting av FrontISTR-kildekoden til bygging og installasjon. Se Obligatoriske 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 domenedekomponering med METIS
METIS_VER_4 OFF Bruker METIS v4 (OFF bruker v5)
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)

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

Bygge med GPU

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

Se Bygge med GPU for detaljerte prosedyrer for GPU-bygg med OpenACC.

AI-assisted translation May contain errors Official docs Status