Slaan oor na inhoud

Bou met CMake

Hierdie bladsy beskryf die prosedure vanaf die verkryging van die FrontISTR-bronkode tot bou en installasie. Vir besonderhede oor afhanklike biblioteke, sien Vereiste en opsionele afhanklikhede.

Verkryging van die bronkode

Die FrontISTR-bronkode kan van GitLab of GitHub verkry word.

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

# GitHub (spieël)
git clone https://github.com/FrontISTR/FrontISTR.git

Bouprosedure

FrontISTR veronderstel ’n bou buite die bronboom (dit is verbode om direk in die bronboom te bou). Skep ’n build-gids en voer cmake daarin uit.

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

Na die bou kan dit direk as /path/to/FrontISTR/build/fistr1/fistr1 uitgevoer word. Om dit in die stelselpad (CMAKE_INSTALL_PREFIX) te installeer, voer ook die volgende opdrag uit.

cmake --build . --target install

CMake-opsies

Opsies waarvan die verstek as "AAN indien opgespoor" aangedui word, word outomaties geaktiveer wanneer die ooreenstemmende biblioteek op die stelsel gevind word wanneer cmake uitgevoer word. Hulle kan uitdruklik gedeaktiveer word deur -DWITH_XXX=OFF te spesifiseer.

Opsie Verstek Beskrywing
WITH_MPI ON Aktiveer MPI-parallelisme
WITH_OPENMP AAN indien opgespoor Aktiveer OpenMP-draadparallelisme
WITH_METIS AAN indien opgespoor Aktiveer domeinverdeling met METIS
METIS_VER_4 OFF Gebruik METIS v4 (OFF gebruik v5)
WITH_MUMPS AAN indien opgespoor Aktiveer die MUMPS parallelle direkte oplosser
WITH_MKL AAN indien opgespoor Aktiveer Intel MKL (insluitend PARDISO)
WITH_LAPACK AAN indien opgespoor Aktiveer kondisiegetalberaming met LAPACK
WITH_ML AAN indien opgespoor Aktiveer AMG-voorafkondisionering met Trilinos ML
WITH_REFINER AAN indien opgespoor Aktiveer maasverfyning met REVOCAP_Refiner
WITH_REVOCAP AAN indien opgespoor Aktiveer gekoppelde analise met REVOCAP_Coupler
WITH_TOOLS ON Bou die gebundelde nutsmiddels
WITH_DOC OFF Genereer API-dokumentasie met Doxygen
WITH_NETCDF AAN indien opgespoor Aktiveer Exodus II-uitvoer (NetCDF)
WINDOWS OFF Aktiveer bou vir Windows
CMAKE_BUILD_TYPE RELEASE Boutipe (RELEASE / DEBUG)
CMAKE_INSTALL_PREFIX /usr/local Installasiegids
DEBUG_EXTRA OFF Aktiveer geheuelekkontrole (vir GCC, -fsanitize=address)

DEBUG-bou

Wanneer CMAKE_BUILD_TYPE=DEBUG gespesifiseer word, word die volgende samestellerspesifieke ontfoutingsvlae bygevoeg.

Samesteller Bykomende vlae
GCC -fbounds-check -fbacktrace
Intel -check uninit,bound -traceback
cmake -DCMAKE_BUILD_TYPE=DEBUG ..

Bou met ’n GPU

Wanneer NVIDIA HPC SDK (nvc/nvc++/nvfortran) as die samesteller gespesifiseer word, voeg CMake die volgende vlae outomaties by.

Vlag Beskrywing
-acc Aktiveer OpenACC
-Minfo=accel Vertoon tydens samestelling inligting oor GPU-aflaai
-gpu=ccnative,mem:managed Bespeur die GPU in die bou-omgewing outomaties om die teiken te bepaal en gebruik Unified Memory

Vir gedetailleerde prosedures vir GPU-boue met OpenACC, sien Bou met ’n GPU.