Dipendenze obbligatorie e opzionali¶
Questa pagina descrive le librerie necessarie per compilare FrontISTR e le librerie opzionali che ne estendono le funzionalità. Per le istruzioni di installazione di ciascuna libreria, consultare la documentazione fornita dalla libreria stessa.
Dipendenze obbligatorie¶
Per compilare FrontISTR sono necessari i seguenti strumenti e librerie.
| Libreria | Requisito di versione | Scopo |
|---|---|---|
| CMake | ≥ 3.13.4 | Sistema di build |
| Compilatore C/C++/Fortran | — | Compilazione del codice sorgente |
| MPI | — | Libreria di comunicazione parallela (OpenMPI, IntelMPI, ecc.) |
Dipendenze opzionali¶
Le seguenti librerie sono opzionali e possono essere abilitate in fase di build in base alle funzionalità richieste. Per le corrispondenti opzioni CMake, vedere Compilazione con CMake.
| Libreria | Opzione CMake | Scopo | Fonte |
|---|---|---|---|
| METIS (v4/v5) | WITH_METIS | Partizionamento della mesh mediante partizionamento di grafi | Karypis Lab |
| MUMPS + ScaLAPACK | WITH_MUMPS | Solver diretto parallelo | MUMPS-Solver.org / Netlib |
| Intel oneAPI MKL | WITH_MKL | Solver diretto (PARDISO), BLAS/LAPACK | Intel |
| OpenBLAS / LAPACK | WITH_LAPACK | Algebra lineare numerica (stima del numero di condizionamento) | OpenBLAS.net / Netlib |
| Trilinos ML | WITH_ML | Precondizionamento AMG | Trilinos Project |
| REVOCAP_Refiner | WITH_REFINER | Raffinamento della mesh | Pagina di download di FrontISTR |
| REVOCAP_Coupler | WITH_REVOCAP | Analisi accoppiata | Pagina di download di FrontISTR |
| NetCDF | WITH_NETCDF | Output in formato Exodus II | Unidata |
| Doxygen | WITH_DOC | Generazione della documentazione API | Doxygen.nl |
Strumenti aggiuntivi necessari per le build GPU¶
L'accelerazione GPU di FrontISTR è implementata mediante OpenACC e la configurazione attualmente verificata utilizza NVIDIA HPC SDK. Oltre alle librerie obbligatorie elencate sopra, per le build GPU sono necessari i seguenti strumenti.
| Strumento | Scopo | Fonte |
|---|---|---|
NVIDIA HPC SDK (nvc, nvc++, nvfortran) | Compilazione dell'offloading GPU OpenACC | NVIDIA |
Per i dettagli della procedura di build GPU, compresa la gestione delle librerie non supportate, vedere Compilazione con supporto GPU.