Dependências obrigatórias e opcionais¶
Esta página descreve as bibliotecas necessárias para compilar o FrontISTR e as bibliotecas opcionais que expandem as suas funcionalidades. Para os procedimentos de instalação de cada biblioteca, consulte a respetiva documentação.
Dependências obrigatórias¶
As ferramentas e bibliotecas seguintes são necessárias para compilar o FrontISTR.
| Biblioteca | Requisito de versão | Finalidade |
|---|---|---|
| CMake | ≥ 3.13.4 | Sistema de compilação |
| Compilador C/C++/Fortran | — | Compilação do código-fonte |
| MPI | — | Biblioteca de comunicação paralela (OpenMPI, IntelMPI, etc.) |
Dependências opcionais¶
As bibliotecas seguintes são opcionais e podem ser ativadas durante a compilação consoante as funcionalidades necessárias. Para as opções CMake correspondentes, consulte Procedimento de compilação com CMake.
| 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 |
Precondicionamento 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 de documentação da API | Doxygen.nl |
Ferramentas adicionais necessárias para compilações com GPU¶
A aceleração por GPU do FrontISTR é implementada com OpenACC e, atualmente, foi verificado o funcionamento numa configuração que utiliza o NVIDIA HPC SDK. Além das bibliotecas obrigatórias acima indicadas, são necessárias as ferramentas seguintes para compilações com GPU.
| Ferramenta | Finalidade | Fonte |
|---|---|---|
NVIDIA HPC SDK (nvc, nvc++, nvfortran) |
Compilação de offloading para GPU com OpenACC | NVIDIA |
Para obter detalhes sobre o procedimento de compilação para GPU, incluindo o tratamento de bibliotecas não suportadas, consulte Compilação com GPU.