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 пайдаланып құрастыру бөлімінен қараңыз.