Агуулгыг алгасах

CMake ашиглан бүтээх

Энэ хуудсанд FrontISTR-ийн эх кодыг авахаас эхлээд бүтээх, суулгах хүртэлх үйл явцыг тайлбарлана. Хамааралтай сангуудын талаар Заавал шаардлагатай ба сонголттой хамаарлууд-ыг үзнэ үү.

Эх кодыг авах

FrontISTR-ийн эх кодыг GitLab эсвэл GitHub-оос авч болно.

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

# GitHub (толь)
git clone https://github.com/FrontISTR/FrontISTR.git

Бүтээх журам

FrontISTR нь эх кодын модноос тусдаа бүтээлт хийхийг шаарддаг (эх кодын мод дотор шууд бүтээхийг хориглоно). build директор үүсгээд дотор нь cmake ажиллуулна.

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

Бүтээсний дараа /path/to/FrontISTR/build/fistr1/fistr1 байдлаар шууд ажиллуулж болно. Системийн замд (CMAKE_INSTALL_PREFIX) суулгахын тулд нэмэлтээр дараах командыг ажиллуулна.

cmake --build . --target install

CMake сонголтууд

Анхдагч утга нь "илэрвэл ON" гэж тэмдэглэгдсэн сонголтууд нь cmake ажиллах үед тухайн сан системд олдвол автоматаар идэвхжинэ. -DWITH_XXX=OFF гэж зааж тодорхой идэвхгүй болгож болно.

Сонголт Анхдагч Тайлбар
WITH_MPI ON MPI параллель тооцооллыг идэвхжүүлнэ
WITH_OPENMP илэрвэл ON OpenMP thread параллель тооцооллыг идэвхжүүлнэ
WITH_METIS илэрвэл ON METIS ашигласан домэйн хуваалтыг идэвхжүүлнэ
METIS_VER_4 OFF METIS v4 ашиглана (OFF үед v5 ашиглана)
WITH_MUMPS илэрвэл ON MUMPS параллель шууд шийдэгчийг идэвхжүүлнэ
WITH_MKL илэрвэл ON Intel MKL (PARDISO-г багтаана)-г идэвхжүүлнэ
WITH_LAPACK илэрвэл ON LAPACK ашигласан нөхцлийн тооны үнэлгээг идэвхжүүлнэ
WITH_ML илэрвэл ON Trilinos ML ашигласан AMG урьдчилан нөхцөлжүүлэлтийг идэвхжүүлнэ
WITH_REFINER илэрвэл ON REVOCAP_Refiner ашигласан тор нарийвчлалыг идэвхжүүлнэ
WITH_REVOCAP илэрвэл ON REVOCAP_Coupler ашигласан хосолсон шинжилгээг идэвхжүүлнэ
WITH_TOOLS ON Дагалдах хэрэгслүүдийг бүтээнэ
WITH_DOC OFF Doxygen ашиглан API баримт бичиг үүсгэнэ
WITH_NETCDF илэрвэл ON Exodus II гаралтыг (NetCDF) идэвхжүүлнэ
WINDOWS OFF Windows-д зориулж бүтээхийг идэвхжүүлнэ
CMAKE_BUILD_TYPE RELEASE Бүтээлтийн төрөл (RELEASE / DEBUG)
CMAKE_INSTALL_PREFIX /usr/local Суулгах директор
DEBUG_EXTRA OFF Санах ойн алдагдал шалгахыг идэвхжүүлнэ (GCC-д -fsanitize=address)

DEBUG бүтээлт

CMAKE_BUILD_TYPE=DEBUG гэж заах үед компилятор тус бүрийн дараах debug flag-ууд нэмэгдэнэ.

Компилятор Нэмэлт flag
GCC -fbounds-check -fbacktrace
Intel -check uninit,bound -traceback
cmake -DCMAKE_BUILD_TYPE=DEBUG ..

GPU дэмжлэгтэйгээр бүтээх

NVIDIA HPC SDK (nvc/nvc++/nvfortran)-г компилятороор заах үед CMake дараах flag-уудыг автоматаар нэмнэ.

Flag Тайлбар
-acc OpenACC-г идэвхжүүлнэ
-Minfo=accel Компиляцийн үед GPU offload-ийн мэдээллийг харуулна
-gpu=ccnative,mem:managed Бүтээлтийн орчны GPU-г автоматаар илрүүлж зорилтот архитектурыг тодорхойлон Unified Memory ашиглана

OpenACC ашигласан GPU бүтээлтийн дэлгэрэнгүй журмыг GPU дэмжлэгтэйгээр бүтээх-ээс үзнэ үү.