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 សន្មត out-of-ប្រភពប៊ីលដ៍ (ហាមប៊ីលដ៍ដោយផ្ទាល់នៅ root នៃប្រភព tree)។ បង្កើតថត 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 នៅពេលរកឃើញ បើក AMG បុរេលក្ខខណ្ឌដោយ Trilinos ML
WITH_REFINER ON នៅពេលរកឃើញ បើកការបំបែកមេសលម្អិតដោយ REVOCAP_Refiner
WITH_REVOCAP ON នៅពេលរកឃើញ បើកភ្ជាប់គ្នាការវិភាគដោយ REVOCAP_Coupler
WITH_TOOLS ON ប៊ីលដ៍ឧបករណ៍ដែលភ្ជាប់មកជាមួយ
WITH_DOC OFF បង្កើត API ឯកសារដោយ Doxygen
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 បន្ថែមទង់ខាងក្រោមដោយស្វ័យប្រវត្តិ។

Flag សេចក្តីពិពណ៌នា
-acc បើក OpenACC
-Minfo=accel បង្ហាញព័ត៌មាន GPU ការផ្ទេរការគណនានៅពេលចងក្រង
-gpu=ccnative,mem:managed រក GPU ក្នុងបរិស្ថានប៊ីលដ៍ដោយស្វ័យប្រវត្តិកំណត់គោលដៅនិងប្រើ Unified Memory

សម្រាប់នីតិវិធីលម្អិតនៃ GPU ប៊ីលដ៍ដោយ OpenACC សូមមើល ប៊ីលដ៍ដោយប្រើ GPU