কনটেন্টে যান

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 --build . --target install

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
cmake -DCMAKE_BUILD_TYPE=DEBUG ..

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 ব্যবহার করে বিল্ড দেখুন।