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 ಆಯ್ಕೆಗಳು¶
ಪೂರ್ವನಿಯೋಜಿತ ಮೌಲ್ಯವನ್ನು “ಪತ್ತೆಯಾದಾಗ 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 ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪತ್ತೆಹಚ್ಚಿ ಗುರಿಯನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ ಮತ್ತು ಏಕೀಕೃತ ಮೆಮೊರಿ ಅನ್ನು ಬಳಸುತ್ತದೆ |
OpenACC ಮೂಲಕ GPU ಬಿಲ್ಡ್ ಮಾಡುವ ವಿವರವಾದ ಕ್ರಮಕ್ಕೆ GPU ಬಳಸಿ ಬಿಲ್ಡ್ ಮಾಡುವುದು ನೋಡಿ.