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