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 ნაკადური პარალელიზაციის ჩართვა |
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-ის მითითებისას კომპილატორის მიხედვით ემატება შემდეგი გამართვის ალმები.
| კომპილატორი | დამატებითი ალმები |
|---|---|
| GCC | -fbounds-check -fbacktrace |
| Intel | -check uninit,bound -traceback |
GPU-ით აგება¶
თუ კომპილატორებად მითითებულია NVIDIA HPC SDK (nvc/nvc++/nvfortran), CMake ავტომატურად ამატებს შემდეგ ალმებს.
| ალამი | აღწერა |
|---|---|
-acc | OpenACC-ის ჩართვა |
-Minfo=accel | კომპილაციისას GPU-ზე გამოთვლის გადატანის ინფორმაციის ჩვენება |
-gpu=ccnative,mem:managed | აგების გარემოს GPU-ის ავტომატურად აღმოჩენა სამიზნის დასადგენად და Unified Memory-ის გამოყენება |
OpenACC-ით GPU აგების დეტალური პროცედურისთვის იხილეთ GPU-ით აგება.