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 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 |
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.