Tarkibga o'tish

CMake bilan yig‘ish

Ushbu sahifada FrontISTR manba kodini olishdan boshlab yig‘ish va o‘rnatishgacha bo‘lgan tartib bayon qilinadi. Bog‘liq kutubxonalar tafsilotlari uchun Majburiy va ixtiyoriy bog‘liqliklar ga qarang.

Manba kodini olish

FrontISTR manba kodini GitLab yoki GitHub dan olish mumkin.

# GitLab
git clone https://gitlab.com/FrontISTR-Commons/FrontISTR.git

# GitHub (mirror)
git clone https://github.com/FrontISTR/FrontISTR.git

Yig‘ish tartibi

FrontISTR manba daraxtidan tashqarida yig‘ishni talab qiladi (manba daraxtining o‘zida to‘g‘ridan-to‘g‘ri yig‘ish taqiqlangan). build katalogini yarating va cmake ni uning ichida ishga tushiring.

cd FrontISTR
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DWITH_MPI=ON -DWITH_OPENMP=ON ..
make -j$(nproc)

Yig‘ilgandan so‘ng uni /path/to/FrontISTR/build/fistr1/fistr1 sifatida bevosita ishga tushirish mumkin. Tizim yo‘liga (CMAKE_INSTALL_PREFIX) o‘rnatish uchun qo‘shimcha ravishda quyidagi buyruqni bajaring.

cmake --build . --target install

CMake parametrlari

Standart qiymati "aniqlansa ON" deb ko‘rsatilgan parametrlar cmake ishga tushirilganda tegishli kutubxona tizimda topilsa avtomatik yoqiladi. -DWITH_XXX=OFF ni ko‘rsatish orqali ularni aniq o‘chirib qo‘yish mumkin.

Parametr Standart Tavsif
WITH_MPI ON MPI parallelligini yoqadi
WITH_OPENMP Aniqlansa ON OpenMP oqimlar parallelligini yoqadi
WITH_METIS Aniqlansa ON METIS yordamida soha bo‘linishini yoqadi
METIS_VER_4 OFF METIS v4 dan foydalanadi (OFF v5 dan foydalanadi)
WITH_MUMPS Aniqlansa ON MUMPS parallel to‘g‘ridan-to‘g‘ri yechuvchisini yoqadi
WITH_MKL Aniqlansa ON Intel MKL ni (PARDISO bilan birga) yoqadi
WITH_LAPACK Aniqlansa ON LAPACK yordamida shartlanganlik sonini baholashni yoqadi
WITH_ML Aniqlansa ON Trilinos ML yordamida AMG oldindan shartlashni yoqadi
WITH_REFINER Aniqlansa ON REVOCAP_Refiner yordamida to‘rni mayda bo‘lishni yoqadi
WITH_REVOCAP Aniqlansa ON REVOCAP_Coupler yordamida bog‘langan tahlilni yoqadi
WITH_TOOLS ON Paket tarkibidagi vositalarni yig‘adi
WITH_DOC OFF Doxygen bilan API hujjatlarini yaratadi
WITH_NETCDF Aniqlansa ON Exodus II chiqishini (NetCDF) yoqadi
WINDOWS OFF Windows uchun yig‘ishni yoqadi
CMAKE_BUILD_TYPE RELEASE Yig‘ish turi (RELEASE / DEBUG)
CMAKE_INSTALL_PREFIX /usr/local O‘rnatish katalogi
DEBUG_EXTRA OFF Xotira sizib chiqishini tekshirishni yoqadi (GCC uchun -fsanitize=address)

DEBUG yig‘ish

CMAKE_BUILD_TYPE=DEBUG ko‘rsatilganda quyidagi kompilyatorga xos nosozliklarni aniqlash bayroqlari qo‘shiladi.

Kompilyator Qo‘shimcha bayroqlar
GCC -fbounds-check -fbacktrace
Intel -check uninit,bound -traceback
cmake -DCMAKE_BUILD_TYPE=DEBUG ..

GPU bilan yig‘ish

NVIDIA HPC SDK (nvc/nvc++/nvfortran) kompilyator sifatida ko‘rsatilganda CMake quyidagi bayroqlarni avtomatik qo‘shadi.

Bayroq Tavsif
-acc OpenACC ni yoqadi
-Minfo=accel Kompilyatsiya vaqtida GPU ga offload haqida ma’lumot ko‘rsatadi
-gpu=ccnative,mem:managed Maqsadni aniqlash uchun yig‘ish muhitidagi GPU ni avtomatik aniqlaydi va Unified Memory dan foydalanadi

OpenACC bilan GPU uchun yig‘ishning batafsil tartibi uchun GPU bilan yig‘ish ga qarang.

AI-assisted translation May contain errors Official docs Status