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