Zum Inhalt

Translation update pending

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

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
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)
NVHPC_NO_ACC OFF Deaktiviert OpenACC bei Verwendung der NVIDIA HPC SDK-Compiler und baut die CPU-Version

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

Wenn -DNVHPC_NO_ACC=ON angegeben ist, werden diese Flags nicht hinzugefügt.

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