នីតិវិធីប៊ីលដ៍ដោយ 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¶
ជម្រើសដែលសរសេរថា "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 |
ប៊ីលដ៍ដោយប្រើ GPU¶
នៅពេលបញ្ជាក់ NVIDIA HPC SDK (nvc/nvc++/nvfortran) ជាកម្មវិធីចងក្រង CMake បន្ថែមទង់ខាងក្រោមដោយស្វ័យប្រវត្តិ។
| Flag | សេចក្តីពិពណ៌នា |
|---|---|
-acc | បើក OpenACC |
-Minfo=accel | បង្ហាញព័ត៌មាន GPU ការផ្ទេរការគណនានៅពេលចងក្រង |
-gpu=ccnative,mem:managed | រក GPU ក្នុងបរិស្ថានប៊ីលដ៍ដោយស្វ័យប្រវត្តិកំណត់គោលដៅនិងប្រើ Unified Memory |
សម្រាប់នីតិវិធីលម្អិតនៃ GPU ប៊ីលដ៍ដោយ OpenACC សូមមើល ប៊ីលដ៍ដោយប្រើ GPU។