Translation update pending
The Bangla translation may be out of date because the Japanese source has changed. The existing translation remains available while it is being updated.
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 দ্বারা ডোমেইন বিভাজন সক্রিয় করে |
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) |
NVHPC_NO_ACC | OFF | NVIDIA HPC SDK কম্পাইলার ব্যবহার করলে OpenACC নিষ্ক্রিয় করে এবং CPU সংস্করণ বিল্ড করে |
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 স্বয়ংক্রিয়ভাবে সনাক্ত করে লক্ষ্য নির্ধারণ করে এবং একীভূত মেমরি ব্যবহার করে |
-DNVHPC_NO_ACC=ON নির্ধারণ করা হলে এই ফ্ল্যাগগুলো যোগ করা হয় না।
OpenACC-ভিত্তিক GPU বিল্ডের বিস্তারিত পদ্ধতির জন্য GPU ব্যবহার করে বিল্ড দেখুন।