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 பயன்படுத்தி உருவாக்குதல் ஐக் காண்க.