Иди на текст

Изградња помоћу 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 --build . --target install

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
cmake -DCMAKE_BUILD_TYPE=DEBUG ..

Изградња са GPU-ом

Када је NVIDIA HPC SDK (nvc/nvc++/nvfortran) наведен као компајлер, CMake аутоматски додаје следеће заставице.

Заставица Опис
-acc Омогућава OpenACC
-Minfo=accel Приказује информације о GPU offloading-у током компилације
-gpu=ccnative,mem:managed Аутоматски открива GPU у окружењу за изградњу ради одређивања циља и користи Unified Memory

За детаљан поступак изградње са GPU-ом помоћу OpenACC-а видети Изградња са GPU-ом.

AI-assisted translation May contain errors Official docs Status