Иди на текст

Translation update pending

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

Изградња помоћу 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-а
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)
NVHPC_NO_ACC OFF Онемогућава OpenACC при употреби NVIDIA HPC SDK компајлера и изграђује CPU верзију

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

Када је задато -DNVHPC_NO_ACC=ON, ове заставице се не додају.

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