Прескокнете до содржината

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 --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, се додаваат следните 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.