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