Obvezne in neobvezne odvisnosti¶
Ta stran opisuje knjižnice, potrebne za gradnjo FrontISTR, in neobvezne knjižnice, ki razširjajo njegove funkcionalnosti. Za navodila za namestitev posamezne knjižnice glejte dokumentacijo te knjižnice.
Obvezne odvisnosti¶
Za gradnjo FrontISTR so potrebna naslednja orodja in knjižnice.
| Knjižnica | Zahtevana različica | Namen |
|---|---|---|
| CMake | ≥ 3.13.4 | Sistem za gradnjo |
| Prevajalnik C/C++/Fortran | — | Prevajanje izvorne kode |
| MPI | — | Knjižnica za vzporedno komunikacijo (OpenMPI, IntelMPI itd.) |
Neobvezne odvisnosti¶
Naslednje knjižnice so neobvezne in jih je mogoče omogočiti med gradnjo glede na zahtevane funkcionalnosti. Za ustrezne možnosti CMake glejte Gradnjo s CMake.
| Knjižnica | Možnost CMake | Namen | Vir |
|---|---|---|---|
| METIS (v4/v5) | WITH_METIS | Razdelitev domene z razdeljevanjem grafa | Karypis Lab |
| MUMPS + ScaLAPACK | WITH_MUMPS | Vzporedni direktni reševalnik | MUMPS-Solver.org / Netlib |
| Intel oneAPI MKL | WITH_MKL | Direktni reševalnik (PARDISO), BLAS/LAPACK | Intel |
| OpenBLAS / LAPACK | WITH_LAPACK | Numerična linearna algebra (ocena pogojenosti) | OpenBLAS.net / Netlib |
| Trilinos ML | WITH_ML | Predpogojevanje AMG | Trilinos Project |
| REVOCAP_Refiner | WITH_REFINER | Zgoščevanje mreže | Stran za prenos FrontISTR |
| REVOCAP_Coupler | WITH_REVOCAP | Sklopljena analiza | Stran za prenos FrontISTR |
| NetCDF | WITH_NETCDF | Izpis v formatu Exodus II | Unidata |
| Doxygen | WITH_DOC | Ustvarjanje dokumentacije API | Doxygen.nl |
Dodatna orodja, potrebna za gradnjo za GPU¶
Pospeševanje FrontISTR na GPU je implementirano z uporabo OpenACC, trenutno preverjena konfiguracija pa uporablja NVIDIA HPC SDK. Poleg zgoraj navedenih obveznih knjižnic so za gradnjo za GPU potrebna naslednja orodja.
| Orodje | Namen | Vir |
|---|---|---|
NVIDIA HPC SDK (nvc, nvc++, nvfortran) | Prevajanje razbremenjevanja OpenACC na GPU | NVIDIA |
Za podrobnosti o postopku gradnje za GPU, vključno z ravnanjem z nepodprtimi knjižnicami, glejte Gradnjo za GPU.