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) |
දෝෂහරණ බිල්ඩ්¶
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 ස්වයංක්රීයව හඳුනාගෙන ඉලක්කය තීරණය කර ඒකාබද්ධ මතකය භාවිත කරයි |
OpenACC භාවිත GPU බිල්ඩ් පිළිබඳ විස්තරාත්මක ක්රියාපටිපාටිය සඳහා GPU භාවිතයෙන් බිල්ඩ් කිරීම බලන්න.