Translation update pending
The Macedonian 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-опции¶
Опциите чија стандардна вредност е наведена како „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, се додаваат следните 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 |
Кога е зададено -DNVHPC_NO_ACC=ON, овие знаменца не се додаваат.
За детална постапка за GPU-градење со OpenACC, видете Градење со GPU.