ವಿಷಯಕ್ಕೆ ತೆರಳಿ

CMake ಮೂಲಕ ಬಿಲ್ಡ್ ಮಾಡುವ ಕ್ರಮ

ಈ ಪುಟದಲ್ಲಿ FrontISTR ಮೂಲ ಕೋಡ್ ಪಡೆಯುವುದರಿಂದ ಹಿಡಿದು ಬಿಲ್ಡ್ ಮತ್ತು ಸ್ಥಾಪನೆವರೆಗೆ ಬೇಕಾದ ಕ್ರಮವನ್ನು ವಿವರಿಸಲಾಗಿದೆ. ಅವಲಂಬಿತ ಲೈಬ್ರರಿಗಳ ವಿವರಗಳಿಗೆ ಅಗತ್ಯ ಮತ್ತು ಐಚ್ಛಿಕ ಅವಲಂಬನೆಗಳು ನೋಡಿ.

ಮೂಲ ಕೋಡ್ ಪಡೆಯುವುದು

FrontISTR ಮೂಲ ಕೋಡ್ ಅನ್ನು GitLab ಅಥವಾ GitHub ನಿಂದ ಪಡೆಯಬಹುದು.

# GitLab
git clone https://gitlab.com/FrontISTR-Commons/FrontISTR.git

# GitHub (mirror)
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 ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪತ್ತೆಹಚ್ಚಿ ಗುರಿಯನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ ಮತ್ತು ಏಕೀಕೃತ ಮೆಮೊರಿ ಅನ್ನು ಬಳಸುತ್ತದೆ

OpenACC ಮೂಲಕ GPU ಬಿಲ್ಡ್ ಮಾಡುವ ವಿವರವಾದ ಕ್ರಮಕ್ಕೆ GPU ಬಳಸಿ ಬಿಲ್ಡ್ ಮಾಡುವುದು ನೋಡಿ.