შიგთავსზე გადასვლა

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 ნაკადური პარალელიზაციის ჩართვა
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
cmake -DCMAKE_BUILD_TYPE=DEBUG ..

GPU-ით აგება

თუ კომპილატორებად მითითებულია NVIDIA HPC SDK (nvc/nvc++/nvfortran), CMake ავტომატურად ამატებს შემდეგ ალმებს.

ალამი აღწერა
-acc OpenACC-ის ჩართვა
-Minfo=accel კომპილაციისას GPU-ზე გამოთვლის გადატანის ინფორმაციის ჩვენება
-gpu=ccnative,mem:managed აგების გარემოს GPU-ის ავტომატურად აღმოჩენა სამიზნის დასადგენად და Unified Memory-ის გამოყენება

OpenACC-ით GPU აგების დეტალური პროცედურისთვის იხილეთ GPU-ით აგება.

AI-assisted translation May contain errors Official docs Status