Zum Inhalt

Build mit CMake

Diese Seite beschreibt den Ablauf vom Abrufen des FrontISTR-Quellcodes bis zum Build und zur Installation. Einzelheiten zu den Abhängigkeiten finden Sie unter Erforderliche und optionale Abhängigkeiten.

Quellcode abrufen

Der FrontISTR-Quellcode kann von GitLab oder GitHub abgerufen werden.

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

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

Build-Ablauf

FrontISTR setzt einen Out-of-Source-Build voraus (ein Build direkt im Quellbaum ist nicht zulässig). Erstellen Sie ein Verzeichnis build und führen Sie cmake darin aus.

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

Nach dem Build kann FrontISTR direkt als /path/to/FrontISTR/build/fistr1/fistr1 ausgeführt werden. Für die Installation in den Systempfad (CMAKE_INSTALL_PREFIX) führen Sie zusätzlich den folgenden Befehl aus.

cmake --build . --target install

CMake-Optionen

Optionen, deren Standardwert als „ON bei Erkennung“ angegeben ist, werden automatisch aktiviert, wenn cmake die entsprechende Bibliothek auf dem System findet. Sie können durch explizite Angabe von -DWITH_XXX=OFF deaktiviert werden.

Option Standard Beschreibung
WITH_MPI ON Aktiviert MPI-Parallelisierung
WITH_OPENMP ON bei Erkennung Aktiviert OpenMP-Threadparallelisierung
WITH_METIS ON bei Erkennung Aktiviert die Gebietszerlegung mit METIS
METIS_VER_4 OFF Verwendet METIS v4 (bei OFF wird v5 verwendet)
WITH_MUMPS ON bei Erkennung Aktiviert den parallelen direkten Solver MUMPS
WITH_MKL ON bei Erkennung Aktiviert Intel MKL (einschließlich PARDISO)
WITH_LAPACK ON bei Erkennung Aktiviert die Schätzung der Konditionszahl mit LAPACK
WITH_ML ON bei Erkennung Aktiviert AMG-Vorkonditionierung mit Trilinos ML
WITH_REFINER ON bei Erkennung Aktiviert die Netzverfeinerung mit REVOCAP_Refiner
WITH_REVOCAP ON bei Erkennung Aktiviert gekoppelte Analysen mit REVOCAP_Coupler
WITH_TOOLS ON Baut die mitgelieferten Werkzeuge
WITH_DOC OFF Erzeugt API-Dokumentation mit Doxygen
WITH_NETCDF ON bei Erkennung Aktiviert die Ausgabe im Exodus-II-Format (NetCDF)
WINDOWS OFF Aktiviert den Build für Windows
CMAKE_BUILD_TYPE RELEASE Build-Typ (RELEASE / DEBUG)
CMAKE_INSTALL_PREFIX /usr/local Installationsverzeichnis
DEBUG_EXTRA OFF Aktiviert die Prüfung auf Speicherlecks (für GCC, -fsanitize=address)

DEBUG-Build

Wenn CMAKE_BUILD_TYPE=DEBUG angegeben ist, werden abhängig vom Compiler die folgenden Debug-Flags hinzugefügt.

Compiler Zusätzliche Flags
GCC -fbounds-check -fbacktrace
Intel -check uninit,bound -traceback
cmake -DCMAKE_BUILD_TYPE=DEBUG ..

Build mit GPU

Wenn NVIDIA HPC SDK (nvc/nvc++/nvfortran) als Compiler angegeben wird, fügt CMake automatisch die folgenden Flags hinzu.

Flag Beschreibung
-acc Aktiviert OpenACC
-Minfo=accel Zeigt beim Kompilieren Informationen zum GPU-Offloading an
-gpu=ccnative,mem:managed Erkennt die GPU der Build-Umgebung automatisch, bestimmt daraus das Ziel und verwendet Unified Memory

Ausführliche Anweisungen zum GPU-Build mit OpenACC finden Sie unter Build mit GPU.