Ndërtimi me CMake¶
Kjo faqe përshkruan procedurën nga marrja e kodit burimor të FrontISTR deri te ndërtimi dhe instalimi. Për hollësi mbi bibliotekat e varësive, shihni Varësitë e detyrueshme dhe opsionale.
Marrja e kodit burimor¶
Kodi burimor i FrontISTR mund të merret nga GitLab ose GitHub.
# GitLab
git clone https://gitlab.com/FrontISTR-Commons/FrontISTR.git
# GitHub (mirror)
git clone https://github.com/FrontISTR/FrontISTR.git
Procedura e ndërtimit¶
FrontISTR supozon një ndërtim jashtë pemës së burimit (ndërtimi drejtpërdrejt në pemën e burimit është i ndaluar). Krijoni një drejtori build dhe ekzekutoni cmake brenda saj.
cd FrontISTR
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DWITH_MPI=ON -DWITH_OPENMP=ON ..
make -j$(nproc)
Pas ndërtimit, programi mund të ekzekutohet drejtpërdrejt si /path/to/FrontISTR/build/fistr1/fistr1. Për ta instaluar në shtegun e sistemit (CMAKE_INSTALL_PREFIX), ekzekutoni gjithashtu komandën e mëposhtme.
Opsionet e CMake¶
Opsionet, vlera e parazgjedhur e të cilave renditet si "ON nëse zbulohet", aktivizohen automatikisht kur biblioteka përkatëse gjendet në sistem gjatë ekzekutimit të cmake. Ato mund të çaktivizohen shprehimisht duke përcaktuar -DWITH_XXX=OFF.
| Opsioni | Vlera e parazgjedhur | Përshkrimi |
|---|---|---|
WITH_MPI | ON | Aktivizon paralelizmin MPI |
WITH_OPENMP | ON nëse zbulohet | Aktivizon paralelizmin me fije OpenMP |
WITH_METIS | ON nëse zbulohet | Aktivizon ndarjen në domene duke përdorur METIS |
METIS_VER_4 | OFF | Përdor METIS v4 (OFF përdor v5) |
WITH_MUMPS | ON nëse zbulohet | Aktivizon zgjidhësin direkt paralel MUMPS |
WITH_MKL | ON nëse zbulohet | Aktivizon Intel MKL (përfshirë PARDISO) |
WITH_LAPACK | ON nëse zbulohet | Aktivizon vlerësimin e numrit të kushtëzimit duke përdorur LAPACK |
WITH_ML | ON nëse zbulohet | Aktivizon parakushtëzimin AMG duke përdorur Trilinos ML |
WITH_REFINER | ON nëse zbulohet | Aktivizon rafinimin e rrjetës duke përdorur REVOCAP_Refiner |
WITH_REVOCAP | ON nëse zbulohet | Aktivizon analizën e çiftuar duke përdorur REVOCAP_Coupler |
WITH_TOOLS | ON | Ndërton mjetet e përfshira |
WITH_DOC | OFF | Gjeneron dokumentacionin e API-së me Doxygen |
WITH_NETCDF | ON nëse zbulohet | Aktivizon daljen Exodus II (NetCDF) |
WINDOWS | OFF | Aktivizon ndërtimin për Windows |
CMAKE_BUILD_TYPE | RELEASE | Lloji i ndërtimit (RELEASE / DEBUG) |
CMAKE_INSTALL_PREFIX | /usr/local | Drejtoria e instalimit |
DEBUG_EXTRA | OFF | Aktivizon kontrollin e rrjedhjeve të memories (për GCC, -fsanitize=address) |
Ndërtimi DEBUG¶
Kur përcaktohet CMAKE_BUILD_TYPE=DEBUG, shtohen flag-et e mëposhtëm të debug-ut, specifikë për kompiluesin.
| Kompiluesi | Flag-e shtesë |
|---|---|
| GCC | -fbounds-check -fbacktrace |
| Intel | -check uninit,bound -traceback |
Ndërtimi me mbështetje GPU¶
Kur NVIDIA HPC SDK (nvc/nvc++/nvfortran) përcaktohet si kompilues, CMake shton automatikisht flag-et e mëposhtëm.
| Flag-u | Përshkrimi |
|---|---|
-acc | Aktivizon OpenACC |
-Minfo=accel | Shfaq informacion mbi zhvendosjen e llogaritjeve në GPU gjatë kompilimit |
-gpu=ccnative,mem:managed | Zbulon automatikisht GPU-në në mjedisin e ndërtimit për të përcaktuar objektivin dhe përdor Unified Memory |
Për procedura të hollësishme të ndërtimit GPU me OpenACC, shihni Ndërtimi me mbështetje GPU.