Vereiste en opsionele afhanklikheidsbiblioteke¶
Hierdie bladsy beskryf die biblioteke wat nodig is om FrontISTR te bou, asook die opsionele biblioteke wat die funksionaliteit uitbrei. Raadpleeg die dokumentasie van elke biblioteek vir installasie-instruksies.
Vereiste afhanklikheidsbiblioteke¶
Die volgende gereedskap en biblioteke is nodig om FrontISTR te bou.
| Biblioteek | Weergawevereiste | Doel |
|---|---|---|
| CMake | ≥ 3.13.4 | Boustelsel |
| C/C++/Fortran-samesteller | — | Samestelling van die bronkode |
| MPI | — | Parallelle kommunikasiebiblioteek (OpenMPI, IntelMPI, ens.) |
Opsionele afhanklikheidsbiblioteke¶
Die volgende biblioteke is opsioneel en kan tydens bou geaktiveer word volgens die funksionaliteit wat benodig word. Sien Bou met CMake vir die ooreenstemmende CMake-opsies.
| Biblioteek | CMake-opsie | Doel | Bron |
|---|---|---|---|
| METIS (v4/v5) | WITH_METIS | Domeinontbinding deur grafiekpartisionering | Karypis Lab |
| MUMPS + ScaLAPACK | WITH_MUMPS | Parallelle direkte oplosser | MUMPS-Solver.org / Netlib |
| Intel oneAPI MKL | WITH_MKL | Direkte oplosser (PARDISO), BLAS/LAPACK | Intel |
| OpenBLAS / LAPACK | WITH_LAPACK | Numeriese lineêre algebra (skatting van kondisiegetal) | OpenBLAS.net / Netlib |
| Trilinos ML | WITH_ML | AMG-voorwaardering | Trilinos Project |
| REVOCAP_Refiner | WITH_REFINER | Maasverfyning | FrontISTR-aflaaibladsy |
| REVOCAP_Coupler | WITH_REVOCAP | Gekoppelde analise | FrontISTR-aflaaibladsy |
| NetCDF | WITH_NETCDF | Uitvoer in Exodus II-formaat | Unidata |
| Doxygen | WITH_DOC | Generering van API-dokumentasie | Doxygen.nl |
Bykomende gereedskap vir GPU-boue¶
FrontISTR se GPU-versnelling is met OpenACC geïmplementeer, en werking is tans geverifieer met 'n konfigurasie wat die NVIDIA HPC SDK gebruik. Benewens die vereiste biblioteke hierbo, is die volgende gereedskap nodig vir GPU-boue.
| Gereedskap | Doel | Bron |
|---|---|---|
NVIDIA HPC SDK (nvc, nvc++, nvfortran) | Samestelling van OpenACC GPU-aflaai | NVIDIA |
Vir besonderhede van die GPU-bouprosedure, insluitend die hantering van nie-ondersteunde biblioteke, sien Bou met GPU.