Skip to content

Utaratibu wa kujenga kwa CMake

Ukurasa huu unaeleza utaratibu wa kupata msimbo chanzo wa FrontISTR, kuujenga na kuusakinisha. Kwa maelezo ya maktaba tegemezi, tazama Maktaba tegemezi zinazohitajika na za hiari.

Kupata msimbo chanzo

Msimbo chanzo wa FrontISTR unaweza kupatikana kutoka GitLab au GitHub.

# GitLab
git clone https://gitlab.com/FrontISTR-Commons/FrontISTR.git

# GitHub (mirror)
git clone https://github.com/FrontISTR/FrontISTR.git

Utaratibu wa kujenga

FrontISTR inatarajia out-of-source build (kujenga moja kwa moja chini ya mzizi wa source tree hakuruhusiwi). Unda directory ya build na utekeleze cmake ndani yake.

cd FrontISTR
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DWITH_MPI=ON -DWITH_OPENMP=ON ..
make -j$(nproc)

Baada ya kujenga, inaweza kutekelezwa moja kwa moja kama /path/to/FrontISTR/build/fistr1/fistr1. Ili kuisakinisha kwenye path ya mfumo (CMAKE_INSTALL_PREFIX), tekeleza yafuatayo pia.

cmake --build . --target install

Orodha ya chaguo za CMake

Chaguo zilizoandikwa “ON inapogunduliwa” huwezeshwa kiotomatiki ikiwa maktaba hiyo inapatikana kwenye mfumo wakati cmake inatekelezwa. Inaweza kulemazwa kwa kubainisha wazi -DWITH_XXX=OFF.

Chaguo Chaguo-msingi Maelezo
WITH_MPI ON Huwezesha usambamba wa MPI
WITH_OPENMP ON inapogunduliwa Huwezesha usambamba wa thread wa OpenMP
WITH_METIS ON inapogunduliwa Huwezesha ugawaji wa kikoa kwa METIS
METIS_VER_4 OFF Hutumia METIS v4 (OFF hutumia v5)
WITH_MUMPS ON inapogunduliwa Huwezesha solver ya moja kwa moja sambamba ya MUMPS
WITH_MKL ON inapogunduliwa Huwezesha Intel MKL (ikiwemo PARDISO)
WITH_LAPACK ON inapogunduliwa Huwezesha ukadiriaji wa condition number kwa LAPACK
WITH_ML ON inapogunduliwa Huwezesha preconditioning ya AMG kwa Trilinos ML
WITH_REFINER ON inapogunduliwa Huwezesha ugawanyaji mdogo wa mesh kwa REVOCAP_Refiner
WITH_REVOCAP ON inapogunduliwa Huwezesha uchanganuzi uliounganishwa kwa REVOCAP_Coupler
WITH_TOOLS ON Hujenga zana zinazohusiana
WITH_DOC OFF Huzalisha nyaraka za API kwa Doxygen
WITH_NETCDF ON inapogunduliwa Huwezesha matokeo ya umbizo la Exodus II (NetCDF)
WINDOWS OFF Huwezesha build ya Windows
CMAKE_BUILD_TYPE RELEASE Aina ya build (RELEASE / DEBUG)
CMAKE_INSTALL_PREFIX /usr/local Directory ya kusakinisha
DEBUG_EXTRA OFF Huwezesha ukaguzi wa memory leak (kwa GCC, -fsanitize=address)

DEBUG build

Ukibainisha CMAKE_BUILD_TYPE=DEBUG, flag zifuatazo za debugging huongezwa kulingana na compiler.

Compiler Flag zinazoongezwa
GCC -fbounds-check -fbacktrace
Intel -check uninit,bound -traceback
cmake -DCMAKE_BUILD_TYPE=DEBUG ..

Kujenga kwa GPU

Unapobainisha NVIDIA HPC SDK (nvc/nvc++/nvfortran) kama compiler, CMake huongeza flag zifuatazo kiotomatiki.

Flag Maelezo
-acc Huwezesha OpenACC
-Minfo=accel Huonyesha taarifa za GPU offload wakati wa compilation
-gpu=ccnative,mem:managed Hutambua GPU ya mazingira ya build kiotomatiki ili kuamua target na hutumia Unified Memory

Kwa utaratibu wa kina wa GPU build kwa OpenACC, tazama Kujenga kwa GPU.

AI-assisted translation May contain errors Official docs Status