براہِ راست مواد پر جائیں

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 استعمال کرتے ہوئے تعمیر دیکھیں۔