Изградња помоћу CMake¶
Ова страница описује поступак од преузимања изворног кода FrontISTR-а до изградње и инсталације. За детаље о зависним библиотекама видети Обавезне и опционе зависности.
Преузимање изворног кода¶
Изворни код FrontISTR-а може се преузети са GitLab-а или GitHub-а.
# GitLab
git clone https://gitlab.com/FrontISTR-Commons/FrontISTR.git
# GitHub (mirror)
git clone https://github.com/FrontISTR/FrontISTR.git
Поступак изградње¶
FrontISTR претпоставља out-of-source изградњу (изградња директно у стаблу изворног кода је забрањена). Направите директоријум build и покрените cmake у њему.
cd FrontISTR
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DWITH_MPI=ON -DWITH_OPENMP=ON ..
make -j$(nproc)
Након изградње може се покренути директно као /path/to/FrontISTR/build/fistr1/fistr1. Да бисте га инсталирали у системску путању (CMAKE_INSTALL_PREFIX), додатно покрените следећу команду.
CMake опције¶
Опције чија је подразумевана вредност наведена као „ON ако је откривено“ аутоматски се омогућавају када се одговарајућа библиотека пронађе на систему приликом покретања cmake. Могу се изричито искључити задавањем -DWITH_XXX=OFF.
| Опција | Подразумевано | Опис |
|---|---|---|
WITH_MPI | ON | Омогућава MPI паралелизам |
WITH_OPENMP | ON ако је откривено | Омогућава OpenMP паралелизам нити |
WITH_METIS | ON ако је откривено | Омогућава поделу домена помоћу METIS-а |
METIS_VER_4 | OFF | Користи METIS v4 (OFF користи v5) |
WITH_MUMPS | ON ако је откривено | Омогућава MUMPS паралелни директни решавач |
WITH_MKL | ON ако је откривено | Омогућава Intel MKL (укључујући PARDISO) |
WITH_LAPACK | ON ако је откривено | Омогућава процену кондиционог броја помоћу LAPACK-а |
WITH_ML | ON ако је откривено | Омогућава AMG претходно условљавање помоћу Trilinos ML |
WITH_REFINER | ON ако је откривено | Омогућава згушњавање мреже помоћу REVOCAP_Refiner |
WITH_REVOCAP | ON ако је откривено | Омогућава спрегнуту анализу помоћу REVOCAP_Coupler |
WITH_TOOLS | ON | Изграђује укључене алате |
WITH_DOC | OFF | Генерише API документацију помоћу Doxygen-а |
WITH_NETCDF | ON ако је откривено | Омогућава Exodus II излаз (NetCDF) |
WINDOWS | OFF | Омогућава изградњу за Windows |
CMAKE_BUILD_TYPE | RELEASE | Тип изградње (RELEASE / DEBUG) |
CMAKE_INSTALL_PREFIX | /usr/local | Инсталациони директоријум |
DEBUG_EXTRA | OFF | Омогућава проверу цурења меморије (за GCC, -fsanitize=address) |
DEBUG изградња¶
Када је наведено CMAKE_BUILD_TYPE=DEBUG, додају се следеће заставице за отклањање грешака специфичне за компајлер.
| Компајлер | Додатне заставице |
|---|---|
| GCC | -fbounds-check -fbacktrace |
| Intel | -check uninit,bound -traceback |
Изградња са GPU-ом¶
Када је NVIDIA HPC SDK (nvc/nvc++/nvfortran) наведен као компајлер, CMake аутоматски додаје следеће заставице.
| Заставица | Опис |
|---|---|
-acc | Омогућава OpenACC |
-Minfo=accel | Приказује информације о GPU offloading-у током компилације |
-gpu=ccnative,mem:managed | Аутоматски открива GPU у окружењу за изградњу ради одређивања циља и користи Unified Memory |
За детаљан поступак изградње са GPU-ом помоћу OpenACC-а видети Изградња са GPU-ом.