Skip to content

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 આપમેળે શોધીને લક્ષ્ય નક્કી કરે છે અને યુનિફાઇડ મેમરી વાપરે છે

OpenACC દ્વારા GPU બિલ્ડની વિગતવાર પ્રક્રિયા માટે GPU નો ઉપયોગ કરીને બિલ્ડ જુઓ.