Dependențe obligatorii și opționale¶
Această pagină descrie bibliotecile necesare pentru compilarea FrontISTR și bibliotecile opționale care îi extind funcționalitatea. Pentru instrucțiuni privind instalarea fiecărei biblioteci, consultați documentația furnizată de biblioteca respectivă.
Dependențe obligatorii¶
Următoarele instrumente și biblioteci sunt necesare pentru compilarea FrontISTR.
| Bibliotecă | Cerință de versiune | Scop |
|---|---|---|
| CMake | ≥ 3.13.4 | Sistem de compilare |
| Compilator C/C++/Fortran | — | Compilarea codului sursă |
| MPI | — | Bibliotecă pentru comunicație paralelă (OpenMPI, IntelMPI etc.) |
Dependențe opționale¶
Următoarele biblioteci sunt opționale și pot fi activate în timpul compilării în funcție de funcționalitatea necesară. Consultați Compilarea cu CMake pentru opțiunile CMake corespunzătoare.
| Bibliotecă | Opțiune CMake | Scop | Sursă |
|---|---|---|---|
| METIS (v4/v5) | WITH_METIS |
Descompunerea domeniului prin partiționarea grafului | Karypis Lab |
| MUMPS + ScaLAPACK | WITH_MUMPS |
Solver direct paralel | MUMPS-Solver.org / Netlib |
| Intel oneAPI MKL | WITH_MKL |
Solver direct (PARDISO), BLAS/LAPACK | Intel |
| OpenBLAS / LAPACK | WITH_LAPACK |
Algebră liniară numerică (estimarea numărului de condiționare) | OpenBLAS.net / Netlib |
| Trilinos ML | WITH_ML |
Precondiționare AMG | Trilinos Project |
| REVOCAP_Refiner | WITH_REFINER |
Rafinarea plasei | Pagina de descărcare FrontISTR |
| REVOCAP_Coupler | WITH_REVOCAP |
Analiză cuplată | Pagina de descărcare FrontISTR |
| NetCDF | WITH_NETCDF |
Ieșire în format Exodus II | Unidata |
| Doxygen | WITH_DOC |
Generarea documentației API | Doxygen.nl |
Instrumente suplimentare necesare pentru compilări GPU¶
Accelerarea GPU a FrontISTR este implementată folosind OpenACC, iar configurația verificată în prezent pentru funcționare utilizează NVIDIA HPC SDK. Pe lângă bibliotecile obligatorii enumerate mai sus, pentru compilările GPU sunt necesare următoarele instrumente.
| Instrument | Scop | Sursă |
|---|---|---|
NVIDIA HPC SDK (nvc, nvc++, nvfortran) |
Compilarea offloading-ului GPU OpenACC | NVIDIA |
Pentru detalii despre procedura de compilare GPU, inclusiv tratarea bibliotecilor neacceptate, consultați Compilare GPU.