අන්තර්ගතය වෙත යන්න

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)

දෝෂහරණ බිල්ඩ්

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 ස්වයංක්‍රීයව හඳුනාගෙන ඉලක්කය තීරණය කර ඒකාබද්ධ මතකය භාවිත කරයි

OpenACC භාවිත GPU බිල්ඩ් පිළිබඳ විස්තරාත්මක ක්‍රියාපටිපාටිය සඳහා GPU භාවිතයෙන් බිල්ඩ් කිරීම බලන්න.