உள்ளடக்கத்திற்கு செல்க

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