CMake ilə qurma¶
Bu səhifədə FrontISTR mənbə kodunun əldə edilməsindən qurma və quraşdırmaya qədər prosedur təsvir edilir. Asılı kitabxanaların təfərrüatları üçün Tələb olunan və əlavə asılılıqlar bölməsinə baxın.
Mənbə kodunun əldə edilməsi¶
FrontISTR mənbə kodunu GitLab və ya GitHub-dan əldə etmək olar.
# GitLab
git clone https://gitlab.com/FrontISTR-Commons/FrontISTR.git
# GitHub (güzgü)
git clone https://github.com/FrontISTR/FrontISTR.git
Qurma proseduru¶
FrontISTR mənbədən kənar qurmanı nəzərdə tutur (birbaşa mənbə ağacında qurmaq qadağandır). build qovluğu yaradın və cmake-i onun daxilində başladın.
cd FrontISTR
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DWITH_MPI=ON -DWITH_OPENMP=ON ..
make -j$(nproc)
Qurmadan sonra proqramı birbaşa /path/to/FrontISTR/build/fistr1/fistr1 kimi işə salmaq olar. Onu sistem yoluna (CMAKE_INSTALL_PREFIX) quraşdırmaq üçün əlavə olaraq aşağıdakı əmri icra edin.
CMake seçimləri¶
Standart qiyməti "aşkar edilərsə ON" kimi göstərilən seçimlər cmake işə salındıqda müvafiq kitabxana sistemdə tapılarsa avtomatik aktivləşdirilir. -DWITH_XXX=OFF göstərməklə onları açıq şəkildə söndürmək olar.
| Seçim | Standart | Təsvir |
|---|---|---|
WITH_MPI | ON | MPI paralelliyini aktivləşdirir |
WITH_OPENMP | aşkar edilərsə ON | OpenMP axın paralelliyini aktivləşdirir |
WITH_METIS | aşkar edilərsə ON | METIS ilə oblastların bölünməsini aktivləşdirir |
METIS_VER_4 | OFF | METIS v4-dən istifadə edir (OFF v5-dən istifadə edir) |
WITH_MUMPS | aşkar edilərsə ON | MUMPS paralel birbaşa həlledicisini aktivləşdirir |
WITH_MKL | aşkar edilərsə ON | Intel MKL-i (PARDISO daxil olmaqla) aktivləşdirir |
WITH_LAPACK | aşkar edilərsə ON | LAPACK ilə şərtlənmə ədədinin qiymətləndirilməsini aktivləşdirir |
WITH_ML | aşkar edilərsə ON | Trilinos ML ilə AMG önşərtləndirməsini aktivləşdirir |
WITH_REFINER | aşkar edilərsə ON | REVOCAP_Refiner ilə torun incəldilməsini aktivləşdirir |
WITH_REVOCAP | aşkar edilərsə ON | REVOCAP_Coupler ilə əlaqələndirilmiş analizi aktivləşdirir |
WITH_TOOLS | ON | Daxil edilmiş alətləri qurur |
WITH_DOC | OFF | Doxygen ilə API sənədlərini yaradır |
WITH_NETCDF | aşkar edilərsə ON | Exodus II çıxışını (NetCDF) aktivləşdirir |
WINDOWS | OFF | Windows üçün qurmanı aktivləşdirir |
CMAKE_BUILD_TYPE | RELEASE | Qurma növü (RELEASE / DEBUG) |
CMAKE_INSTALL_PREFIX | /usr/local | Quraşdırma qovluğu |
DEBUG_EXTRA | OFF | Yaddaş sızmasının yoxlanmasını aktivləşdirir (GCC üçün -fsanitize=address) |
DEBUG qurması¶
CMAKE_BUILD_TYPE=DEBUG göstərildikdə aşağıdakı kompilyatora xas sazlama bayraqları əlavə olunur.
| Kompilyator | Əlavə bayraqlar |
|---|---|
| GCC | -fbounds-check -fbacktrace |
| Intel | -check uninit,bound -traceback |
GPU ilə qurma¶
NVIDIA HPC SDK (nvc/nvc++/nvfortran) kompilyator kimi göstərildikdə CMake aşağıdakı bayraqları avtomatik əlavə edir.
| Bayraq | Təsvir |
|---|---|
-acc | OpenACC-ni aktivləşdirir |
-Minfo=accel | Kompilyasiya zamanı GPU offloading haqqında məlumatı göstərir |
-gpu=ccnative,mem:managed | Hədəfi müəyyən etmək üçün qurma mühitində GPU-nu avtomatik aşkar edir və Unified Memory-dən istifadə edir |
OpenACC ilə GPU quruluşlarının ətraflı proseduru üçün GPU ilə qurma bölməsinə baxın.