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 ఉపయోగించి బిల్డ్ చేయడం చూడండి.