సమాచారానికి వెళ్లండి

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