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

Translation update pending

The Armenian 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 Միացնում է 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)
NVHPC_NO_ACC OFF Անջատում է OpenACC-ը NVIDIA HPC SDK-ի կոմպիլյատորներն օգտագործելիս և կառուցում է CPU տարբերակը

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

Եթե նշված է -DNVHPC_NO_ACC=ON, այս դրոշակները չեն ավելացվում։

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