Slaan oor na inhoud

Bou met CMake

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

Verkryging die Bronkode

Die FrontISTR bronkode kan wees verkry van GitLab of GitHub.

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

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

Bouprosedure

FrontISTR assumes 'n buite-bron-bou (bou direk in die bronboom is verbode). Skep 'n build gids en voer uit cmake binne dit.

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

Na die bou, dit kan wees voer uit direk as /path/to/FrontISTR/build/fistr1/fistr1. Na installeer dit in die stelselpad (CMAKE_INSTALL_PREFIX), daarbenewens voer uit die volgende opdrag.

cmake --build . --target install

CMake Opsies

Opsies waarvan verstek is gelys as "ON indien bespeur" is geaktiveer outomaties wanneer die ooreenstemmende biblioteek is gevind op die stelsel wanneer cmake is voer uit. Hulle kan wees gedeaktiveer uitdruklik deur spesifisering -DWITH_XXX=OFF.

Opsie Verstek Beskrywing
WITH_MPI ON Maak moontlik MPI parallelisme
WITH_OPENMP ON indien bespeur Maak moontlik OpenMP thread parallelisme
WITH_METIS ON indien bespeur Maak moontlik domeinverdeling met behulp van METIS
METIS_VER_4 OFF Gebruik METIS v4 (OFF gebruik v5)
WITH_MUMPS ON indien bespeur Maak moontlik die MUMPS parallel direkte oplosser
WITH_MKL ON indien bespeur Maak moontlik Intel MKL (insluitend PARDISO)
WITH_LAPACK ON indien bespeur Maak moontlik voorwaarde-number estimation met behulp van LAPACK
WITH_ML ON indien bespeur Maak moontlik AMG voorwaardering met behulp van Trilinos ML
WITH_REFINER ON indien bespeur Maak moontlik maas verfyning met behulp van REVOCAP_Refiner
WITH_REVOCAP ON indien bespeur Maak moontlik coupled analise met behulp van REVOCAP_Coupler
WITH_TOOLS ON Bou die bundled gereedskap
WITH_DOC OFF Generates API dokumentasie met Doxygen
WITH_NETCDF ON indien bespeur Maak moontlik Exodus II uitvoer (NetCDF)
WINDOWS OFF Maak moontlik bou vir Windows
CMAKE_BUILD_TYPE RELEASE Boutipe (RELEASE / DEBUG)
CMAKE_INSTALL_PREFIX /usr/local Installasie gids
DEBUG_EXTRA OFF Maak moontlik geheuelekkasie kontrolering (vir GCC, -fsanitize=address)

DEBUG Bou

Wanneer CMAKE_BUILD_TYPE=DEBUG word gespesifiseer, die volgende samestellerspesifiek ontfoutvlae is 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) word gespesifiseer as die samesteller, CMake outomaties voeg by die volgende vlae.

Flag Beskrywing
-acc Maak moontlik OpenACC
-Minfo=accel Displays inligting oor GPU offloading by compile tyd
-gpu=ccnative,mem:managed Outomaties detects die GPU in die bou omgewing na bepaal die doel en gebruik Unified Memory

Vir gedetailleerd prosedures vir GPU bou met OpenACC, sien Bou met 'n GPU.

AI-assisted translation May contain errors Official docs Status