Bygging með CMake¶
Þessi síða lýsir ferlinu frá því að ná í frumkóða FrontISTR til byggingar og uppsetningar. Nánari upplýsingar um háð söfn eru í Nauðsynlegum og valfrjálsum háðum.
Að ná í frumkóðann¶
Hægt er að ná í frumkóða FrontISTR frá GitLab eða GitHub.
# GitLab
git clone https://gitlab.com/FrontISTR-Commons/FrontISTR.git
# GitHub (spegill)
git clone https://github.com/FrontISTR/FrontISTR.git
Byggingarferli¶
FrontISTR gerir ráð fyrir byggingu utan frumkóðatrésins (bygging beint í frumkóðatrénu er óheimil). Búið til möppuna build og keyrið cmake inni í henni.
cd FrontISTR
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DWITH_MPI=ON -DWITH_OPENMP=ON ..
make -j$(nproc)
Eftir byggingu má keyra forritið beint sem /path/to/FrontISTR/build/fistr1/fistr1. Til að setja það upp á kerfisslóðina (CMAKE_INSTALL_PREFIX) skal einnig keyra eftirfarandi skipun.
CMake-valkostir¶
Valkostir sem hafa sjálfgefið gildið „ON ef greint“ eru virkjaðir sjálfkrafa þegar samsvarandi safn finnst í kerfinu við keyrslu cmake. Hægt er að gera þá óvirka sérstaklega með -DWITH_XXX=OFF.
| Valkostur | Sjálfgefið | Lýsing |
|---|---|---|
WITH_MPI | ON | Virkjar MPI-samhliðavinnslu |
WITH_OPENMP | ON ef greint | Virkjar OpenMP-þráðasamhliðavinnslu |
WITH_METIS | ON ef greint | Virkjar svæðaskiptingu með METIS |
METIS_VER_4 | OFF | Notar METIS v4 (OFF notar v5) |
WITH_MUMPS | ON ef greint | Virkjar MUMPS-samhliða beina leysinn |
WITH_MKL | ON ef greint | Virkjar Intel MKL (þar með talið PARDISO) |
WITH_LAPACK | ON ef greint | Virkjar mat á skilyrðistölu með LAPACK |
WITH_ML | ON ef greint | Virkjar AMG-forskilyrðingu með Trilinos ML |
WITH_REFINER | ON ef greint | Virkjar möskvafínun með REVOCAP_Refiner |
WITH_REVOCAP | ON ef greint | Virkjar samtengda greiningu með REVOCAP_Coupler |
WITH_TOOLS | ON | Byggir meðfylgjandi verkfæri |
WITH_DOC | OFF | Býr til API-skjölun með Doxygen |
WITH_NETCDF | ON ef greint | Virkjar Exodus II-úttak (NetCDF) |
WINDOWS | OFF | Virkjar byggingu fyrir Windows |
CMAKE_BUILD_TYPE | RELEASE | Byggingartegund (RELEASE / DEBUG) |
CMAKE_INSTALL_PREFIX | /usr/local | Uppsetningarmappa |
DEBUG_EXTRA | OFF | Virkjar athugun á minnisleka (fyrir GCC, -fsanitize=address) |
DEBUG-bygging¶
Þegar CMAKE_BUILD_TYPE=DEBUG er tilgreint bætast eftirfarandi þýðandasértæku kembiflögg við.
| Þýðandi | Viðbótarflögg |
|---|---|
| GCC | -fbounds-check -fbacktrace |
| Intel | -check uninit,bound -traceback |
Bygging með GPU¶
Þegar NVIDIA HPC SDK (nvc/nvc++/nvfortran) er tilgreint sem þýðandi bætir CMake sjálfkrafa eftirfarandi flöggum við.
| Flag | Lýsing |
|---|---|
-acc | Virkjar OpenACC |
-Minfo=accel | Birtir upplýsingar um GPU-afhleðslu við þýðingu |
-gpu=ccnative,mem:managed | Greinir GPU í byggingarumhverfinu sjálfkrafa til að ákvarða markið og notar Unified Memory |
Nákvæmt verklag fyrir GPU-byggingu með OpenACC er í Bygging með GPU.