Gå til indholdet

Translation update pending

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

Bygning med CMake

Denne side beskriver proceduren fra hentning af FrontISTR-kildekoden til bygning og installation. Se Nødvendige og valgfrie afhængigheder for detaljer om afhængighedsbibliotekerne.

Hentning af kildekoden

FrontISTR-kildekoden kan hentes fra GitLab eller GitHub.

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

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

Byggeprocedure

FrontISTR forudsætter en out-of-source-bygning (bygning direkte i kildetræet er forbudt). Opret en build-mappe, og 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 bygningen kan programmet køres direkte som /path/to/FrontISTR/build/fistr1/fistr1. For at installere det i systemstien (CMAKE_INSTALL_PREFIX) skal følgende kommando desuden køres.

cmake --build . --target install

CMake-optioner

Optioner, hvis standardværdi er angivet som "ON hvis fundet", aktiveres automatisk, når det tilsvarende bibliotek findes på systemet ved kørsel af cmake. De kan deaktiveres eksplicit ved at angive -DWITH_XXX=OFF.

Option Standard Beskrivelse
WITH_MPI ON Aktiverer MPI-parallelitet
WITH_OPENMP ON hvis fundet Aktiverer OpenMP-trådparallelitet
WITH_METIS ON hvis fundet Aktiverer meshpartitionering med METIS
WITH_MUMPS ON hvis fundet Aktiverer den parallelle direkte MUMPS-løser
WITH_MKL ON hvis fundet Aktiverer Intel MKL (inklusive PARDISO)
WITH_LAPACK ON hvis fundet Aktiverer estimering af konditionstal med LAPACK
WITH_ML ON hvis fundet Aktiverer AMG-prækonditionering med Trilinos ML
WITH_REFINER ON hvis fundet Aktiverer meshforfining med REVOCAP_Refiner
WITH_REVOCAP ON hvis fundet Aktiverer koblet analyse med REVOCAP_Coupler
WITH_TOOLS ON Bygger de medfølgende værktøjer
WITH_DOC OFF Genererer API-dokumentation med Doxygen
WITH_NETCDF ON hvis fundet Aktiverer Exodus II-output (NetCDF)
WINDOWS OFF Aktiverer bygning til Windows
CMAKE_BUILD_TYPE RELEASE Byggetype (RELEASE / DEBUG)
CMAKE_INSTALL_PREFIX /usr/local Installationsmappe
DEBUG_EXTRA OFF Aktiverer kontrol for hukommelseslækager (for GCC, -fsanitize=address)
NVHPC_NO_ACC OFF Deaktiverer OpenACC ved brug af NVIDIA HPC SDK-kompilatorerne og bygger CPU-versionen

DEBUG-bygning

Når CMAKE_BUILD_TYPE=DEBUG angives, tilføjes følgende compiler-specifikke debugflag.

Compiler Yderligere flag
GCC -fbounds-check -fbacktrace
Intel -check uninit,bound -traceback
cmake -DCMAKE_BUILD_TYPE=DEBUG ..

Bygning med en GPU

Når NVIDIA HPC SDK (nvc/nvc++/nvfortran) angives som compiler, tilføjer CMake automatisk følgende flag.

Flag Beskrivelse
-acc Aktiverer OpenACC
-Minfo=accel Viser oplysninger om GPU-offloading under kompilering
-gpu=ccnative,mem:managed Registrerer automatisk GPU'en i byggemiljøet for at bestemme målet og bruger Unified Memory

Hvis -DNVHPC_NO_ACC=ON angives, tilføjes disse flag ikke.

Se Bygning med en GPU for den detaljerede procedure for GPU-bygninger med OpenACC.