Translation update pending
The Latvian translation may be out of date because the Japanese source has changed. The existing translation remains available while it is being updated.
Kompilēšana ar CMake¶
Šajā lapā aprakstīta procedūra no FrontISTR pirmkoda iegūšanas līdz kompilēšanai un instalēšanai. Informāciju par atkarību bibliotēkām skatiet sadaļā Obligātās un izvēles atkarības.
Pirmkoda iegūšana¶
FrontISTR pirmkodu var iegūt no GitLab vai GitHub.
# GitLab
git clone https://gitlab.com/FrontISTR-Commons/FrontISTR.git
# GitHub (spogulis)
git clone https://github.com/FrontISTR/FrontISTR.git
Kompilēšanas procedūra¶
FrontISTR paredz kompilēšanu ārpus pirmkoda koka (kompilēšana tieši pirmkoda kokā ir aizliegta). Izveidojiet direktoriju build un tajā palaidiet cmake.
cd FrontISTR
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DWITH_MPI=ON -DWITH_OPENMP=ON ..
make -j$(nproc)
Pēc kompilēšanas to var palaist tieši kā /path/to/FrontISTR/build/fistr1/fistr1. Lai instalētu sistēmas ceļā (CMAKE_INSTALL_PREFIX), papildus izpildiet šādu komandu.
CMake opcijas¶
Opcijas, kuru noklusējums norādīts kā "ON, ja noteikts", tiek automātiski iespējotas, ja cmake palaišanas laikā sistēmā tiek atrasta atbilstošā bibliotēka. Tās var skaidri atspējot, norādot -DWITH_XXX=OFF.
| Opcija | Noklusējums | Apraksts |
|---|---|---|
WITH_MPI | ON | Iespējo MPI paralēlismu |
WITH_OPENMP | ON, ja noteikts | Iespējo OpenMP pavedienu paralēlismu |
WITH_METIS | ON, ja noteikts | Iespējo apgabala dekompozīciju, izmantojot METIS |
WITH_MUMPS | ON, ja noteikts | Iespējo MUMPS paralēlo tiešo risinātāju |
WITH_MKL | ON, ja noteikts | Iespējo Intel MKL (tostarp PARDISO) |
WITH_LAPACK | ON, ja noteikts | Iespējo nosacītības skaitļa novērtēšanu, izmantojot LAPACK |
WITH_ML | ON, ja noteikts | Iespējo AMG priekšnosacīšanu, izmantojot Trilinos ML |
WITH_REFINER | ON, ja noteikts | Iespējo tīkla precizēšanu, izmantojot REVOCAP_Refiner |
WITH_REVOCAP | ON, ja noteikts | Iespējo saistīto analīzi, izmantojot REVOCAP_Coupler |
WITH_TOOLS | ON | Kompilē komplektā iekļautos rīkus |
WITH_DOC | OFF | Ģenerē API dokumentāciju ar Doxygen |
WITH_NETCDF | ON, ja noteikts | Iespējo Exodus II izvadi (NetCDF) |
WINDOWS | OFF | Iespējo kompilēšanu Windows videi |
CMAKE_BUILD_TYPE | RELEASE | Kompilēšanas tips (RELEASE / DEBUG) |
CMAKE_INSTALL_PREFIX | /usr/local | Instalēšanas direktorija |
DEBUG_EXTRA | OFF | Iespējo atmiņas noplūžu pārbaudi (GCC gadījumā -fsanitize=address) |
NVHPC_NO_ACC | OFF | Atspējo OpenACC, ja tiek izmantoti NVIDIA HPC SDK kompilatori, un būvē CPU versiju |
DEBUG kompilēšana¶
Ja ir norādīts CMAKE_BUILD_TYPE=DEBUG, tiek pievienoti šādi kompilatoram specifiski atkļūdošanas karogi.
| Kompilators | Papildu karogi |
|---|---|
| GCC | -fbounds-check -fbacktrace |
| Intel | -check uninit,bound -traceback |
Kompilēšana ar GPU¶
Ja kā kompilators ir norādīts NVIDIA HPC SDK (nvc/nvc++/nvfortran), CMake automātiski pievieno šādus karogus.
| Karogs | Apraksts |
|---|---|
-acc | Iespējo OpenACC |
-Minfo=accel | Kompilēšanas laikā parāda informāciju par aprēķinu pārvietošanu uz GPU |
-gpu=ccnative,mem:managed | Automātiski nosaka kompilēšanas vidē esošo GPU, lai noteiktu mērķi, un izmanto vienoto atmiņu |
Ja norādīts -DNVHPC_NO_ACC=ON, šie karodziņi netiek pievienoti.
Detalizētu OpenACC GPU kompilēšanas procedūru skatiet sadaļā Kompilēšana ar GPU.