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 сонголтууд¶
Анхдагч утга нь "илэрвэл 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 |
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 дэмжлэгтэйгээр бүтээх-ээс үзнэ үү.