Անցնել պարունակությանը

Կառուցման ընթացակարգ 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-ով
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 նշելու դեպքում ըստ կոմպիլյատորի ավելացվում են հետևյալ 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 offload-ի մասին տեղեկություն
-gpu=ccnative,mem:managed Ավտոմատ հայտնաբերում է կառուցման միջավայրի GPU-ն, որոշում թիրախը և օգտագործում Unified Memory

OpenACC-ով GPU կառուցման մանրամասն ընթացակարգի համար տե՛ս Կառուցում GPU-ի կիրառմամբ։