Dependências obrigatórias e opcionais¶
Esta página descreve as bibliotecas necessárias para fazer o build do FrontISTR e as bibliotecas opcionais que ampliam suas funcionalidades. Para instruções de instalação de cada biblioteca, consulte a documentação fornecida pela própria biblioteca.
Dependências obrigatórias¶
As ferramentas e bibliotecas a seguir são obrigatórias para fazer o build do FrontISTR.
| Biblioteca | Requisito de versão | Finalidade |
|---|---|---|
| CMake | ≥ 3.13.4 | Sistema de build |
| Compilador C/C++/Fortran | — | Compilação do código-fonte |
| MPI | — | Biblioteca de comunicação paralela (OpenMPI, IntelMPI etc.) |
Dependências opcionais¶
As bibliotecas a seguir são opcionais e podem ser habilitadas durante o build de acordo com a funcionalidade necessária. Consulte Build com CMake para as opções CMake correspondentes.
| Biblioteca | Opção CMake | Finalidade | Fonte |
|---|---|---|---|
| METIS (v4/v5) | WITH_METIS |
Decomposição de domínio por particionamento de grafos | Karypis Lab |
| MUMPS + ScaLAPACK | WITH_MUMPS |
Solver direto paralelo | MUMPS-Solver.org / Netlib |
| Intel oneAPI MKL | WITH_MKL |
Solver direto (PARDISO), BLAS/LAPACK | Intel |
| OpenBLAS / LAPACK | WITH_LAPACK |
Álgebra linear numérica (estimativa do número de condição) | OpenBLAS.net / Netlib |
| Trilinos ML | WITH_ML |
Pré-condicionamento AMG | Trilinos Project |
| REVOCAP_Refiner | WITH_REFINER |
Refinamento de malha | Página de download do FrontISTR |
| REVOCAP_Coupler | WITH_REVOCAP |
Análise acoplada | Página de download do FrontISTR |
| NetCDF | WITH_NETCDF |
Saída no formato Exodus II | Unidata |
| Doxygen | WITH_DOC |
Geração da documentação da API | Doxygen.nl |
Ferramentas adicionais necessárias para builds com GPU¶
A aceleração por GPU do FrontISTR é implementada usando OpenACC, e a configuração atualmente verificada para operação utiliza o NVIDIA HPC SDK. Além das bibliotecas obrigatórias listadas acima, as ferramentas a seguir são necessárias para builds com GPU.
| Ferramenta | Finalidade | Fonte |
|---|---|---|
NVIDIA HPC SDK (nvc, nvc++, nvfortran) |
Compilação do offloading para GPU com OpenACC | NVIDIA |
Para detalhes do procedimento de build com GPU, incluindo o tratamento de bibliotecas não suportadas, consulte Build com GPU.