Kalo te përmbajtja

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.

cmake --build . --target install

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
cmake -DCMAKE_BUILD_TYPE=DEBUG ..

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.